--- title: M2Predict emoji: 🏠 colorFrom: blue colorTo: green sdk: docker pinned: false license: mit --- # 🏠 M2Predict — Prédiction du prix immobilier au m² en France M2Predict est un modèle de Machine Learning entraîné sur les données publiques **DVF (Demande de Valeurs Foncières)** pour prédire le **prix au m²** d’un bien immobilier en France. L’objectif : fournir une estimation rapide, explicable et accompagnée d’un **score de confiance**. --- # 🎯 Objectif du modèle Le modèle prédit : ``` prix_m2 ``` À partir de : - `code_postal` - `surface_reelle_bati` - `nombre_pieces_principales` - `type_local` (Maison / Appartement) Le prix total est ensuite calculé : ``` prix_total = prix_m2 × surface ``` --- # 📊 Dataset Source : **DVF – Données ouvertes des transactions immobilières en France** ## Nettoyage appliqué Conservation uniquement : - Maisons et Appartements - surface > 0 - valeur foncière > 0 - nombre de pièces > 0 Calcul de la variable cible : ``` prix_m2 = valeur_fonciere / surface_reelle_bati ``` ## Suppression des valeurs aberrantes Contrainte appliquée : ``` surface >= 10 m² 200 <= prix_m2 <= 60 000 ```` ## Dataset final ```json { "raw_rows": 1387077, "clean_rows": 390644, "prix_m2_median": 2685, "code_postal_unique": 5830 } ```` --- # 🤖 Modèles testés ## Modèles comparés * RandomForestRegressor (RF) * HistGradientBoostingRegressor (HGB) ## Métriques utilisées * MAE (Mean Absolute Error) * RMSE (Root Mean Squared Error) --- # 🔹 Sans Target Encoding ## Code postal en One-Hot | Modèle | RMSE | MAE | | ------ | ---- | ---- | | RF | 4176 | 2150 | | HGB | 4075 | 2014 | 👉 HGB légèrement meilleur. --- ## Département uniquement | Modèle | RMSE | MAE | | ------ | ---- | ---- | | RF | 4201 | 2012 | | HGB | 4217 | 1969 | 👉 Perte de granularité géographique. --- # 🧠 Target Encoding (Version retenue) Le `code_postal` est remplacé par : ``` prix_m2 moyen par code postal (calculé uniquement sur le train set) ``` Méthode : * KFold Out-Of-Fold (anti data leakage) * smoothing = 20 * fallback = moyenne globale ## Avantages * 1 variable au lieu de 5 830 colonnes one-hot * signal géographique plus fort * meilleure généralisation --- # 📈 Résultats avec Target Encoding | Modèle | RMSE | MAE | | -------- | ---- | ---- | | RF + TE | 3737 | 1701 | | HGB + TE | 3823 | 1746 | 🥇 **Meilleur modèle : RandomForest + Target Encoding** Amélioration MAE : **~2150 → ~1700 €/m²** --- # 🔐 Système de Score de Confiance Chaque prédiction retourne : ```json { "prix_m2": ..., "score_confiance": ..., "q10": ..., "q90": ..., "intervalle_largeur": ... } ``` ⚠️ Le score est relatif à la dispersion du modèle. Ce n’est pas une probabilité statistique. --- ## 🔹 RandomForest — Méthode * Récupération des prédictions de tous les arbres * Calcul des quantiles : * q10 * q90 * Intervalle = q90 − q10 * Score normalisé entre p5 et p95 observés au training Méthode interne : ``` rf_tree_quantile_width ``` --- ## 🔹 HGB — Méthode Bootstrap * 10 modèles HGB entraînés sur échantillons bootstrap * Calcul de la dispersion des prédictions * Même logique q10/q90 Méthode interne : ``` hgb_bootstrap_width ``` --- ## 📊 Interprétation du score | Score | Interprétation | | ----------- | -------------- | | ≥ 0.80 | Très fiable | | 0.65 – 0.80 | Fiable | | 0.50 – 0.65 | Incertain | | < 0.50 | Risqué | --- # ⚙️ Pipeline interne 1. Extraction du département (2 premiers chiffres du CP) 2. Target Encoding 3. Passage dans le pipeline scikit-learn 4. Calcul de l’incertitude 5. Normalisation → score_confiance --- # 📦 Artefacts produits Structure par version : ``` artifacts/models/v1_rf_te/ artifacts/models/v1_hgb_te/ ``` Contenu : * model.joblib * metadata.json * target_encoding.json * bootstrap models (HGB) --- # 🌐 API Endpoint : ``` POST /predict?model_version=v1_rf_te POST /predict?model_version=v1_hgb_te ``` Input : ```json { "code_postal": "75011", "surface_reelle_bati": 42, "nombre_pieces_principales": 2, "type_local": "Appartement" } ``` --- # 🚀 État actuel 🥇 Meilleur MAE : **RF + Target Encoding** 🧠 Meilleure stabilité : **HGB Bootstrap** 📊 Système d’incertitude opérationnel en production --- # 🔮 Améliorations futures * CatBoost * LightGBM * XGBoost * Ensemble RF + HGB * Monitoring de dérive des données * Validation métier automatique --- # 📌 Disclaimer Ce modèle fournit une estimation statistique basée sur les données historiques DVF. Il ne remplace pas une expertise immobilière professionnelle.