Machine Learning for Weather Forecasting


Table of Contents

  1. Introduction
  2. Features
  3. Dashboard
  4. Solution Architecture
  5. Data Flow
  6. Work Flow
  7. Modeling
  8. Links


Machine learning for climate forecasting addresses the pressing real-world problem of accurately predicting and understanding climate patterns. Climate change has severe consequences on ecosystems, agriculture, and human lives. By harnessing the power of machine learning algorithms, this project aims to enhance climate models, enabling more precise and reliable forecasts. The impact is significant as it assists policymakers, researchers, and communities in making informed decisions related to disaster management, agriculture, energy, and urban planning. Improved climate forecasting can aid in mitigating the effects of climate change, minimizing risks, and promoting sustainable development, ultimately fostering a resilient and adaptive society. For this project we are mainly focused on precipitation forecasting.


  1. Select Date: Users can enter any date and easily get the prediction.
  2. Select Region: User can select any wanted district to get predictions. For now we got the dataset relevent to Puttalam District. Otherwise if the user have relevent datasets he can upload it and get the results easily.
  3. Easy Prediction





Solution Architecture


Web-Based Precipitation Forecasting Solution Architecture

Our web-based precipitation forecasting solution combines modern technologies to provide accurate and timely precipitation predictions. The architecture comprises a React.js frontend, a Flask backend, an SQLite database, MLflow for model registration and management, and Jupyter notebooks for model testing and development.

Frontend (React.js):

Backend (Flask):

Database (SQLite):


Jupyter Notebooks:

This architecture ensures a scalable, robust, and efficient system for accurate precipitation forecasting with easy model management and development.

Data Flow

The prediction of Puttalam district will happen from the already uploaded dataset. If the user wants any other district’s prediction and if he have the dataset with him he can upload the data set via our system and the model will get the prediction via our trained ML model.


Work Flow


Data preprocessing

Created a target column which is a one month ahead prediction Checked missing values and duplicates

Feature selection

Checked constant, quasi-constant features Check feature to feature correlations and dropped highly correlated redundant features Got important feature to the target using feature importance method

Model selection

Applied models

Model evaluation

Did hyper parameter tunings for models and improved the accuracy.

Choose Random Forest regression model as our final model.