devlog.blog

✉️ Criando sua Primeira IA com Python: Detector de Spam

✉️ Criando sua Primeira IA com Python: Detector de Spam

Quer uma IA útil para você e seu currículo?

Neste post, você vai aprender como montar um detector de e-mails spam usando Python, mesmo que esteja começando agora no mundo da programação e da IA.

Vamos usar dados reais, um modelo simples e o famoso algoritmo Naive Bayes, muito usado em classificadores de texto.

Relaxa, não é tão complexo quanto você imagina😅

🧠 O que vamos construir?

Você vai criar uma IA que, ao receber um e-mail, diz se ele é:

  • 📪 Spam (propaganda, golpes, etc.)
  • 📫 Ham (e-mail legítimo)

Tudo isso usando um modelo básico de machine learning supervisionado.


⚙️ O que você precisa?

  • Python instalado (use Google Colab se quiser evitar instalação)
  • Conhecimento básico em programação
  • Bibliotecas: sklearn, pandas

Você pode instalar com:

pip install scikit-learn pandas

📦 Passo a Passo – Detector de Spam com Python

1. 🔽 Importar bibliotecas e carregar dados

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.metrics import accuracy_score

# Baixar dataset real
url = "https://raw.githubusercontent.com/justmarkham/pycon-2016-tutorial/master/data/sms.tsv"
data = pd.read_csv(url, sep='\t', names=["label", "message"])

print(data.head())

2.🧹 Preparar os dados

# Convertendo labels para 0 (ham) e 1 (spam)
data['label'] = data['label'].map({'ham': 0, 'spam': 1})

# Separando entrada e saída
X = data['message']
y = data['label']

3. ✂️ Dividir entre treino e teste

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

4. 🧮 Vetorizar o texto

vectorizer = CountVectorizer()
X_train_counts = vectorizer.fit_transform(X_train)
X_test_counts = vectorizer.transform(X_test)

5. 🧠 Treinar o modelo

model = MultinomialNB()
model.fit(X_train_counts, y_train)

6.🔍 Testar a IA

y_pred = model.predict(X_test_counts)
print("Acurácia:", accuracy_score(y_test, y_pred))

💬 Testando sua IA com novas frases

def testar_frase(frase):
    entrada = vectorizer.transform([frase])
    resultado = model.predict(entrada)
    return "🚫 SPAM" if resultado[0] == 1 else "✅ HAM (legítimo)"

print(testar_frase("Ganhe dinheiro fácil agora!!!"))
print(testar_frase("Oi, tudo bem? Vamos almoçar amanhã?"))

✅ Conclusão

Você acabou de criar uma IA funcional com menos de 50 linhas de código!
E melhor: aprendeu conceitos-chave de machine learning, vetorização de texto e classificação com Naive Bayes.

Essa IA pode ser aprimorada com:

  • Análise de sentimentos
  • Classificação de notícias falsas
  • Filtros automáticos de comentários ofensivos

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *