| ---
|
| language: [en]
|
| license: mit
|
| tags: [tabular-classification, loan-approval, loan-prediction, machine-learning, regression, classification, scikit-learn, streamlit]
|
| ---
|
|
|
|
|
| ---
|
|
|
|
|
|
|
| # โ๏ธ Thunderstorm Forecasting with MLflow Tracking
|
|
|
| An end-to-end **machine learning system for thunderstorm forecasting**, combining predictive modeling with **MLflow experiment tracking** to build, evaluate, and manage machine learning experiments.
|
|
|
| The project covers the complete ML workflow from **data preparation and feature engineering to model training, hyperparameter tuning, experiment tracking, and deployment**.
|
|
|
| ## ๐ Key Features
|
|
|
| * โ๏ธ Thunderstorm occurrence prediction
|
| * ๐ฆ๏ธ Weather data preprocessing
|
| * ๐ Exploratory data analysis
|
| * ๐ง Feature engineering
|
| * ๐ค Machine learning models
|
| * โ๏ธ Hyperparameter tuning
|
| * ๐ Model evaluation
|
| * ๐งช MLflow experiment tracking
|
| * ๐ฆ Model versioning
|
| * ๐ Deployment
|
|
|
| ## ๐ผ๏ธ Project Preview
|
|
|
| <p align="center">
|
| <img src="https://camo.githubusercontent.com/5d0066b22fc7be560fb201f27182d47afae97cf972eb29ab85f6b3cda40edac2/68747470733a2f2f6361726565722d706c6174666f726d2d6d61792d323032362e73332e61702d736f7574682d312e616d617a6f6e6177732e636f6d2f6b726973686e61696b2e696e2f6d656469612f70726f6a6563745f62616e6e6572732f2d7468756e64657273746f726d2d666f726563617374696e672d65303661653735303830633936326139386130303264306339363961316464652e6a7067" alt="Thunderstorm Forecasting Project" width="800">
|
| </p>
|
|
|
| ## ๐๏ธ System Architecture
|
|
|
| <p align="center">
|
| <img src="https://camo.githubusercontent.com/3181e91609f2daaad3bfd1d6965ccee4ceb4bdb439bf29c869bddd8a5f730e85/68747470733a2f2f6361726565722d706c6174666f726d2d6d61792d323032362e73332e61702d736f7574682d312e616d617a6f6e6177732e636f6d2f6b726973686e61696b2e696e2f6d656469612f70726f6a6563745f6172636869746563747572655f6469616772616d732f457863616c69647261775f5768697465626f6172645f2d5f476f6f676c655f4368726f6d655f315f355f323032365f395f31315f35345f504d2e706e67" alt="Thunderstorm Forecasting Architecture" width="850">
|
| </p>
|
|
|
| ## ๐ง ML Pipeline
|
|
|
| ```text
|
| Weather Data
|
| โ
|
| Data Validation
|
| โ
|
| Data Preprocessing
|
| โ
|
| Feature Engineering
|
| โ
|
| Train / Test Split
|
| โ
|
| Model Training
|
| โ
|
| Hyperparameter Tuning
|
| โ
|
| MLflow Experiment Tracking
|
| โ
|
| Model Evaluation
|
| โ
|
| Model Registry
|
| โ
|
| Deployment
|
| โ
|
| Thunderstorm Prediction
|
| ```
|
|
|
| ## ๐ Model Details
|
|
|
| | Property | Details |
|
| | ------------------- | --------------------------------- |
|
| | Task | Weather / Thunderstorm Prediction |
|
| | Domain | Weather Forecasting |
|
| | Data Type | Weather / Tabular Data |
|
| | Framework | Scikit-learn |
|
| | Experiment Tracking | MLflow |
|
| | Optimization | Hyperparameter Tuning |
|
| | Deployment | Web Application / API |
|
|
|
| ## ๐งช MLflow Tracking
|
|
|
| MLflow is used to track the machine learning lifecycle, including:
|
|
|
| * Model parameters
|
| * Evaluation metrics
|
| * Training experiments
|
| * Model artifacts
|
| * Experiment runs
|
| * Model versions
|
|
|
| This makes experiments **reproducible, comparable, and easier to manage**.
|
|
|
| ## ๐ Workflow
|
|
|
| 1. Load weather data.
|
| 2. Validate and preprocess the dataset.
|
| 3. Perform exploratory data analysis.
|
| 4. Engineer relevant weather features.
|
| 5. Train machine learning models.
|
| 6. Tune model hyperparameters.
|
| 7. Track experiments using MLflow.
|
| 8. Compare model performance.
|
| 9. Save the best-performing model.
|
| 10. Deploy the prediction pipeline.
|
|
|
| ## ๐ค Output
|
|
|
| The system predicts the likelihood of thunderstorm occurrence:
|
|
|
| ```text
|
| Thunderstorm Prediction: Yes / No
|
| Probability: <VALUE>
|
| ```
|
|
|
| The prediction should be treated as a **machine learning forecast**, not an official meteorological warning.
|
|
|
| ## ๐ป Run Locally
|
|
|
| ```bash
|
| git clone https://github.com/mdzaheerjk/Thunderstorm-Forecasting-with-MLFlow-Tracking.git
|
|
|
| cd Thunderstorm-Forecasting-with-MLFlow-Tracking
|
|
|
| pip install -r requirements.txt
|
|
|
| mlflow ui
|
|
|
| streamlit run app.py
|
| ```
|
|
|
| ## ๐ ๏ธ Tech Stack
|
|
|
| **Python โข Pandas โข NumPy โข Scikit-learn โข MLflow โข Matplotlib โข Seaborn โข Streamlit**
|
|
|
| ## โ ๏ธ Limitations
|
|
|
| Forecasting performance depends on the quality, coverage, and geographical diversity of the weather data.
|
|
|
| Real-world weather systems are highly dynamic, and predictions may be affected by unseen atmospheric conditions, data drift, and regional differences.
|
|
|
| This project should not replace official meteorological forecasting or emergency warning systems.
|
|
|
| ## ๐ฎ Future Improvements
|
|
|
| * Real-time weather data integration
|
| * Advanced time-series models
|
| * LSTM / GRU forecasting
|
| * Transformer-based weather models
|
| * Automated model retraining
|
| * MLflow Model Registry integration
|
| * Model monitoring and drift detection
|
| * Real-time weather alerts
|
| * Geospatial thunderstorm prediction
|
|
|
| ## ๐จโ๐ป Author
|
|
|
| **Md Zaheer JK**
|
|
|
| AI/ML โข Deep Learning โข Generative AI โข Computer Vision โข NLP โข MLOps
|
|
|
| GitHub: https://github.com/mdzaheerjk
|
| Hugging Face: https://huggingface.co/zaheerjk
|
|
|
| ## ๐ License
|
|
|
| MIT License
|
|
|
| ---
|
|
|
| ### โ๏ธ From Weather Data to Actionable Thunderstorm Predictions
|
|
|
|
|