GreenPrint_AI / README.md
Parishri07's picture
Update README.md
44adf9f verified
metadata
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.