australian weather analysis and rain prediction

purpose

This repository aims to deliver rain prediction models and their performance alongside weather analysis reports created with data provided by Australien weather data between 2007 to 2017. all models used in this app are in Australia_rain_prediction.


introduction

this web app has two parts which are rainfall analysis and how pressure, humidity relates to rainfall and wind direction analysis and the other part is rain prediction models comparisons on each other and users can enter data relevant to model inputs and it predicts the probability of rain or not in tomorrow. It’s published on Heroku. reports provide various pieces of information on weather data, and reports can drill down to deep using filters. comparisons on models done through ROC and ACU graphs. also predicted labels compare with true labels in histograms. confusion matrix provided with each model for more clarifications.


models

these models are binary class, prediction models. most popular and widely used algorithms are used to build these models and then use ensembling methods to optimize baseline models to get correct predictions as much as possible. data used to train are feature engineered using imputations, encoding, transformation. all algorithms are coded from scratch using NumPy and then compare with scikit learn models using the same states. feature selection is done using the Pearson correlation coefficient algorithm. full data frame divided into to by 80:20 ratio and 80% of data used to train the model and 20% of data used to testing. evaluations are done through several methods: the number of successful predictions done by each model, ROC curves, and AUC.


  • K Nearest Neighbors 83.48

  • Logistic Clasification 83.42

  • CART model 83.25

  • Linear Regression based classification 73.22

  • Gradient Boosting 83.94

Ensemble models

  • Stacking 83.5

  • Boosting 83.41

  • Bagging 83.59

  • Random forest 84.07

links