A complete end-to-end Machine Learning regression project to predict monthly house rent (₹) in Mumbai using property features like locality, house type, built-up area, furnishing status, and amenities.
The best-performing model is deployed as a Streamlit Web App on Streamlit Community Cloud for real-time predictions.
House rent in Mumbai varies heavily due to multiple factors such as location, size, furnishing, and facilities.
This project focuses on:
- Cleaning and preparing the dataset
- Handling outliers for better model performance
- Training multiple regression models
- Evaluating models using R² Score and RMSE
- Deploying the final model using Streamlit Cloud
- Predict monthly rent based on property details
- Compare multiple ML models and select the best one
- Provide a simple UI for rent prediction via Streamlit deployment
- Dataset Name: Mumbai House Rent Dataset
- File:
Mumbai_House_Rent.csv - Target Variable: Rent (Monthly Rent in ₹)
- Checked shape, columns, datatypes
- Verified missing values and duplicates
- Removed/handled null values (if any)
- Converted categorical features into numeric using encoding
- Prepared final feature set for model training
- Identified extreme values affecting rent prediction
- Handled outliers to reduce noise and improve stability
Trained and tested multiple regression models:
- Linear Regression
- Decision Tree Regressor
- Random Forest Regressor
Used:
- R² Score
- RMSE (Root Mean Squared Error)
Below are the results captured from the notebook outputs:
- R² Score: ~
0.56 - RMSE: ~
26908
- R² Score: ~
0.56 - RMSE: ~
26956
- R² Score: ~
0.74 - RMSE: ~
20638
📌 Best Model Selected: Random Forest Regressor
Because it achieved higher R² and lower RMSE, making predictions more accurate than other models.
This project is deployed on Streamlit Community Cloud to make rent prediction interactive and user-friendly.
Users can enter:
- 📍 Locality
- 🏘 House Type (1RK / 1BHK / 2BHK / 3BHK)
- 📐 Built-up Area (sq.ft)
- 🛋 Furnishing Status
- 🚿 Bathrooms
- 🌿 Balcony
- 🚗 Parking
…and instantly get the predicted monthly rent (₹).
👉 Streamlit App Link: https://mumbaihouserentprediction.streamlit.app/
- Python
- Pandas / NumPy (Data Processing)
- Matplotlib / Seaborn (EDA & Visualization)
- Scikit-learn (Model Training & Evaluation)
- Streamlit (Web App Deployment)
- Pickle (Model Saving)
├── Mumbai_House_Rent.csv # Dataset
├── HouseRentPredictor.ipynb # Notebook (EDA + Training + Evaluation)
├── FinalModel.pkl # Saved trained model
├── app.py # Streamlit app file
├── requirements.txt # Dependencies
└── README.md # Project documentationgit clone https://github.com/prathams0ni/Mumbai_House_Rent_Prediction_EDA_ML_Streamlit_Deployment.git
cd Mumbai_House_Rent_Prediction_EDA_ML_Streamlit_Deployment
python -m venv venv
venv\Scripts\activate
source venv/bin/activate
pip install -r requirements.txt
streamlit run app.pyThis project successfully demonstrates an end-to-end Machine Learning workflow for predicting monthly house rent prices in Mumbai.
The complete pipeline includes data cleaning, outlier handling, feature encoding, and training multiple regression models such as Linear Regression, Decision Tree, and Random Forest.
Based on model evaluation using R² Score and RMSE, the Random Forest Regressor achieved the best performance and was selected as the final model.
To make the solution practical and user-friendly, the final trained model was deployed on Streamlit Community Cloud, allowing users to input house details and get instant rent predictions in real-time.
https://mumbaihouserentprediction.streamlit.app/