Projet de classification automatique de tweets suspects utilisant des techniques de Machine Learning.
- 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
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
Créer un environnement virtuel :
python -m venv .venvActivation :
Windows
.venv\Scripts\activateInstaller les dépendances :
pip install -r requirements.txtpython src/preprocess.pypython src/train.pypython src/evaluate.pypython src/optimize.pypython src/predict.pystreamlit run app.pyLancer l'interface MLflow :
mlflow uiPuis ouvrir :
http://127.0.0.1:5000
Reproduire le pipeline :
dvc reproEnvoyer les données vers le stockage DVC :
dvc pushLe pipeline CI exécute automatiquement :
- Prétraitement
- Entraînement
- Évaluation
à chaque Push sur la branche principale.
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.