# π CO2 Emission Modeling in Rwanda
This repository contains a **machine learning project** for predicting COβ emissions in Rwanda. It includes:
- **Jupyter Notebook** for exploratory data analysis (EDA) and model training.
- **Streamlit Dashboard** for interactive visualization of COβ emissions on the map of Rwanda.
- **PDF report** summarizing results and insights.
## π Project Overview
- **Dataset**: Kaggle Playground Series S3E20
- **Goal**: Predict COβ emissions based on weekly measurements across locations in Rwanda.
- **Users**: Researchers & environmental policy managers.
- **Machine Learning Models Used**:
- XGBoost
- CatBoost
- LightGBM
- Random Forest
- **Feature Engineering**:
- Rolling means (moving averages).
- Sine/cosine transformations for cyclical features (weeks of year).
- Normalization & scaling.
- Handling missing values & outliers.
- **Evaluation Metric**: `RMSE` (Root Mean Squared Error).
## βοΈ How to Run
1. Install dependencies: `pip install -r requirements.txt`
2. Run the notebook: `jupyter notebook co2-modeling\ (9).ipynb`
## π¦ Dependencies
**Main Python libraries used:**
- pandas, numpy β data processing
- geopandas, folium, pydeck, plotly β geospatial visualization
- scikit-learn β ML utilities
- xgboost, catboost, lightgbm, randomforest β ML models
- optuna β hyperparameter tuning (optional)
- streamlit β dashboard UI
## π Results
Best model achieved low RMSE for emission prediction.
Clear spatial and temporal patterns in Rwandaβs COβ emissions.
Dashboard enables easy exploration by policymakers and researchers.
## π License
This project is released under the MIT License. Feel free to use, modify, and share with attribution.
## Demo