Skip to content

MeshalAlamr/rain-prediction

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rain-prediction

SDAIA Bootcamp Project 3 - Classification.

This project aims to help firefighters in fighting forest fires by predicting whether it will rain tomorrow or not. By doing so, the firefighters can focus more on areas that will not be rainy.

A CatBoost classification model is applied to forecast the rain status tomorrow based on the Rain in Australia dataset from Kaggle.

Table of Contents

Project MVP

The project MVP can be found here.

Dataset

The dataset for this project is the Rain in Australia dataset from Kaggle.

In total, the data consists of 145,460 rows and 23 columns.

Our target is the "RainTomorrow" column.

Analysis and Results

The project notebook can be found here.

Feature Importance:

feature-importance

Experiments:

The project notebook includes a total of 28 experiments including:

  • 4 Models : Random Forest, Logistic Regression, XGBoost and CatBoost.
  • 3 Sampling Techniques: SMOTE, ADASYN and Random Oversampling.
  • Feature Engineering (+5 features).
  • MinMax Scaling.

The final selected model is the CatBoost model with:

Metric Score
Precision 0.82
Recall 0.63
F1 0.71
Accuracy 0.89

Using ADASYN, MinMax scaling and no exta features from feature engineering.

Confusion Matrix:

confusion-matrix

AUC - ROC Curve

auc-roc

Note: The final model was selected based on precision since we care about reducing the false positive which is predicting that it will rain tomorrow when it will actually not. This will affect the firefighters work as they may ignore an area since it is predicted to be rainy while it's actually not, risking that it could cause fires to spread further.

The final model can be found here.

Presentation

The presentation can be found here.

Mobile App

We've also developed an app on Android that gets the location input by the user, uses the Weatherstack API to get weather data for that location and displays them, then predicts whether it will rain tomorrow or not.

app

Below, a demo of the mobile app is shown:

app

Authors

About

Predicting whether or not it will rain tomorrow using a CatBoost classification model based on the Rain in Australia dataset from Kaggle.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors