Realty-Radar is a real-life data-science web application that uses a machine learning model to predict real estate prices in Bangalore, India. The model considers various factors such as area in square feet, number of BHK, number of bathrooms, and location to provide accurate price predictions.
- User-Friendly Interface: A clean and intuitive UI built using HTML, CSS, and JavaScript.
- Accurate Predictions: Utilizes a machine learning model built with
sklearnandlinear regression. - Real-Time Data: Instant predictions based on user inputs.
- Scalable Backend: Python Flask server handling HTTP requests.
- Deployment: Hosted on an Amazon EC2 instance with Nginx as a reverse proxy for high availability and scalability.
- Frontend: HTML, CSS, JavaScript, jQuery
- Backend: Python, Flask
- Machine Learning:
sklearn,linear regression - Deployment: Amazon EC2, Ubuntu 22.14, Nginx
- Packages: Pandas, NumPy, Matplotlib, Scikit-Learn
- Data Collection: The model is trained on the Bangalore home prices dataset from Kaggle.
- Data Exploration and Cleaning:
- Loaded the dataset from a Kaggle source.
- Explored the dataset, including handling missing values.
- Removed outliers based on the
price_per_sqftand the number of bathrooms compared to the number of bedrooms.
- Feature Engineering:
- Performed one-hot encoding on the location feature to convert it into a numerical representation.
- Model Building and Evaluation:
- Split the dataset into training and testing sets.
- Trained a Linear Regression model and evaluated its performance using cross-validation.
- Explored other regression models (Lasso, Decision Tree) using GridSearchCV to find the best-performing model.
- Model Optimization:
- The final model achieved an R-squared score of around 86% on the test set, which is a good performance for a real estate price prediction problem.
- Area in Square Feet: Enter the area in square feet.
- BHK: Select the number of bedrooms.
- Bathrooms: Select the number of bathrooms.
- Location: Choose the location from the dropdown menu.
- Estimate Price: Click the button to get the estimated price.
The frontend of the application is built using HTML, CSS, and JavaScript with jQuery. It provides a clean and intuitive user interface for inputting real estate parameters and displaying the predicted prices.
The backend is powered by Python Flask, which handles the HTTP requests, processes the inputs, and communicates with the machine learning model to return predictions. The model is built using scikit-learn (Linear Regression model) and trained on a dataset of Bangalore home prices.
Check out the demo here.
Contributions are welcome! Please fork the repository and create a pull request.
Made with 💖 by Rishu Raj
