This project aims to develop a machine learning-based web application that predicts house prices in Kenya. By leveraging comprehensive housing data and advanced predictive modeling techniques, we empower homebuyers with actionable insights to make informed decisions and navigate the real estate market with confidence.
In Kenya's dynamic real estate market, prospective homebuyers often face challenges in accurately estimating property prices. Traditional methods rely on limited information and subjective assessments, leading to uncertainty and potential financial risks. This project addresses the need for an accessible and reliable tool that provides accurate house price predictions.
- Develop a machine learning model that accurately predicts house prices in Kenya.
- Integrate the predictive model into a user-friendly web application.
- Enhance transparency and mitigate risks in the home buying process.
- Improve the overall home buying experience for individuals and families in Kenya.
- Scrape housing data from the BuyRentKenya website using Scrapy.
- Clean and preprocess the scraped data.
- Conduct exploratory data analysis to identify patterns and correlations.
- Visualize key features and trends in the dataset.
- Select relevant features for predicting house prices.
- Engineer new features if necessary to improve model performance.
- Choose appropriate machine learning algorithms for prediction.
- Train and evaluate models using selected features.
- Develop the backend API using FastAPI.
- Design and implement the frontend user interface.
- Integrate the trained machine learning model into the backend system.
- Implement user authentication and authorization mechanisms.
- Conduct thorough testing of the web application.
- Deploy the application to a hosting platform.
- Test the system for correctness, robustness, and usability.
- Conduct unit tests, integration tests, and user acceptance testing.
- Document code, model architecture, deployment process, and provide user documentation.
- Establish a maintenance plan for ongoing updates, bug fixes, and security patches.
- Web Scraping: Scrapy
- Web Application Development: FastAPI + HTMX + DaisyUI
- Machine Learning: Scikit-learn
- Database: SQLite
- Deployment: [WIP]
Scraping the data generates a csv file named apartments.csv
.
[WIP]
[WIP]
[WIP]
Airflow integration example: Airflow example