Spaces:
Sleeping
Sleeping
Update README.md
Browse files
README.md
CHANGED
|
@@ -11,9 +11,71 @@ pinned: false
|
|
| 11 |
short_description: A futuristic take on carbon footprint + AI.
|
| 12 |
---
|
| 13 |
|
| 14 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 15 |
|
| 16 |
-
Edit `/src/streamlit_app.py` to customize this app to your heart's desire. :heart:
|
| 17 |
|
| 18 |
-
If you have any questions, checkout our [documentation](https://docs.streamlit.io) and [community
|
| 19 |
-
forums](https://discuss.streamlit.io).
|
|
|
|
| 11 |
short_description: A futuristic take on carbon footprint + AI.
|
| 12 |
---
|
| 13 |
|
| 14 |
+
# 🚀 GreenPrint AI
|
| 15 |
+
|
| 16 |
+
> A futuristic take on carbon footprint + AI.
|
| 17 |
+
|
| 18 |
+
## 🌍 Overview
|
| 19 |
+
|
| 20 |
+
**GreenPrint AI** is a user-friendly web app that predicts your **carbon footprint** based on daily activities and suggests actionable steps to reduce it. From energy consumption to travel and food habits, the app personalizes insights using machine learning.
|
| 21 |
+
|
| 22 |
+
---
|
| 23 |
+
|
| 24 |
+
## 🎯 Aim
|
| 25 |
+
|
| 26 |
+
To develop a carbon footprint detection system that:
|
| 27 |
+
- Takes input as user activities (e.g., electricity use, transport habits, meat consumption).
|
| 28 |
+
- Predicts the carbon footprint in kilograms of CO₂ equivalent.
|
| 29 |
+
- Recommends practical, low-carbon alternatives.
|
| 30 |
+
|
| 31 |
+
---
|
| 32 |
+
|
| 33 |
+
## 📊 Step-by-Step Project Workflow
|
| 34 |
+
|
| 35 |
+
### 🛠️ Step 1: Dataset Creation
|
| 36 |
+
|
| 37 |
+
- A synthetic dataset named `synthetic_carbon_footprint.csv` was generated using realistic formulas for CO₂ emissions from:
|
| 38 |
+
- **Electricity consumption**
|
| 39 |
+
- **Travel (personal & public)**
|
| 40 |
+
- **Dietary choices (meat)**
|
| 41 |
+
- **Plastic usage**
|
| 42 |
+
- These were computed using coefficients (e.g., kg CO₂ per kWh, km, gram of meat).
|
| 43 |
+
- The script `Creating_Dataset.ipynb` contains the exact formula-based generation logic.
|
| 44 |
+
|
| 45 |
+
---
|
| 46 |
+
|
| 47 |
+
### 🤖 Step 2: Model Training
|
| 48 |
+
|
| 49 |
+
- Model Used: RandomForestRegressor from scikit-learn
|
| 50 |
+
- Training done using `Running_Model.ipynb`
|
| 51 |
+
- Preprocessing involved:
|
| 52 |
+
- Feature scaling (`StandardScaler`)
|
| 53 |
+
- Ensuring input columns align with model_columns.pkl
|
| 54 |
+
- Splitting dataset into training/testing sets
|
| 55 |
+
- Evaluation metrics:
|
| 56 |
+
- **R² Score** for goodness-of-fit
|
| 57 |
+
- **Root Mean Squared Error (RMSE)** for prediction accuracy
|
| 58 |
+
- The trained model was saved as `carbon_model.pkl`
|
| 59 |
+
|
| 60 |
+
#### ✅ Why Random Forest Regressor?
|
| 61 |
+
|
| 62 |
+
RandomForestRegressor was chosen because:
|
| 63 |
+
- It handles non-linear relationships and interactions between features better than linear models.
|
| 64 |
+
- It’s robust to overfitting due to its ensemble nature.
|
| 65 |
+
- Outperformed linear models in testing, giving: Higher R² and Lower RMSE
|
| 66 |
+
- Offers feature importance insights, useful for explainability in a sustainability context.
|
| 67 |
+
|
| 68 |
+
---
|
| 69 |
+
|
| 70 |
+
### 🧠 Step 3: Feature Metadata Handling
|
| 71 |
+
|
| 72 |
+
- A `model_columns.pkl` file was created to store the expected feature column order.
|
| 73 |
+
- This prevents column mismatch during inference in the Streamlit frontend.
|
| 74 |
+
|
| 75 |
+
---
|
| 76 |
+
|
| 77 |
+
|
| 78 |
+
|
| 79 |
+
|
| 80 |
|
|
|
|
| 81 |
|
|
|
|
|
|