Rain-Prediction

𝐑𝐚𝐢𝐧𝐟𝐚𝐥𝐥 𝐏𝐫𝐞𝐝𝐢𝐜𝐭𝐢𝐨𝐧 𝐒𝐲𝐬𝐭𝐞𝐦

This project is a Rainfall Prediction System that uses Machine Learning to predict whether it will rain tomorrow based on historical weather data. The system is built with Python, Flask, and Scikit-learn, and provides predictions through a simple web interface.

𝐅𝐞𝐚𝐭𝐮𝐫𝐞𝐬

Data Input: Users can input various weather parameters like humidity, temperature, wind speed, etc. Prediction: The system predicts whether it will rain the next day based on the input data. Machine Learning Model: A trained Random Forest Classifier is used to perform predictions. Web Interface: A user-friendly web interface built with Flask. API Integration: Capable of serving predictions via API endpoints.

𝐓𝐞𝐜𝐡𝐧𝐨𝐥𝐨𝐠𝐢𝐞𝐬 𝐔𝐬𝐞𝐝

Backend: Flask (Python)

Frontend: HTML, CSS, JavaScript

Machine Learning: Scikit-learn (Random Forest Classifier)

Other Libraries: Pandas, NumPy, Pickle

𝐏𝐫𝐨𝐣𝐞𝐜𝐭 𝐒𝐭𝐫𝐮𝐜𝐭𝐮𝐫𝐞

Rain-Prediction-System/
  │
  ├── app.py                # Main application script
  ├── models/
  │     └── model1            # Serialized trained model (Random Forest Classifier)
  ├── static/               # Static files (CSS, JS)
  ├── templates/
  │   └── index.html        # Main HTML page
  ├── dataset/
  │   └── weather.csv       # Historical weather data used for training
  ├── requirements.txt      # Python dependencies
  └── README.md             # Project documentation

𝐒𝐨𝐦𝐞 𝐬𝐜𝐫𝐞𝐞𝐧𝐬𝐡𝐨𝐭𝐬 𝐨𝐟 𝐭𝐡𝐞 𝐚𝐩𝐩 Screenshot 2024-09-14 103630

Screenshot 2024-09-14 103643

Screenshot 2024-09-14 103703

Screenshot 2024-09-14 103725

Screenshot 2024-09-14 104356

𝐈𝐧𝐬𝐭𝐚𝐥𝐥𝐚𝐭𝐢𝐨𝐧

git clone https://github.com/your-username/Rain-Prediction-System.git cd Rain-Prediction-System

𝐒𝐞𝐭 𝐮𝐩 𝐚 𝐕𝐢𝐫𝐭𝐮𝐚𝐥 𝐄𝐧𝐯𝐢𝐫𝐨𝐧𝐦𝐞𝐧𝐭 (𝐨𝐩𝐭𝐢𝐨𝐧𝐚𝐥 𝐛𝐮𝐭 𝐫𝐞𝐜𝐨𝐦𝐦𝐞𝐧𝐝𝐞𝐝)

python -m venv myenv myenv\Scripts\activate python3 -m venv myenv source myenv/bin/activate

𝐈𝐧𝐬𝐭𝐚𝐥𝐥 𝐃𝐞𝐩𝐞𝐧𝐝𝐞𝐧𝐜𝐢𝐞𝐬

pip install -r requirements.txt

𝐇𝐨𝐰 𝐈𝐭 𝐖𝐨𝐫𝐤𝐬

𝐈𝐧𝐩𝐮𝐭: Users input relevant weather features (e.g., temperature, wind speed, humidity). 𝐌𝐨𝐝𝐞𝐥: The Random Forest model takes these inputs and predicts the likelihood of rainfall for the next day. 𝐎𝐮𝐭𝐩𝐮𝐭: The result is displayed on the web interface, indicating whether rain is expected.

𝐃𝐚𝐭𝐚𝐬𝐞𝐭

The dataset used for training the model comes from the Australian Weather Data. This dataset contains weather observations from various locations in Australia. It includes features such as temperature, humidity, wind speed, and rainfall.

𝐅𝐮𝐭𝐮𝐫𝐞 𝐈𝐦𝐩𝐫𝐨𝐯𝐞𝐦𝐞𝐧𝐭𝐬

Improve the accuracy of the model by fine-tuning the hyperparameters. Add additional weather parameters for better prediction accuracy. Deploy the project on a cloud platform like AWS, Heroku, or Azure. Implement a more user-friendly front-end with real-time weather data integration.

𝐋𝐢𝐜𝐞𝐧𝐬𝐞

This project is licensed under the MIT License. Feel free to modify and distribute it as per the terms.