Skip to content

🌦️ A Flask-based ML web app for classifying weather types (Sunny, Rainy, Cloudy, Snowy) using multiple models. β›…βš‘β„οΈ

License

Notifications You must be signed in to change notification settings

JiteshShelke/Weather-Type-Classification-WebApp

Repository files navigation

🌦️ Weather Type Classification WebApp

πŸš€ Overview

A machine learning-powered web application for predicting weather types based on various atmospheric conditions. Built using Flask and multiple ML models, this app classifies weather into Rainy β˜”, Cloudy ☁️, Sunny β˜€οΈ, and Snowy ❄️.

πŸ—οΈ Features

  • βœ… Uses Logistic Regression, Decision Tree, Random Forest, SVM, and KNN models.
  • βœ… Web-based interface built with Flask & HTML/CSS.
  • βœ… User-friendly input form for weather parameters.
  • βœ… Real-time predictions.
  • βœ… Interactive UI with weather-themed pages.

πŸ–ΌοΈ Screenshots

Home Page Prediction Output
Home Result

πŸ› οΈ Tech Stack

  • Frontend: HTML, CSS, JavaScript
  • Backend: Flask
  • Machine Learning: Scikit-Learn, Joblib, Pandas, NumPy

πŸ“‚ Folder Structure

πŸ“¦ Weather-Type-Classification-WebApp
β”œβ”€β”€ πŸ“‚ static        # CSS, JS, and images
β”œβ”€β”€ πŸ“‚ templates     # HTML files (home, results pages)
β”œβ”€β”€ models       # Saved ML models (joblib/pickle format)
β”œβ”€β”€ app.py          # Flask application
β”œβ”€β”€ requirements.txt # Dependencies
└── README.md       # Project documentation

πŸ”§ Installation & Usage

1️⃣ Clone the Repository

git clone https://github.com/yourusername/Weather-Type-Classification-WebApp.git
cd Weather-Type-Classification-WebApp

2️⃣ Install Dependencies

pip install -r requirements.txt

3️⃣ Run the Application

python app.py

Open the browser and go to: http://127.0.0.1:5000/

🎯 How It Works

  1. Enter weather-related inputs in the web form.
  2. Click "Predict" to classify the weather type.
  3. The app displays the predicted weather category.

πŸ› οΈ Model Training

  • The dataset is preprocessed and split into training and testing sets.
  • Different ML models are trained, and the best-performing model is selected.
  • The selected model is saved using joblib.

πŸ† Results & Accuracy

Model Accuracy
Logistic Regression 85%
Decision Tree 88%
Random Forest 92%
SVM 90%
KNN 87%

🀝 Contribution

Contributions are welcome! Please follow these steps:

  1. Fork the repository.
  2. Create a new branch.
  3. Commit your changes.
  4. Open a Pull Request.

πŸ“œ License

This project is licensed under the MIT License.


Made with ❀️ by Jitesh Shelke

Releases

No releases published

Packages

No packages published