This project predicts rainfall patterns in the Delhi NCR region using machine learning and provides an interactive user interface built with Streamlit.
The problem is addressed in two ways:
- Classification: Predict whether it will rain (Yes / No)
- Regression: Predict the amount of rainfall
The models are trained on historical daily weather data (2014–2024) collected for major cities in Delhi NCR.
Delhi NCR
(Cities include Delhi, Noida, Greater Noida, Ghaziabad, Gurugram, Faridabad)
- Data Type: Historical daily weather data
- Time Period: 2014–2024
- Source: Open-Meteo Historical Weather API
- Maximum & minimum temperature
- Relative humidity
- Wind speed
- Precipitation hours
- Rainfall (daily sum)
- Rain Occurrence → Classification
- Rainfall Amount → Regression
- Python
- Pandas, NumPy
- Scikit-learn
- Matplotlib, Seaborn
- XGBoost
- Streamlit
- Logistic Regression
- Random Forest Classifier
- XGBoost Classifier
- Linear Regression
- Random Forest Regressor
- XGBoost Regressor
- Classification: Accuracy, Precision, Recall
- Regression: RMSE, R² Score
- Data Loading
- Exploratory Data Analysis (EDA)
- Data Preprocessing
- Feature Engineering
- Train–Test Split
- Classification Modeling
- Regression Modeling
- Model Evaluation
- Conclusion & Future Scope
The project includes an interactive Streamlit web application (app.py) that allows users to:
- Enter weather-related input features
- Predict rain occurrence
- Estimate rainfall amount in real time
This demonstrates the deployment of machine learning models in a user-friendly interface.
git clone https://github.com/biibekk/Rainfall-Prediction-Delhi-NCR-ML.git
cd Rainfall-Prediction-Delhi-NCR-MLpython -m venv venvsource venv/bin/activatevenv\Scripts\activatepip install -r requirements.txtstreamlit run app.py