Skip to content

tony-nyagah/apartment-price-predictor

Repository files navigation

Apartment Price Prediction in Kenya

Project Overview

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.

Problem Statement

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.

Objectives

  • 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.

Project Phases

Phase 1: Data Preparation

  • Scrape housing data from the BuyRentKenya website using Scrapy.
  • Clean and preprocess the scraped data.

Phase 2: Data Analysis

  • Conduct exploratory data analysis to identify patterns and correlations.
  • Visualize key features and trends in the dataset.

Phase 3: Feature Engineering

  • Select relevant features for predicting house prices.
  • Engineer new features if necessary to improve model performance.

Phase 4: Model Development

  • Choose appropriate machine learning algorithms for prediction.
  • Train and evaluate models using selected features.

Phase 5: Web Application Development

  • 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.

Phase 6: Testing and Quality Assurance

  • Test the system for correctness, robustness, and usability.
  • Conduct unit tests, integration tests, and user acceptance testing.

Phase 7: Documentation and Maintenance

  • Document code, model architecture, deployment process, and provide user documentation.
  • Establish a maintenance plan for ongoing updates, bug fixes, and security patches.

Technologies Used

  • Web Scraping: Scrapy
  • Web Application Development: FastAPI + HTMX + DaisyUI
  • Machine Learning: Scikit-learn
  • Database: SQLite
  • Deployment: [WIP]

Getting Started

Scraping the data

Scraping the data generates a csv file named apartments.csv.

Contributing

[WIP]

License

[WIP]

Contact

[WIP]

Airflow integration example: Airflow example

About

This is a price predictor for apartments in Kenya.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published