Immobiliare · XGBoost

Pricing Predittivo
per Affitti Brevi

Regressione XGBoost con hyperparameter tuning e SHAP explainability per predire il prezzo per notte ottimale. Feature engineering su 24 variabili immobiliari e di localizzazione, modellate su dataset pubblici del settore short-term rental.

XGBoost Python Feature Engineering GridSearchCV SHAP
0.89R² Test
€12.4MAE medio
3.2kListings
24Feature
Actual vs Predicted — prezzi per notte (€)
Prezzo reale (€) Prezzo predetto (€) 50 150 250 350 450 Predizione Outlier Predizione perfetta

Feature Importance (SHAP)

Numero di camere
31.2%
Quartiere / zona
25.4%
Rating recensioni
17.8%
Distanza dal centro
12.9%
N° di servizi (amenities)
7.5%
Altre feature
5.2%

Snippet chiave

import xgboost as xgb
from sklearn.model_selection import GridSearchCV, StratifiedKFold
import shap

# Hyperparameter tuning
params = {'max_depth': [4,6,8], 'n_estimators': [100,200], 'learning_rate': [0.05,0.1]}
xgb_model = xgb.XGBRegressor(random_state=42)
grid = GridSearchCV(xgb_model, params, cv=5, scoring='r2')
grid.fit(X_train, y_train)

# SHAP explainability
explainer = shap.TreeExplainer(grid.best_estimator_)
shap_values = explainer.shap_values(X_test)

Risultati e conclusioni

XGBoost con tuning raggiunge un R² di 0.89 sul test set stratificato — significativamente superiore al baseline con regressione lineare (R² = 0.71).

L'analisi SHAP rivela che il numero di camere e la zona geografica dominano la predizione, confermando l'importanza della localizzazione nel pricing immobiliare.

Il modello è integrabile in strumenti di revenue management per property manager e host professionali, fornendo pricing dinamico basato su caratteristiche dell'immobile e benchmark di zona.

← Progetto precedente Prossimo progetto →