Spaces:
Sleeping
Sleeping
File size: 2,777 Bytes
aac75d5 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
# 📚 Exemples MLflow
Ce dossier contient des exemples pratiques pour utiliser MLflow dans le projet.
## 🚀 Exemples disponibles
### 1. Trouver le meilleur modèle
```bash
python examples/01_find_best_model.py
```
**Ce qu'il fait** :
- Liste les 5 meilleurs runs selon une métrique (cv_f1)
- Affiche les hyperparamètres et métriques du meilleur
- Charge le modèle pour vérifier qu'il fonctionne
**Utilisation** : Parfait pour identifier quel modèle utiliser dans ton API
---
### 2. Comparer plusieurs modèles
```bash
python examples/02_compare_models.py
```
**Ce qu'il fait** :
- Compare tous les runs d'une expérience
- Affiche un tableau avec métriques et hyperparamètres
- Génère un graphique de comparaison (si matplotlib installé)
- Calcule des statistiques (moyenne, max, min, écart-type)
**Utilisation** : Pour analyser tes expériences d'hyperparameter tuning
---
### 3. Gérer le Model Registry
```bash
python examples/03_model_registry.py
```
**Ce qu'il fait** :
- Liste tous les modèles enregistrés
- Affiche les versions et leurs stages
- Démontre comment promouvoir un modèle
- Charge un modèle depuis le Registry
**Utilisation** : Workflow de versioning pour la production
---
## 📖 Guide complet
Consulte `docs/mlflow_guide.md` pour :
- Architecture MLflow complète
- Intégration API FastAPI/Flask
- Best practices
- Workflow de retraining
## 🎯 Workflow recommandé
```bash
# 1. Entraîner plusieurs modèles
MLFLOW_TRACKING_URI=sqlite:///mlflow.db python tests/test_mlflow_quick.py
# 2. Trouver le meilleur
python examples/01_find_best_model.py
# 3. Comparer tous les runs
python examples/02_compare_models.py
# 4. Gérer le Registry
python examples/03_model_registry.py
# 5. Promouvoir en production (dans le code Python)
from mlflow.tracking import MlflowClient
client = MlflowClient()
client.transition_model_version_stage(
name="XGBoost_Employee_Turnover",
version=1,
stage="Production"
)
```
## 🔗 Intégration API
Une fois le meilleur modèle identifié :
```python
import mlflow
# Option A : Charger par run_id
model = mlflow.sklearn.load_model("runs:/RUN_ID/model")
# Option B : Charger depuis le Registry
model = mlflow.sklearn.load_model("models:/XGBoost_Employee_Turnover/Production")
# Prédiction
predictions = model.predict(X_new)
```
## 💡 Tips
- **Métrique principale** : `cv_f1` (F1-score en cross-validation)
- **Métriques secondaires** : `test_precision`, `test_recall`, `test_f1`
- **Vérifier** : Que test_f1 ≈ cv_f1 (pas de surapprentissage)
- **Favoriser** : Modèles simples si performances similaires
## 🌐 MLflow UI
Pour visualiser graphiquement :
```bash
mlflow ui --backend-store-uri sqlite:///mlflow.db --port 5000
```
Puis ouvre http://localhost:5000
|