Spaces:
Sleeping
Sleeping
| title: GreenPrint AI | |
| emoji: 🚀 | |
| colorFrom: red | |
| colorTo: red | |
| sdk: docker | |
| app_port: 8501 | |
| tags: | |
| - streamlit | |
| pinned: false | |
| short_description: A futuristic take on carbon footprint + AI. | |
| # 🌿 GreenPrint AI | |
| > A futuristic take on carbon footprint + AI. | |
| ## Overview | |
| **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. | |
| --- | |
| ## Aim | |
| To develop a carbon footprint detection system that: | |
| - Takes input as user activities (e.g., electricity use, transport habits, meat consumption). | |
| - Predicts the carbon footprint in kilograms of CO₂ equivalent. | |
| - Recommends practical, low-carbon alternatives. | |
| --- | |
| ## Step-by-Step Project Workflow | |
| ### Step 1: Dataset Creation | |
| - A synthetic dataset named `synthetic_carbon_footprint.csv` was generated using realistic formulas for CO₂ emissions from: | |
| - **Electricity consumption** | |
| - **Travel (personal & public)** | |
| - **Dietary choices (meat)** | |
| - **Plastic usage** | |
| - These were computed using coefficients (e.g., kg CO₂ per kWh, km, gram of meat). | |
| - The script `Creating_Dataset.ipynb` contains the exact formula-based generation logic. | |
| --- | |
| ### Step 2: Model Training | |
| - Model Used: RandomForestRegressor from scikit-learn | |
| - Training done using `Running_Model.ipynb` | |
| - Preprocessing involved: | |
| - Feature scaling (`StandardScaler`) | |
| - Ensuring input columns align with model_columns.pkl | |
| - Splitting dataset into training/testing sets | |
| - Evaluation metrics: | |
| - **R² Score** for goodness-of-fit | |
| - **Root Mean Squared Error (RMSE)** for prediction accuracy | |
| - The trained model was saved as `carbon_model.pkl` | |
| ### Why Random Forest Regressor? | |
| - It handles non-linear relationships and interactions between features better than linear models. | |
| - It’s robust to overfitting due to its ensemble nature. | |
| - Outperformed linear models in testing, giving: Higher R² and Lower RMSE | |
| - Offers feature importance insights, useful for explainability in a sustainability context. | |
| --- | |
| ### Step 3: Feature Metadata Handling | |
| - A `model_columns.pkl` file was created to store the expected feature column order. | |
| - This prevents column mismatch during inference in the Streamlit frontend. | |
| --- | |