A web app that predicts real estate prices in Tunisia
# Tunisia Real Estate Predictor πΉπ³
> An end-to-end machine learning project for estimating residential property prices in Tunisia from scraped real-estate listings.
This project explores the complete data-science workflow: collecting real-world property listings, cleaning and transforming noisy data, performing exploratory analysis, engineering predictive features, training regression models, and exposing predictions through an API.
## Project goals
The objective is not only to train a model, but to build a reproducible pipeline from raw web data to a usable prediction service.
```text
Property listings
β
Data collection / scraping
β
Cleaning & validation
β
Exploratory data analysis
β
Feature engineering
β
Model training & evaluation
β
Best model
β
FastAPI prediction service
```
## What the project demonstrates
- Web scraping and data acquisition
- Data cleaning and preprocessing
- Exploratory data analysis (EDA)
- Feature engineering for tabular regression
- Machine-learning model comparison
- Model evaluation with regression metrics
- Model serialization and reuse
- FastAPI model serving
- Separation between data collection, ML logic, and API layers
## Project structure
```text
βββ scraper/ # Property listing collection
βββ data/ # Raw and processed datasets
βββ notebooks/ # EDA and model development
βββ src/ # Reusable preprocessing, features and training logic
βββ api/ # FastAPI prediction service
βββ app/ # Optional frontend / prediction interface
βββ models/ # Serialized trained models
βββ requirements.txt
βββ README.md
```
## Data pipeline
### 1. Collection
Property listings are collected from real-estate listing sources and converted into structured records.
### 2. Cleaning
The pipeline handles typical web-data issues such as missing values, inconsistent representations, duplicated listings, and numerical fields embedded in text.
### 3. Feature engineering
Potential β¦