Skip to main content
ai Alive 2026

Ames Housing Price Pipeline

End-to-End Machine Learning Pipeline for Automatic Property Evaluation

Production-ready ML pipeline for predicting Ames housing prices (2,930 sales, 80+ features). XGBoost with R² 0.947 and RMSE $18,350, K-fold tuning and inference API.

ClientProject Work - DataMasters Machine Learning Engineer
RoleData Scientist and Machine Learning Engineer (End-to-End Pipeline and Technical Documentation)
Year2026

Highlights

  • XGBoost champion: RMSE $18.350, MAE $11.939, R² 0.9471, MAPE 7.19% on test set
  • Modular preprocessing with separate transformers for numerical, ordinal, and nominal features
  • Transformed Target Regressor for training in log space and mitigating price skew
  • K-fold cross-validation with 5-fold reproducible hyperparameter tuning
  • 5 theoretical guides on regression, regularization, trees, metrics, and preventing data leakage
  • API inference predict_price() + CLI (ames-train --quick)
  • Every justified design decision documented (Jekyll site)

What is the project?

Pipeline ML end-to-end per la previsione dei prezzi delle case nel dataset Ames (Iowa, USA): 2.930 vendite immobiliari con oltre 80 feature strutturali e di contesto. Il progetto risolve il problema dell'automazione della valutazione immobiliare, abilitando stime istantanee con incertezza quantificata utili per agenzie immobiliari, mutui e analisi di mercato. Repo: github.com/fedcal/ames-housing-price-pipeline.

Pipeline Architecture

  1. Data ingestion: 2.930 vendite × 80+ feature da Ames Housing Dataset
  2. Preprocessing modulare: ColumnTransformer separati per feature numeriche/ordinali/nominali
  3. Target log-transform: TransformedTargetRegressor con log1p per ridurre skew prezzi
  4. K-fold CV (K=5) con tuning iperparametri
  5. Confronto modelli: XGBoost vs Ridge vs Random Forest
  6. API di inferenza: funzione predict_price() + CLI ames-train --quick

Test Set Results

ModelloRMSEMAEMAPE
XGBoost$18.350$11.9390.94717.19%
Ridge Regression$18.509$12.4700.94617.59%
Random Forest$20.825$13.2650.93187.90%

XGBoost è il modello migliore con un errore medio percentuale (MAPE) inferiore al 7.2% - un livello di accuratezza spendibile in scenari di pre-screening per perizie immobiliari.

Use Case Business

Sistema di valutazione automatizzata per agenzie immobiliari, banche e fintech che effettuano underwriting mutui. Permette di generare istantaneamente una stima di prezzo con bande di confidenza documentate, riducendo il tempo di pre-screening da ore a millisecondi e fornendo un baseline oggettivo confrontabile con le perizie umane.

Inclusive educational material included

Il repository include 5 guide teoriche complete che coprono regressione e log-target, regolarizzazione (Ridge/Lasso/ElasticNet), modelli ad albero e boosting, metriche di regressione (RMSE/MAE/R²/MAPE) e prevenzione del data leakage nel design di pipeline ML. È pensato per essere riproducibile e utilizzato come template per altri progetti di previsione su dati tabulari.

Full technology stack

LevelTechnologyAnnotation
LinguaggioPython 3.11–3.13-
ML corescikit-learn (Pipeline, ColumnTransformer, K-fold CV)-
ModelliXGBoost (champion), Ridge (baseline), Random Forest-
Target TransformTransformedTargetRegressor con log1p (gestione skew prezzi)-
NotebookJupyter (5 quaderni teorici sequenziali)-
DocumentazioneJekyll + Just-the-Docs (GitHub Pages)-
CI/CDGitHub Actions (test + deploy docs)-

Main technologies

Python 3.13scikit-learnXGBoostpandas / NumPyJupyterJekyll Just-the-DocsGitHub Actions

Project link

Other projects