Skip to content

fpineda94/property-value-api

Repository files navigation

Property Valuation API

A machine learning API that predicts house prices based on property features, built with a complete MLOps pipeline.

Live Demo

API Documentation

Tech Stack

  • ML: XGBoost, scikit-learn
  • API: FastAPI
  • Experiment Tracking: MLflow
  • Containerization: Docker
  • CI/CD: GitHub Actions
  • Cloud: Google Cloud Run

Project Structure

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

ML Pipeline

  1. Exploration — Dataset analysis and visualization
  2. Cleaning — Missing value imputation, one-hot encoding, log transformation
  3. Training — XGBoost model with MLflow experiment tracking (RMSE: 0.14)

API Endpoints

  • GET /health — Health check
  • POST /predict — Predict house price

Example Request

{
  "GrLivArea": 1500,
  "OverallQual": 7,
  "GarageCars": 2
}

Example Response

117035.97

Local Development

1. Clone the repository

git clone https://github.com/fpineda94/property-value-api.git
cd property-value-api

2. Create environment

conda create -n property-valuation python=3.11
conda activate property-valuation
pip install -r requirements.txt

3. Run the API

cd src/api
uvicorn main:app --reload

4. Run with Docker

docker build -t property-valuation-api .
docker run -p 8000:8000 property-valuation-api

Dataset

House Prices - Advanced Regression Techniques from Kaggle.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors