Logo Lanfrica

Mahmoud-islamcs/egypt-housing-price-predictor

Domain:

socioeconomic

Record type:

software
Creator:
Mah
Host:
An end-to-end machine learning Streamlit app that predicts residential property prices in Egypt using Gradient Boosting, feature engineering, and interactive visualizations. # Egypt Housing Price Predictor > An end-to-end machine learning web application for predicting residential property prices in Egypt, built with Streamlit and Scikit-Learn. --- ## Project Overview This project trains a **Gradient Boosting Regressor** on thousands of Egyptian real-estate listings to estimate fair market prices. The model is served via a sleek, modern Streamlit web app that lets users enter property details and receive an instant price prediction in EGP (and USD equivalent). ### Key Features | Feature | Details | |---------|---------| | **Algorithm** | Gradient Boosting Regressor (RandomizedSearchCV tuned) | | **Target** | `log(1 + price)` → inverted to EGP via `expm1` | | **Input Features** | Size, bedrooms, bathrooms, location, property type, listing title | | **Feature Engineering** | Degree-2 polynomial features, interaction terms, TF-IDF + TruncatedSVD (5 dims) on listing title | | **Outlier Handling** | IQR (3× fence) + Isolation Forest (contamination=0.05) | | **Encoding** | One-hot encoding for location group and property type | | **UI** | Glassmorphism design, gradient backgrounds, responsive layout | --- ## Project Structure ``` house-price-prediction/ │ ├── data/ │ └── 348004_69ea1336571a0_1776948022.csv ← raw dataset │ ├── notebooks/ │ └── egypt_housing_price_prediction.ipynb ← full ML pipeline │ ├── models/ ← generated by running notebook │ ├── final_model.pkl ← trained GBR model │ ├── tfidf_vectorizer.pkl ← fitted TF-IDF │ ├── svd_transformer.pkl ← fitted TruncatedSVD │ └── poly_features.pkl ← fitted PolynomialFeatures │ ├── app/ │ └── app.py ← Streamlit web app │ ├── requirements.txt └── README.md ``` --- ## Local Installation ### Prerequisites - Python 3.10 or higher - `pip` package manager ### Steps ```bash # 1. Clone the repository git clone github.com

Licenses