Skip to content

ErwanAce/TweetClassifier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tweet Classifier

CI

Projet de classification automatique de tweets suspects utilisant des techniques de Machine Learning.

Fonctionnalités

  • Prétraitement des tweets
  • Analyse exploratoire des données (EDA)
  • Vectorisation TF-IDF
  • Entraînement de plusieurs modèles
    • Naive Bayes
    • Logistic Regression
    • Linear SVM
  • Sélection automatique du meilleur modèle
  • Optimisation par Grid Search
  • Évaluation complète
    • Accuracy
    • Precision
    • Recall
    • F1-score
    • Matrice de confusion
    • Courbe ROC
    • AUC
  • Déploiement avec Streamlit
  • Versionnement des données avec DVC
  • Suivi des expérimentations avec MLflow
  • Pipeline CI/CD avec GitHub Actions

Structure du projet

TweetClassifier
│
├── .github/
│   └── workflows/
│       └── ml_pipeline.yml
│
├── data/
│   ├── raw/
│   └── processed/
│
├── models/
│
├── notebooks/
│
├── reports/
│
├── src/
│   ├── preprocess.py
│   ├── train.py
│   ├── evaluate.py
│   ├── optimize.py
│   └── predict.py
│
├── app.py
├── dvc.yaml
├── dvc.lock
├── requirements.txt
└── README.md

Installation

Créer un environnement virtuel :

python -m venv .venv

Activation :

Windows

.venv\Scripts\activate

Installer les dépendances :

pip install -r requirements.txt

Prétraitement

python src/preprocess.py

Entraînement

python src/train.py

Évaluation

python src/evaluate.py

Optimisation

python src/optimize.py

Prédiction

python src/predict.py

Interface Streamlit

streamlit run app.py

MLflow

Lancer l'interface MLflow :

mlflow ui

Puis ouvrir :

http://127.0.0.1:5000

DVC

Reproduire le pipeline :

dvc repro

Envoyer les données vers le stockage DVC :

dvc push

GitHub Actions

Le pipeline CI exécute automatiquement :

  • Prétraitement
  • Entraînement
  • Évaluation

à chaque Push sur la branche principale.


Auteur : OUATTARA Amara Christian Erwan

Projet réalisé dans le cadre du cours de Construction de modèles et leur Déploiement du Master en Fouilles de Données & Intelligence Artificielle.

About

An MLOps Pipeline for Suspicious Tweet Detection using Git & DVC

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages