Skip to content

Repository files navigation

πŸ™οΈ Toronto Condo Affordability Predictor

A spatio-temporal machine learning system that predicts neighborhood-level condo prices and helps users plan down savings and rent affordability


πŸ“˜ Overview

Housing affordability is a major challenge for students and young adults in Toronto.
This project uses open municipal and federal datasets to:

  1. Predict condo rent prices across Toronto neighborhoods using machine learning (LightGBM/XGBoost).
  2. Estimate affordability timelines for users based on their income and other metrics.
  3. Visualize attainable neighborhoods through an interactive web application.

🧠 Core Features

  • πŸ—ΊοΈ Spatio-temporal price forecasting
  • πŸ’° Personalized affordability
  • πŸ“Š Interactive map with attainable neighborhoods
  • πŸ“¦ Fully open-data pipeline using CMHC, and Census data
  • βš™οΈ Quantile regression for uncertainty estimates

🧰 Tech Stack

Component Technology
Backend / ML Python, scikit-learn, XGBoost
Database DuckBD, dvc
Frontend Streamlit
API Layer FastAPI
Visualization Plotly, Folium
Version Control Git + GitHub

βš™οΈ Setup Instructions

1. Clone the repository

git clone https://github.com/Western-Artificial-Intelligence/condo-cost-predictor.git
cd condo-cost-predictor


STRCUTURE ONCE WE HAVE ALL SET UP 
condo-cost-predictor/
β”œβ”€β”€ data/                   # Open datasets (CMHC, StatCan, City of Toronto)
β”œβ”€β”€ notebooks/              # Exploratory and model development notebooks
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ data_pipeline/      # ETL scripts for data cleaning and joins
β”‚   β”œβ”€β”€ models/             # Training, validation, and evaluation scripts
β”‚   β”œβ”€β”€ api/                # FastAPI endpoints
β”‚   └── app/                # Streamlit front-end
β”œβ”€β”€ requirements.txt
β”œβ”€β”€ README.md
└── LICENSE


MAKE SURE YOU DO THIS
- START AN ENV 
python3 -m venv venv
source venv/bin/activate  # macOS/Linux
venv\Scripts\activate     # Windows

- DOWNLOAD DEPENDECIES
pip install -r requirements.txt

-after when we have it running we will use
streamlit run app.py


About

No description, website, or topics provided.

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages