Skip to content

maheera421/Rainfall-Prediction-Model

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

7 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŒง๏ธ Rainfall Prediction in Australia

This project uses a historical weather dataset from various locations in Australia to predict whether it will rain tomorrow. By applying multiple classification algorithms and proper data preprocessing techniques, the model aims to provide accurate and actionable weather forecasts.

๐Ÿ“‚ Dataset

  • Source: Kaggle - Rain in Australia Dataset
  • Features include: temperature, humidity, wind direction/speed, pressure, cloud cover, and more.
  • Target variable: RainTomorrow โ€” a binary label indicating whether it rained the next day.

๐Ÿ“Œ Objectives

  • Preprocess raw weather data (handle missing values, encode categorical data, remove outliers)
  • Address class imbalance using oversampling
  • Perform feature selection and scaling
  • Train and evaluate multiple ML models (Logistic Regression, Decision Tree, Neural Network)
  • Compare model performance
  • Predict rainfall for a new sample based on current weather data

๐Ÿงช Technologies Used

  • Python
  • Jupyter Notebook
  • pandas, NumPy
  • scikit-learn
  • seaborn, matplotlib

๐Ÿงฐ ML Models Trained

  • Logistic Regression
  • Decision Tree Classifier
  • Neural Network (MLPClassifier)

๐Ÿ“ˆ Evaluation Metrics

  • Accuracy
  • Precision
  • Recall
  • F1 Score

๐Ÿงผ Data Preprocessing Steps

  • Imputation using median values
  • Label Encoding for categorical variables
  • One-hot encoding for nominal features
  • Outlier removal using IQR
  • Feature selection using SelectKBest

๐Ÿ”ฎ Making Predictions

Once trained, the model can take a single row of current-day weather data (excluding the label) and predict whether it will rain the next day.

๐Ÿ“Š Results

  • Model comparison visualized with bar and line plots
  • Neural Network outperformed other models in accuracy (example onlyโ€”adjust based on your actual results)

๐Ÿ“Ž Conclusion

This project demonstrates the power of combining traditional machine learning algorithms with thorough data preprocessing to solve real-world binary classification problems. The rainfall prediction system could help in agriculture planning, water resource management, and public safety.

Releases

No releases published

Packages

No packages published