Essa é a parte 21 de 24 na série Python + IA: Fundamentos e Projetos Práticos
- Ambiente, Sintaxe Básica e Variáveis em Python — Bootcamp Dia 1
- Como Trabalhar com Listas no Python — Bootcamp Dia 6
- Tuplas e Sets em Python — Estruturas Imutáveis e Conjuntos Inteligentes | Bootcamp Dia 7
- Dicionários em Python: chave e valor, o jeito inteligente de armazenar dados
- Funções em Python: Escreva Menos, Faça Mais
- Tratamento de Erros em Python: programe com segurança
- Leitura e Escrita de Arquivos em Python: salve seus dados no mundo real
- Salvando Dados Estruturados com JSON em Python
- Funções com Múltiplos Retornos em Python: eficiência e organização
- Parâmetros Opcionais e Valores Padrão em Python
- *args e **kwargs em Python: flexibilidade total nas funções
- List Comprehensions em Python: código elegante e eficiente
- Manipulando Arquivos CSV com Python: automatize leitura e escrita de dados
- Começando com Pandas em Python: análise de dados para IA e automações
- Limpeza e Transformação de Dados com Pandas: preparando para IA
- Inteligência Artificial com Python: Fundamentos e Primeira Integração com a OpenAI
- Classificação de Texto com IA: Detectando Temas e Categorias
- Geração de Texto com IA: Criando Respostas Inteligentes com Python
- Chatbot com IA em Python: Construindo um Assistente Inteligente
- Como Detectar Fake News com Python e IA
- Como Criar uma Interface com IA em Python para Detectar Fake News
- Como Avaliar a Qualidade de um Modelo de IA com Python — Além da Acurácia
- Como Balancear Dados e Validar Modelos com Python e IA
- Projeto Final: Criando um Classificador de Fake News com Interface Web em Python (Streamlit)
Hoje vamos transformar nosso modelo em um mini-sistema interativo, onde o usuário digita uma notícia e a IA responde se é verdadeira ou falsa.
🧠 O que estamos fazendo
Até agora:
- Lemos dados reais com
pandas
- Vetorizamos texto com
TfidfVectorizer
- Treinamos um classificador com
PassiveAggressiveClassifier
- Avaliamos acurácia
Agora, vamos criar uma interface no terminal para o usuário testar a IA com entradas manuais!
✍️ Código do dia: classificador_interativo.py
import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.linear_model import PassiveAggressiveClassifier
# 1. Carrega e prepara os dados
df = pd.read_csv("fake_news_dataset_v2.csv")
df = df[['text', 'label']].dropna()
# 2. Vetoriza todos os dados
vectorizer = TfidfVectorizer(stop_words='english', max_df=0.7)
X = vectorizer.fit_transform(df['text'])
y = df['label']
# 3. Treina o modelo com todos os dados disponíveis
model = PassiveAggressiveClassifier(max_iter=50)
model.fit(X, y)
# 4. Inicia interface interativa
print("🧠 IA Detectora de Fake News iniciada!")
print("Digite uma notícia para saber se ela é FAKE ou REAL. Digite 'sair' para encerrar.\n")
while True:
entrada = input("📝 Digite a notícia: ")
if entrada.strip().lower() == 'sair':
print("👋 Encerrando o classificador. Até a próxima!")
break
entrada_vec = vectorizer.transform([entrada])
predicao = model.predict(entrada_vec)[0]
print(f"📣 Classificação: {predicao}\n")
✅ O que você aprendeu hoje
- Como usar um modelo treinado para prever novos dados
- Como transformar um script de IA em uma ferramenta interativa
- Como aplicar IA em casos reais e dinâmicos
💡 Dica: você pode agora criar uma interface gráfica com tkinter
ou enviar essa entrada de texto via formulário de um site.
🎯 Desafio para praticar
Crie uma variação do classificador com:
- Exibição da probabilidade da previsão (use
predict_proba()
com outro modelo, comoLogisticRegression
) - Contagem de quantas notícias foram testadas
- Log dos resultados salvos num arquivo
.csv