✉️ 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