Three regressors, one dataset, and why the simplest model won.
- role
- Solo build
- status
- Live
- when
- Apr 2026
- ownership
- Solo
Who did what. Personal project, written up as the study 'Simplicity Over Complexity'.
Overview
An end-to-end pipeline on a 545-property housing dataset: EDA, encoding and scaling, Linear Regression, Decision Tree and Random Forest, 5-fold cross-validation and hyperparameter sweeps. Linear Regression won on the held-out test set and is the model deployed behind a FastAPI app that also places each prediction as a percentile of the market.
Why it exists
A more complex model is not automatically a better one. The study tests that assumption on real data and explains the result.
My part
- Built the preprocessing and model pipeline and compared models with cross-validation and tuning.
- Served the winning model with FastAPI and a single-page client that shows the prediction's percentile.
- Wrote the full study, from dataset description to deployment.
How it works
- a
Explore
Distributions and price drivers across 545 properties.
- b
Prepare
LabelEncoder and StandardScaler.
- c
Compare
Linear Regression, Decision Tree, Random Forest.
- d
Deploy
Joblib pipeline behind a FastAPI /predict endpoint.
Built with
- Scikit-learn
- Pandas
- FastAPI
- Joblib
- Linear Regression R²
- 0.7625 (deployed)
- Random Forest R²
- 0.7419
- Decision Tree R²
- 0.1442 (overfit)
Status & next
Free-tier hosting may need a moment to wake.
Source: the study 'Simplicity Over Complexity' and github.com/AA-KH/Machine-Learning-Pipeline