Scope: FastAPI • Machine Learning • House Price Prediction
EstateEngine is an end-to-end house price prediction application built with FastAPI and scikit-learn. It compares Linear Regression and Random Forest models, selects the best model through cross-validation, and serves real-time predictions through a responsive web interface and JSON API.
The project demonstrates a complete machine learning workflow:
- Dataset inspection and selected-feature analysis
- Leakage-safe preprocessing through scikit-learn pipelines
- Linear Regression and Random Forest comparison
- Five-fold cross-validation for model selection
- Held-out test evaluation
- Model persistence with joblib
- FastAPI-based prediction serving
- Jinja2 dashboard with interactive Plotly charts
- Automated testing, coverage checks, and Render deployment configuration
- Real-time house price prediction using six property features
- Linear Regression and Random Forest performance comparison
- Cross-validation-based champion model selection
- Interactive EDA and model-performance charts
- Strict input validation for HTML and JSON requests
/healthliveness and/readyreadiness endpoints- Graceful handling of missing or corrupt model artifacts
- 34 automated tests with 92.05% coverage
- GitHub Actions CI and Render Blueprint deployment
| Technology | Purpose |
|---|---|
| FastAPI | Backend routes, APIs, validation, and application serving |
| Jinja2 | Server-rendered HTML pages |
| scikit-learn | Preprocessing, model training, cross-validation, and evaluation |
| pandas / NumPy | Dataset loading and numerical processing |
| Plotly | Interactive EDA and model-performance charts |
| joblib | Saving and loading trained model pipelines |
| HTML / CSS / JavaScript | Responsive frontend interface |
| pytest / pytest-cov | Automated testing and coverage reporting |
| Uvicorn | ASGI application server |
| GitHub Actions | Continuous integration |
| Render | Web deployment |
| Model | MAE | RMSE | R² |
|---|---|---|---|
| Linear Regression | $27,394.05 | $41,325.44 | 0.7774 |
| Random Forest Regressor | $20,389.59 | $30,478.68 | 0.8789 |
Random Forest Regressor was selected as the final model using the lowest five-fold cross-validation RMSE. The held-out test set was used only for final evaluation.
EstateEngine uses the Ames Housing dataset introduced by Dean De Cock and distributed through Kaggle's House Prices: Advanced Regression Techniques competition.
The live prediction model uses these six features:
- OverallQual
- GrLivArea
- BedroomAbvGr
- FullBath
- GarageCars
- YearBuilt
The MIT License applies to the project source code only. The dataset remains subject to its original source and usage terms.
This project is designed as a portfolio demonstration of:
- Supervised regression modeling
- Cross-validation and held-out testing
- Reproducible ML pipelines
- FastAPI and Jinja2 integration
- Model-serving failure handling
- Automated testing and deployment configuration
This version does not include:
- User authentication
- Prediction history storage
- A model registry
- Scheduled retraining
- Real-time property market data
- Random Forest hyperparameter tuning
- Log-transformed target experimentation
- Additional property features
- Model versioning and monitoring
- Prediction history and user accounts
This project is released under the MIT License.



