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 …