Skip to content

predicts whether it will rain or not in next day of Australia in different locations.

License

Notifications You must be signed in to change notification settings

OvinduWijethunge/Next-Day-Rain-Predicts-In-Australia

Repository files navigation

Tomorrow Rain Prediction in Australia - Deployment




This Application has created for predicts whether it will rain or not in next day of Australia it can predicts for differrernt locations in Australia by considering sevarel factors. basically application has a gradient boosting ML model for predictions. and also it has trained by without using hyperparameter tuning. because of I have not much enough computation power for do the hyperparameter tuning. ( but I reccomand for do hyperparameter tuning if it is possible)


This repository consists of files required to deploy a ___WEB APPLICATION___ created by using ___Flask___ on ___Heroku___ server.


Data set got from kaggle, if you like to inspect it just click this link _https://www.kaggle.com/jsphyg/weather-dataset-rattle-package_. it has over 100 000 data records with 23 columns.


You can see deployed model in heroku , use below link for reach to deployed model:
Heroku: https://kangaroo-rain.herokuapp.com/


Technology Adopted

• Front-End: HTML, CSS, Bootstrap (got help form Nicepage builder for make some templates)
• Back-End: Flask
• IDE: Jupyter notebook, Google colab, Spyder

WorkFlow

Data PreProcessing

• Missing Values Handled by Random Sample imputation, mean, median, mode imputation and predict some missing columns values by using simple ML models.
• Categorical Values like location, wind direction are handled by using Target guided encoding.
• Outliers were handled using Tukey method (IQR).
• Feature transformation was done by using severl methods such as log, boxcox, reciporal, square root transformation.
• Data visualization were done by using matplotlib and seborn.
• Imbalanced Dataset was handled using RandomOverSampler (I reccomand for use SMOTE also).

If you are willing to check project in flask

You must basically have Scikit Learn, Pandas (for Machine Leraning Model) and Flask installed.

Project Structure

This project has four major parts

  1. model.pkl - This is our built model for predict values.
  2. app.py - This contains Flask APIs that receives details through GUI , computes the precited value based on our model and returns it.
  3. static - This uses for store css files and some images for while presenting.
  4. templates - This folder contains the HTML template to allow user to enter required detail and displays the predicted result.

Running the project in flask API

• First create a virtual environment by using conda create -n rain python=3.9 command and activate it by using conda activate rain command
• Install requirements.txt file by using pip install -r requirements.txt command,it will install all of essential dependancies.
• Type python app.py for start your server.
• Then copy the given url and paste it in your browser.
• Then input valid inputs and do prediction.

About

predicts whether it will rain or not in next day of Australia in different locations.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published