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/
• Front-End: HTML, CSS, Bootstrap (got help form Nicepage builder for make some templates)
• Back-End: Flask
• IDE: Jupyter notebook, Google colab, Spyder
• 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).
You must basically have Scikit Learn, Pandas (for Machine Leraning Model) and Flask installed.
This project has four major parts
- model.pkl - This is our built model for predict values.
- app.py - This contains Flask APIs that receives details through GUI , computes the precited value based on our model and returns it.
- static - This uses for store css files and some images for while presenting.
- templates - This folder contains the HTML template to allow user to enter required detail and displays the predicted result.
• 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.