{"id":29089293,"url":"https://github.com/theanujsinha01/rainfall-prediction-using-machine-learning","last_synced_at":"2026-04-11T17:40:18.202Z","repository":{"id":301509674,"uuid":"1009473032","full_name":"theanujsinha01/Rainfall-Prediction-Using-Machine-Learning","owner":"theanujsinha01","description":"This project predicts whether it will rain or not based on weather features like pressure, humidity, dew point, cloud cover, sunshine, wind direction, and wind speed.  We use a Random Forest Classifier, a popular ML algorithm, trained on historical weather data. The model learns patterns and helps us forecast rain chances.","archived":false,"fork":false,"pushed_at":"2025-06-27T07:39:46.000Z","size":379,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-27T08:35:08.387Z","etag":null,"topics":["classification","data-analysis","eda","machine-learning-algorithms","matplotlib","numpy","pandas","python","scikit-learn","seaborn","supervised-learning"],"latest_commit_sha":null,"homepage":"https://rainfall-prediction-using-machine-learning.streamlit.app/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/theanujsinha01.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-27T07:30:43.000Z","updated_at":"2025-06-27T07:57:52.000Z","dependencies_parsed_at":"2025-06-27T08:46:55.837Z","dependency_job_id":null,"html_url":"https://github.com/theanujsinha01/Rainfall-Prediction-Using-Machine-Learning","commit_stats":null,"previous_names":["theanujsinha01/rainfall-prediction-using-machine-learning"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/theanujsinha01/Rainfall-Prediction-Using-Machine-Learning","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theanujsinha01%2FRainfall-Prediction-Using-Machine-Learning","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theanujsinha01%2FRainfall-Prediction-Using-Machine-Learning/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theanujsinha01%2FRainfall-Prediction-Using-Machine-Learning/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theanujsinha01%2FRainfall-Prediction-Using-Machine-Learning/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/theanujsinha01","download_url":"https://codeload.github.com/theanujsinha01/Rainfall-Prediction-Using-Machine-Learning/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theanujsinha01%2FRainfall-Prediction-Using-Machine-Learning/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262371662,"owners_count":23300591,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["classification","data-analysis","eda","machine-learning-algorithms","matplotlib","numpy","pandas","python","scikit-learn","seaborn","supervised-learning"],"created_at":"2025-06-28T04:01:33.644Z","updated_at":"2026-04-11T17:40:18.150Z","avatar_url":"https://github.com/theanujsinha01.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rainfall-Prediction-Using-Machine-Learning\nThis project predicts whether it will rain or not based on weather features like pressure, humidity, dew point, cloud cover, sunshine, wind direction, and wind speed.  We use a Random Forest Classifier, a popular ML algorithm, trained on historical weather data. The model learns patterns and helps us forecast rain chances.\nThis project is a **web-based application** that predicts whether it will rain today based on real-world weather input features like pressure, humidity, cloud cover, sunshine, etc. It uses a **Random Forest Classifier** trained on historical weather data and is deployed as an interactive **Streamlit app**.\n\n---\n## Live : https://rainfall-prediction-using-machine-learning.streamlit.app/\n## 📌 Problem Statement\n\nPredicting rainfall is crucial in weather forecasting. It helps:\n- Farmers plan irrigation and harvesting.\n- People manage daily travel plans.\n- Cities prepare for flood alerts or water conservation.\n\nTraditional methods require large infrastructure, but machine learning can make accurate predictions from past weather patterns.\n\n---\n\n## 🎯 Objective\n\nTo build a machine learning model that:\n- Takes weather features as input.\n- Predicts whether it will rain or not.\n- Provides results through a simple and user-friendly web app.\n\n---\n\n## 📊 Features of the App\n\n✅ Predicts Rain or No Rain  \n✅ Easy-to-use UI built with **Streamlit**  \n✅ Takes 7 weather parameters as input  \n✅ Displays prediction with icons: ☀️ / 🌧️  \n✅ Trained using **Random Forest Classifier**  \n✅ Model saved and loaded using **joblib**\n\n---\n\n## 🧪 Input Features Used for Prediction\n\n| Feature         | Description                   |\n|----------------|-------------------------------|\n| `pressure`      | Atmospheric pressure (hPa)     |\n| `dewpoint`      | Dew point temperature (°C)     |\n| `humidity`      | Relative humidity (%)          |\n| `cloud`         | Cloud cover (%)                |\n| `sunshine`      | Sunshine duration (hours)      |\n| `winddirection` | Wind direction in degrees (°)  |\n| `windspeed`     | Wind speed in km/h             |\n\n---\n\n## 🧠 Machine Learning Model\n\n- **Algorithm Used**: `RandomForestClassifier` (from Scikit-learn)\n- **Model Training Steps**:\n  - Data Preprocessing\n  - Train-Test Split\n  - Feature Selection\n  - Model Tuning with GridSearchCV\n- **Evaluation Metrics**:\n  - Accuracy\n  - Confusion Matrix\n  - Classification Report\n- **Model Deployment**:\n  - Saved as `.pkl` file using `joblib`\n  - Loaded into the Streamlit app for prediction\n\n---\n\n## 🛠️ Tech Stack\n\n| Tool/Library    | Purpose                      |\n|----------------|-------------------------------|\n| Python          | Programming Language          |\n| Pandas \u0026 NumPy  | Data handling and processing  |\n| Scikit-learn    | Machine Learning model        |\n| Matplotlib \u0026 Seaborn | Data Visualization       |\n| Joblib          | Model saving/loading          |\n| Streamlit       | Web App frontend              |\n\n---\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheanujsinha01%2Frainfall-prediction-using-machine-learning","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftheanujsinha01%2Frainfall-prediction-using-machine-learning","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheanujsinha01%2Frainfall-prediction-using-machine-learning/lists"}