This project is a Django-based web application that allows users to:
- Predict weather conditions (rainfall or temperature) based on historical data.
- Visualize weather trends using uploaded datasets.
- Analyze weather patterns using machine learning techniques.
- Update weather-related datasets.
The project was developed as part of the Data Science with Python course and utilizes scikit-learn, Matplotlib, Seaborn, and Pandas for data analysis and visualization.
- Users can input Month, Year, and Temperature to predict Rainfall.
- Alternatively, users can input Month, Year, and Rainfall to predict Temperature.
- The model is trained once using historical weather data from 1901 to 2023.
- Uses Linear Regression from scikit-learn.
- Users can upload a dataset (CSV, XLSX) containing columns: Year, Month, Rain, Temperature.
- The application generates various graphs like:
- Rainfall vs. Temperature
- Monthly Rainfall Trends
- Yearly Temperature Changes
- Other statistical insights.
- Uses Linear Regression and K-Means Clustering to analyze patterns such as:
- Which months have the highest/lowest rainfall?
- Which years had extreme weather conditions?
- Temperature trends over the years.
- Seasonal variations in rainfall and temperature.
- Python (Backend logic, Machine Learning, Data Processing)
- Django (Web Framework)
- HTML, CSS, JavaScript (Frontend)
- Jupyter Notebook (Model training & Data analysis)
- Pandas (Data handling)
- Matplotlib & Seaborn (Visualization)
- scikit-learn (Machine Learning models: Linear Regression, K-Means Clustering)
- Joblib (Model persistence for predictions)
Ensure you have Python 3.7+ and pip installed. Then, install the required dependencies:
pip install django pandas matplotlib seaborn scikit-learn joblib git numpyTo run this project, open the command prompt and follow the steps below...
- Clone this repository:
git clone https://github.com/rasel-ml/EDGE-DataScience-Project.git
cd EDGE-DataScience-Project- Run Django migrations:
python manage.py migrate- Start the development server:
python manage.py runserver- Open your browser and go to:
http://127.0.0.1:8000/
Weather Prediction and Analysis Web App
├── myapp/
│ ├── migrations/
│ │ └── __init__.py
│ ├── static/
│ │ ├── dataset/
│ │ │ └── Weather_data.csv
│ │ ├── image/
│ │ │ ├── analysis.jpeg
│ │ │ ├── bg.jpeg
│ │ │ ├── prediction.jpeg
│ │ │ ├── update.jpeg
│ │ │ └── visualization.jpeg
│ │ ├── model/
│ │ │ ├── rain_model.joblib
│ │ │ └── temp_model.joblib
│ │ ├── script/
│ │ │ └── prediction.js
│ │ └── style/
│ │ ├── graphs.css
│ │ ├── home.css
│ │ ├── prediction.css
│ │ └── visualization.css
│ ├── templates/
│ │ ├── analysis.html
│ │ ├── graphs.html
│ │ ├── home.html
│ │ ├── prediction.html
│ │ ├── process.html
│ │ ├── update.html
│ │ ├── visualization.html
│ │ ├── weather_analysis_result.html
│ │ └── weather_prediction_result.html
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── models.py
│ ├── tests.py
│ ├── urls.py
│ └── views.py
├── mysite/
│ ├── __init__.py
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── Project Report/
│ └── Data Science Project Report on Weather Prediction and Analysis.pdf
├── Screenshots/
│ ├── Analysis_ss.png
│ ├── Home_ss.png
│ ├── Prediction_ss.png
│ └── Visualization_ss.png
│── uploads/
│── db.sqlite3
│── manage.py
│── requirements.txt
└── README.md
- Navigate to Weather Analysis.
- Upload a dataset.
- Get insights using Regression and Clustering models.
- Go to Weather Visualization.
- Upload a dataset (CSV or XLSX).
- Click Upload to generate graphs.
- Navigate to Weather Prediction page.
- Choose between Rainfall Prediction or Temperature Prediction.
- Enter the required input values.
- Click Predict to get results.
The prediction are inaccurate due to imature dataset.
The dataset used for training and analysis was collected from Kaggle, containing historical weather data from 1901 to 2023.
This project is open-source and available under the MIT License.



