How falitianaandriamaherycarles-max/projet-immobilier works
Ce dépôt met en œuvre un pipeline MLOps de prédiction des prix immobiliers DVF : ingestion, nettoyage, préparation des variables, entraînement et évaluation, puis prédiction via une API. DVC versionne les artefacts du pipeline, tandis que l’entraînement trace ses runs dans MLflow et peut publier le modèle sur Hugging Face. Le monitoring compare les données de référence et de production et signale quand un réentraînement est recommandé. Les liens du pipeline suivent les sorties et lectures décrites dans le README et le code échantillonné ; l’accumulation des requêtes de production n’est pas montrée.
Main entry points: config.yaml Configuration · models Modèle entraîné · dvc.yaml Versioning DVC · main.py API FastAPI
Components 24
Préparation DVF
- Ingestion
src/data/ingest.py - Données brutes
data/raw - Nettoyage DVF
src/data/preprocess.py - Données nettoyées
data/processed - Variables et split
src/features/build_features.py - Jeux train/test
data/features
Modèle et suivi
- Versioning DVC
dvc.yaml - Entraînement
src/models/train.py - Modèle entraîné
models - Tracking MLflow
- Évaluation
src/models/evaluate.py - Métriques d’évaluation
reports
API de prédiction
- API FastAPI
src/api/main.py - Chargement modèle
src/api/model_loader.py - Prédicteur immobilier
src/models/predict.py - Schémas API
src/api/schemas.py
Monitoring et publication
- Rapport de dérive
src/monitoring/drift_report.py - Données référence/courantes
data - Rapport Evidently
reports - Publication Hub
src/models/push_hf.py
Other components
- Données DVF
- Utilisateur
- Hugging Face Hub
- Configuration
configs/config.yaml
Connections 35
- Données DVF → Ingestion: fournit CSV
- Ingestion → Données brutes: écrit brut
- Données brutes → Nettoyage DVF: lu par
- Nettoyage DVF → Données nettoyées: écrit nettoyé
- Données nettoyées → Variables et split: lu par
- Variables et split → Jeux train/test: écrit jeux
- Jeux train/test → Entraînement: lu par
- Entraînement → Modèle entraîné: sauvegarde
- Entraînement → Tracking MLflow: trace runs
- Jeux train/test → Évaluation: lu par
- Modèle entraîné → Évaluation: chargé par
- Évaluation → Métriques d’évaluation: écrit métriques
- Utilisateur → API FastAPI: demande prédiction
- API FastAPI → Schémas API: valide requête
- API FastAPI → Chargement modèle: obtient prédicteur
- Chargement modèle → Prédicteur immobilier: instancie
- Prédicteur immobilier → Modèle entraîné: charge artefacts
- API FastAPI → Prédicteur immobilier: prédit prix
- Utilisateur → Rapport de dérive: lance rapport
- Rapport de dérive → Données référence/courantes: lit référence/courant
- Rapport de dérive → Rapport Evidently: écrit rapport
- Utilisateur → Publication Hub: lance publication
- Publication Hub → Modèle entraîné: lit artefacts
- Publication Hub → Hugging Face Hub: publie fichiers
- Versioning DVC → Données brutes: versionne
- Versioning DVC → Données nettoyées: versionne
- Versioning DVC → Jeux train/test: versionne
- Versioning DVC → Modèle entraîné: versionne
- Configuration → Ingestion: configure
- Configuration → Nettoyage DVF: configure
- Configuration → Variables et split: configure
- Configuration → Entraînement: configure
- Configuration → Évaluation: configure
- Configuration → Rapport de dérive: configure
- Configuration → Publication Hub: configure