It is everyones dream to buy a home. For someone who is thinking of buying a new house, this model aims to predict the house prices in the suburb of Perth. This data is analysed based on the available historical data of house prices in Perth.
https://www.kaggle.com/datasets/syuzai/perth-house-prices
- PredicationWeb: Files related to Webapp
- PredictionsAPI: Files related to Flask API
- Resources: raw csvs and data cleaning pandas notebook
- Tables: scripts to create tables
- Images: Images related to readme files
- ETL: Extract, Transform and Load files
- ML Prediction: Prediction files
- Final_Presentation_Project_4: Presendation document
- Project_4_Report: Final report
To run this project, following steps to be executed:
- Clone the repo using following command: git clone https://github.com/BharatGuturi/Predicting-House-Prices.git
- Open local postgresSQL and create database with name 'housing_db'.
- Execute the 'Perth_housing' and 'Perth_housing_filtered' files from the 'Tables' folders to create tables in housing_db
- Create .env files with the content in cloned repo and PredictionAPI folder with followig details in it: db_UserName= db_Password= and are the user's usernames and passwords for postgressql connection
- Execute the 'ETL.ipynb' file to load the data into database
- Execute the 'ML_Prediction.ipynb' file
- Import required libraries using following commands in PredictionAPI folder pip install SQLAlchemy pip install Flask-Cors pip install Flask pip install python-dotenv pip install -U scikit-learn
- Execute the 'app.py' file from 'PredictionAPI' folder
- Execute the 'HousingPrices.html' from 'PredictionWeb' folder or below URL for website deployed in Heroku Heroku deployed website: https://perth-house-prices.herokuapp.com/
Use the following link to access the web application in Heroku
https://perth-house-prices.herokuapp.com/
Note: Please note that steps 1 to 8 in the above section (Execution of the code) should be executed before executing the heroku web app.
Bharat Guturi
Python - Libraries: Pandas, SQLAlchemy, numpy, sklearn, matplotlib, flask
Jupyter Notebook
Database - PGAdmin (PostgresSQL)
Javascript - Libraries: d3, plotly
UI - Bootstrap, html, css
Import dependecies and the libraries
Transform tables to formal specification
Create the tables
Connect to postgres SQL database -> load data.
Formal specification to be created that defines the tables format can be imported into postgres SQL database.