In this project, we aim to predict weather conditions using machine learning models. We focus on two main tasks:
- Classification: Predicting the "type of day" (e.g., sunny, rainy, cloudy).
- Regression: Predicting "how much it will rain" (precipitation percentage).
The dataset used for this project is sourced from Kaggle and can be found in the file weather_classification_data.csv
.
- Random Forest Classifier: The primary model used for predicting the type of day. Detailed implementation can be found in
4_random_forest_adjusted.ipynb
.
- Random Forest Regressor: The primary model used for predicting the amount of rainfall. Detailed implementation can be found in
8_random_forest_regressor.ipynb
.
- K-Nearest Neighbors (KNN): Explored in
2_knn_classifier.ipynb
. - Gradient Boosting: Explored in
5_gradient_boosting.ipynb
.
After experimenting with various models, we found that the Random Forest models provided the best performance for both classification and regression tasks.
- Classification Accuracy: Achieved high accuracy in predicting the type of day using the Random Forest Classifier.
- Regression Performance: Successfully predicted the amount of rainfall with the Random Forest Regressor.
The Random Forest models were chosen for their superior performance in both classification and regression tasks. This project demonstrates the effectiveness of ensemble methods in weather prediction.
Feel free to explore the notebooks for detailed code and analysis:
4_random_forest_adjusted.ipynb
8_random_forest_regressor.ipynb
2_knn_classifier.ipynb
5_gradient_boosting.ipynb
Happy coding! 😊