Skip to content

cicerohenryque/Spam-Classifier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spam-Classifier

Sistema de classificação de mensagens como spam ou não spam (ham). O sistema tem a função de analisar o conteúdo das mensagens e determinar sua categoria, contribuindo para a redução do recebimento de mensagens indesejadas.

Este projeto foi desenvolvido como parte da disciplina de Processamento de Linguagem Natural, utilizando técnicas de Machine Learning para classificar SMS.

Estrutura do Projeto

Spam-Classifier/
├── data/
│   └── spam.csv
├── notebooks/
│   └── Projeto_IA_Classificar_Spam.py
├── src/
│   ├── data_preprocessing.py
│   ├── model_training.py
│   └── main.py
├── .gitignore
├── README.md
└── requirements.txt

Como Executar

  1. Clone o repositório:

    git clone https://github.com/seu-usuario/Spam-Classifier.git
    cd Spam-Classifier
  2. Instale as dependências:

    pip install -r requirements.txt
  3. Fluxo de Trabalho

    O projeto agora opera em três modos distintos: train, evaluate e predict.

    Passo 1: Treinar o Modelo

    Primeiro, você deve treinar um modelo e salvá-lo. O comando a seguir treina o modelo com a melhor configuração encontrada (Regressão Logística, Bag of Words e balanceamento de classes) e salva os artefatos na pasta /models.

    python -m src.main train --model lr --vectorizer bow --balance

    Você pode experimentar outras combinações, como nb (Naive Bayes) e tfidf.

    Passo 2: Avaliar o Modelo (Análise do spam.csv)

    Para analisar a performance do modelo salvo em toda a base de dados, use o comando evaluate. Ele irá gerar um relatório de performance e salvar um arquivo evaluation_results.csv na pasta /evaluation com a previsão para cada mensagem do dataset.

    python -m src.main evaluate

    Este passo permite uma análise detalhada de onde o modelo acerta e erra.

    Passo 3: Prever Novas Mensagens (Testes Prontos)

    Com o modelo treinado, você pode classificar novas mensagens instantaneamente usando o comando predict.

    python -m src.main predict --message "Congratulations! You've won a $1000 gift card. Click here to claim."
    python -m src.main predict --message "Hi mom, I'll be home for dinner."

Dataset

O conjunto de dados utilizado é o SMS Spam Collection Database, disponível no Kaggle. Ele contém 5,574 mensagens SMS rotuladas como "spam" ou "ham".

About

Sistema de classificação de mensagens como spam ou não spam (ham). O sistema tem a função de analisar o conteúdo das mensagens e determinar sua categoria, contribuindo para a redução do recebimento de mensagens indesejadas.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages