Detector de noticias falsas (REAL / FAKE) basado en Procesamiento de Lenguaje Natural (NLP) y Regresión Logística.
Incluye script de entrenamiento y una aplicación web de demostración con Streamlit.
| Métrica | Valor |
|---|---|
| Algoritmo Base | Regresión Logística (Simbolista) |
| Precisión (Accuracy) | ≈ 98.5% |
| Datos de Entrenamiento | ≈ 44,000 Noticias |
| Vectorización | TF-IDF (Term Frequency - Inverse Document Frequency) |
- Fuentes: Fake and Real News (Kaggle). Datos cargados de
Fake.csvyTrue.csv(aprox. 44,000 documentos en total). - Ingeniería de Características: Se combinó el campo
titleytextpara proporcionar al modelo un contexto semántico máximo. - Limpieza (NLP):
- Eliminación de stopwords y puntuación.
- Anti-Sesgo Crítico: Se eliminaron los metadatos de fuente
(Ej:
WASHINGTON (REUTERS) -) para asegurar que el modelo se enfoque en el contenido y no en la fuente.
- División: Conjunto de entrenamiento (80%) y prueba (20%).
- Herramienta:
TfidfVectorizer. - Configuración Clave: Se configuró para usar un
ngram_range=(1, 2)(Unigramas y Bi-gramas) para capturar frases clave, y se limitó a las 5,000 features más importantes (max_features=5000).
- Modelo: Regresión Logística por su velocidad, eficiencia e interpretabilidad.
- Persistencia: Se guardó el modelo (
modelo_fake_news.pkl) y el vectorizador (vectorizer_tfidf.pkl) con joblib.
git clone https://github.com/MisaelCast/Proyecto-IA.git
cd Proyecto-IApython3 -m venv .venv
source .venv/bin/activatepip install pandas nltk scikit-learn joblib streamlitpython3 fake_news_ia.pystreamlit run app.py