https://davydantoniuk.github.io/lublin-house-price-predict/
This project aims to predict house prices in Lublin using various machine learning and deep learning models. The dataset includes property listings from Otodom web page.
- After comparing various models, the Random Forest Regressor and CatBoost models showed the best performance and were combined in a stacking model.
- The FastAPI app allows easy interaction with the trained model for real-time house price predictions.
-
Model Results Comparison: A bar plot comparing the performance of all models, showcasing their metrics.
-
Prediction Example:
- Overview of the project goals and objectives.
- Scraped property data and handled issues like:
- Data type conversions
- Duplicate listings
- Missing values with KNN imputation
- One-hot encoding for categorical features
- Performed detailed analysis on:
- Price and area distribution
- Price per sqm
- Floor and regional analysis
- Temporal trends and property characteristics
- Transformed key features:
- Floor and regional-based transformation
- Outlier detection and handling
- Train-test-validation split
- Compared various ML models:
- Linear Regression, Elastic Net, Decision Trees, Random Forest, Gradient Boosting, XGBoost, LightGBM, CatBoost
- Built a stacking model for better performance
- Developed deep learning models:
- Feedforward Neural Network
- Convolutional Neural Network
- Compared performance metrics of all models
- Analyzed feature importance
- Investigated worst predictions
- Saved the best-performing model
- Made predictions on new data
- Developed a FastAPI-based web application to:
- Serve the best model
- Provide real-time predictions
-
Clone the repository:
git clone https://github.com/davydantoniuk/lublin-house-price-predict.git cd lublin-house-price-predict/app
-
Install the required packages:
pip install -r requirements.txt
-
Run the FastAPI app:
uvicorn app:app --reload
-
Access the app: Open your browser and navigate to
http://127.0.0.1:8000
-
Clone the repository:
git clone https://github.com/davydantoniuk/lublin-house-price-predict.git cd lublin-house-price-predict/app
-
Build the Docker image:
docker build -t lublin-house-price-predict .
-
Run the Docker container:
docker run -p 80:80 lublin-house-price-predict .
-
Access the app: Open your browser and navigate to
http://localhost:80