Bienvenue dans cette semaine intensive. L'objectif est de passer d'un simple Notebook de recherche à une application IA robuste, testée et monitorée.
- Maîtriser l'écosystème moderne Python avec uv.
- Structurer une API de production avec FastAPI.
- Mettre en place un monitoring complet (MLflow/TensorBoard) et des logs pro (Loguru).
- Garantir la qualité logicielle (Pytest, Docstrings, README).
Nouveauté:
- pytest-cov
- joblib
Pour chaque projet, vous devez respecter la structure suivante :
- Gestion de projet : Initialisation avec
pyproject.tomletuv lock. - Exploration : Notebook de nettoyage et visualisation des données.
- Entraînement : Utilisation de SciKeras pour intégrer le Deep Learning dans un pipeline Scikit-Learn.
- Monitoring : Suivi des métriques via MLflow (Tabulaire) ou TensorBoard (Séquences/Images).
- Export : Sauvegarde du pipeline complet avec
joblib.
Vous devez réaliser l'exploration et l'entraînement pour les quatre sujets suivants. Cependant, un seul projet au choix devra être "Industrialisé" (API, Tests, Logs, Docstrings).
Prédire la consommation électrique d'une usine sidérurgique.
- Dataset : Steel Industry Energy Consumption
- Challenge : Gérer les variables temporelles et la multi-colinéarité.
Prédire si un étudiant va abandonner, rester ou obtenir son diplôme.
- Dataset : Students' Dropout and Academic Success
- Challenge : Équilibrage des classes et analyse de l'importance des variables.
Classifier des images de plats parmi 101 catégories.
- Dataset : Food-101
- Challenge : Utilisation d'un modèle pré-entraîné (MobileNet ou ResNet) et optimisation fine (Fine-tuning).
Prédire la concentration de CO (Monoxyde de carbone) à partir de capteurs chimiques.
- Dataset : Air Quality Index
- Challenge : Mise en place d'une fenêtre temporelle (Sliding Window) et gestion des données manquantes.
Le projet que vous choisirez de finaliser devra impérativement comporter :
├── api/
│ ├── main.py # Routes FastAPI
│ └── model_ia/
│ └── model.py # Logique de prédiction (Propre & Documenté)
├── tests/
│ └── test_api.py # Pytest pour la route /predict
├── logs/ # Dossier des logs générés par Loguru
├── model_v1.joblib # Le pipeline exporté
├── pyproject.toml # Dépendances gérées par uv
└── README.md # Documentation complète
- FastAPI : Une route
/predictqui reçoit un JSON et renvoie la prédiction. - Loguru : Chaque appel à l'API doit être loggué (Input, Output, Temps d'exécution).
- Documentation : Docstrings au format Google/NumPy pour chaque fonction dans
model.py. - Validation : Au moins 2 tests unitaires avec Pytest ainsi que la mise en place du framework pytest-cov. A minima, la route
predictet le modèle. - Monitoring : Capture d'écran ou fichier de log prouvant l'utilisation de MLflow ou TensorBoard durant l'entraînement.