Zestimate is a data-driven web application that utilizes data from Zillow to forecast and predict the Zillow Home Value Index (ZHVI) and Zillow Observed Rent Index (ZORI). The application is hosted at zestimate.streamlit.app.
Zestimate leverages historical real estate data from Zillow to provide accurate and insightful predictions for home values and rent prices. This project involves data preprocessing, exploratory data analysis, and machine learning model development to generate these forecasts.
- Data Preprocessing: Clean and prepare Zillow data for analysis.
- Exploratory Data Analysis (EDA): Visualize and understand the data trends and patterns.
- Machine Learning Models: Implement and train models to predict ZHVI and ZORI.
- Web Application: Interactive web interface to display predictions and insights.
Zestimate/
├── README.md
├── __pycache__
│ ├── plots.cpython-311.pyc
│ ├── sidebar.cpython-311.pyc
│ ├── styles.cpython-311.pyc
│ ├── texts.cpython-311.pyc
│ └── utils.cpython-311.pyc
├── data
│ ├── zhvi.pkl
│ ├── zhvi.xlsx
│ ├── zhvi_condo.csv
│ ├── zhvi_one_bedroom.csv
│ ├── zhvi_single_family.csv
│ ├── zhvi_three_bedroom.csv
│ ├── zhvi_two_bedroom.csv
│ ├── zori.pkl
│ ├── zori.xlsx
│ ├── zori_multi_family.csv
│ └── zori_single_family.csv
├── images
│ ├── logo.png
│ ├── logo.svg
│ ├── realestate.jpg
│ ├── transparent_logo.png
│ └── transparent_logo.svg
├── main.py
├── models
│ ├── lgbm_zhvi.pkl
│ ├── lgbm_zori.pkl
│ ├── xgb_zhvi.pkl
│ └── xgb_zori.pkl
├── notebooks
│ ├── modeling.ipynb
│ ├── preprocessing.ipynb
│ └── statistics.ipynb
├── pages
│ ├── Statistics.py
│ ├── ZHVI.py
│ └── ZORI.py
├── plots.py
├── project_structure.txt
├── requirements.txt
├── sidebar.py
├── styles.py
├── texts.py
└── utils.py
To set up the project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/msp99000/zestimate.git cd zestimate
-
Install dependencies:
pip install -r requirements.txt
-
Install Git LFS and pull large files:
git lfs install git lfs pull
To run the web application locally, execute:
streamlit run main.py
Navigate to http://localhost:8501
in your web browser to view the application.
The project uses various datasets from Zillow, including:
- ZHVI Data: Historical home value indices for different property types and regions.
- ZORI Data: Historical rent price indices for different property types and regions.
Data files are stored in the data/
directory. Processed data is saved as .pkl
files for efficient loading.
The project includes several machine learning models to predict ZHVI and ZORI:
- LightGBM Model: Stored in
models/lgbm.pkl
- XGBoost Model: Stored in
models/xgb.pkl
Model training and evaluation notebooks are located in the notebooks/
directory.
Contributions are welcome! Please follow these steps to contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature/YourFeature
). - Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature/YourFeature
). - Open a pull request.
This project is licensed under the MIT License. See the LICENSE
file for details.