A machine learning API that predicts house prices based on property features, built with a complete MLOps pipeline.
- ML: XGBoost, scikit-learn
- API: FastAPI
- Experiment Tracking: MLflow
- Containerization: Docker
- CI/CD: GitHub Actions
- Cloud: Google Cloud Run
property-valuation-api/ ├── data/ │ ├── raw/ # Original dataset │ └── processed/ # Cleaned dataset ├── notebooks/ │ ├── 01_exploration.ipynb │ ├── 02_cleaning.ipynb │ └── 03_training.ipynb ├── src/ │ └── api/ │ ├── main.py # FastAPI endpoints │ └── model.py # Model loading and prediction ├── models/ # Trained model artifacts ├── Dockerfile └── requirements.txt
- Exploration — Dataset analysis and visualization
- Cleaning — Missing value imputation, one-hot encoding, log transformation
- Training — XGBoost model with MLflow experiment tracking (RMSE: 0.14)
GET /health— Health checkPOST /predict— Predict house price
{
"GrLivArea": 1500,
"OverallQual": 7,
"GarageCars": 2
}117035.97git clone https://github.com/fpineda94/property-value-api.git
cd property-value-apiconda create -n property-valuation python=3.11
conda activate property-valuation
pip install -r requirements.txtcd src/api
uvicorn main:app --reloaddocker build -t property-valuation-api .
docker run -p 8000:8000 property-valuation-apiHouse Prices - Advanced Regression Techniques from Kaggle.