Criando um detector de spam
Treine com mensagens rotuladas.
Criando um detector de spam é uma aula grátis de NLP Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de NLP Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de NLP Academy inclui 4 aulas no total.
Seu primeiro modelo real
É hora de construir algo útil: um filtro de spam. Você treinará um classificador com mensagens rotuladas e deixará que ele avalie mensagens totalmente novas.
Comece com dados rotulados
Todo modelo supervisionado precisa de exemplos com respostas. Aqui, cada mensagem vem com um rótulo de spam ou legítima, o nome amigável para uma mensagem que não é spam.
messages = ["win cash now", "lunch at noon?", "free prize click"]
labels = ["spam", "ham", "spam"]
print(len(messages), len(labels))Transforme texto em números
O modelo não consegue ler palavras brutas, então você deve contá-las primeiro. Um CountVectorizer converte cada mensagem em uma linha de contagens de palavras.
from sklearn.feature_extraction.text import CountVectorizer
vec = CountVectorizer()
X = vec.fit_transform(messages)Conheça o MultinomialNB
Para contagens de palavras, a ferramenta certa é o MultinomialNB, a variante do Naive Bayes baseada em contagens e integrada ao scikit-learn.
from sklearn.naive_bayes import MultinomialNB
model = MultinomialNB()Ajuste o modelo
O treinamento ocupa uma linha: forneça ao modelo suas características e seus rótulos. A chamada fit conta as palavras por classe e armazena as probabilidades.
model.fit(X, labels)
print("trained on", X.shape[0], "messages")Preveja novos e-mails
Para avaliar uma mensagem nova, transforme-a em vetor da mesma maneira e chame predict. O modelo retorna seu melhor palpite de spam ou mensagem legítima.
new = vec.transform(["free cash prize"])
print(model.predict(new))Reutilize o transformador de vetores
Textos novos precisam usar o mesmo vocabulário aprendido pelo modelo. Sempre chame transform, nunca faça o ajuste novamente, ou as colunas não ficarão alinhadas.
Veja o nível de confiança
Além do rótulo, o modelo pode informar o quanto está seguro. O método predict_proba fornece uma probabilidade para cada classe possível.
print(model.predict_proba(new))Separe um conjunto de teste
Nunca avalie um modelo com os dados usados para treiná-lo. Separe um conjunto de teste para medir seu desempenho em mensagens que ele não viu.
Avalie o filtro
Execute previsões nas mensagens reservadas para avaliação e compare-as com a verdade. Essa precisão informa se o seu filtro de spam realmente funciona. 📬
Itere para melhorar
Mais dados limpos e um pré-processamento melhor elevam os resultados rapidamente. Trate este filtro como uma linha de base que pode ser aprimorada continuamente, não como um produto finalizado.
Verificação rápida
Como o senhor deve preparar uma nova mensagem antes de fazer uma previsão sobre ela?
Recapitulação
O senhor vetorizou mensagens, treinou MultinomialNB e previu spam em um texto novo. Reutilizar o vetorizador ajustado mantém seus atributos alinhados. ✅
Aprenda Python com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 30
- Aulas
- 120
Perguntas Frequentes
A aula “Criando um detector de spam” é grátis?
Sim — o texto completo de “Criando um detector de spam” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de NLP Academy, atualize para CoddyKit PRO. O curso de NLP Academy inclui 4 aulas no total.
O que vou aprender em “Criando um detector de spam”?
Treine com mensagens rotuladas. Você pratica NLP Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar NLP Academy?
Nenhuma experiência prévia é necessária. NLP Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Criando um detector de spam”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de NLP Academy?
Sim. Cada aula de NLP Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- A intuição por trás do Naive Bayes
- Criando um detector de spam
- Modelos multinomiais versus Bernoulli
- Lendo as previsões do modelo