Skip to content
lxeuPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

52 Commits

Folders and files

Repository files navigation

PriceLens

Python NumPy pandas Streamlit License

Estimate the market value of an Edmonton home from its size, layout and age.

https://pricelens.streamlit.app

PriceLens

Features

  • Price estimates from four inputs: size, bedrooms, bathrooms, year built
  • A user-friendly Streamlit interface for quick estimates.
  • Input bounds match the training data range
  • Model parameters saved after training, so predictions are instant

Model

Multivariable linear regression trained with gradient descent, implemented from scratch in NumPy. Features: square footage, bedrooms, bathrooms and year built. Inputs are z-score normalized using the training set's mean and standard deviation.

Trained on 1,653 Edmonton listings after outlier filtering.

Tech stack

  • Frontend: Streamlit
  • Backend: Python
  • Data Processing: pandas, NumPy
  • Training Diagnostics: Matplotlib

Run locally

git clone https://github.com/lxeu/PriceLens.git
cd PriceLens
pip install -r requirements.txt
streamlit run app.py

To retrain the model from the raw data:

python src/train.py

Related

The model is developed in edmonton-housing-price-predictor. I started from a single-variable regression and built up to the multivariable model used here.

Limitations

  • No sense of location, which is the single most impactful feature that is missing.
  • Systematically underestimates homes above roughly $1M
  • Trained on a single market snapshot

Roadmap

  • Neighbourhood as a feature
  • Vectorized gradient descent
  • Half baths and garages as features

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages