Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Weather Prediction and Analysis Web App

Overview

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.

Features

1. Weather Prediction

  • 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.

2. Weather Visualization

  • 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.

3. Weather Analysis

  • 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.

Screenshots

Homepage SS Prediction SS Visualization SS Analysis SS

Technologies Used

Programming Languages & Frameworks

Libraries & Tools

Installation & Setup

Prerequisites

Ensure you have Python 3.7+ and pip installed. Then, install the required dependencies:

pip install django pandas matplotlib seaborn scikit-learn joblib git numpy

Run the Project

To run this project, open the command prompt and follow the steps below...

  1. Clone this repository:
git clone https://github.com/rasel-ml/EDGE-DataScience-Project.git
cd EDGE-DataScience-Project
  1. Run Django migrations:
python manage.py migrate
  1. Start the development server:
python manage.py runserver
  1. Open your browser and go to:
http://127.0.0.1:8000/

Project Structure

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

How to Use the App

1. Weather Analysis

  • Navigate to Weather Analysis.
  • Upload a dataset.
  • Get insights using Regression and Clustering models.

2. Weather Visualization

  • Go to Weather Visualization.
  • Upload a dataset (CSV or XLSX).
  • Click Upload to generate graphs.

3. Weather Prediction

  • 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.

Dataset

The dataset used for training and analysis was collected from Kaggle, containing historical weather data from 1901 to 2023.

License

This project is open-source and available under the MIT License.

Author

Md. Rasel Molla

About

A Django-based Python project for data science on weather prediction, analysis, and visualization using machine learning.

Topics

Resources

Stars

Watchers

Forks

Used by

Contributors

Languages