Machine learning framework for predicting building life cycle carbon emissions using XGBoost, SHAP, PDP, and scenario analysis.
# Building-Life-Cycle-Carbon-Prediction-Ethiopia
Machine learning framework for predicting building life cycle carbon emissions using XGBoost, SHAP, PDP, and scenario analysis.
# Building Life Cycle Carbon Emission Prediction and Decision Support Framework
## Overview
This repository contains the source code and analysis workflow developed for the thesis:
**"Development of an optimized and interpretable XBGoost-based framework for building life cycle carbon emission prediction and sustainable decision support in the Ethiopian construction sector."**
The study integrates Life Cycle Assessment (LCA), machine learning, explainable artificial intelligence (XAI), and scenario analysis to predict building life cycle carbon emissions and support sustainable construction decision-making.
## Research Objectives
The repository supports the following objectives:
* Quantification of building life cycle carbon emissions using Life Cycle Assessment (LCA).
* Identification of key factors influencing carbon emissions.
* Development of an optimized XGBoost-based predictive model.
* Model interpretation using SHAP (SHapley Additive Explanations) and Partial Dependence Plots (PDP).
* Development of a scenario-based decision-support framework for sustainable construction practices.
## Analysis Workflow
Historical Building Data
→ Data Cleaning and Preprocessing
→ Life Cycle Carbon Emission Quantification
→ Feature Selection (RFECV)
→ Hyperparameter Optimization (Bayesian Optimization)
→ XGBoost Model Development
→ Model Validation
→ SHAP Interpretability Analysis
→ Partial Dependence Plot (PDP) Analysis
→ Scenario Analysis
→ Decision-Support Framework
## Repository Structure
```text
├── data/
│ ├── raw_data/
│ └── processed_data/
│
├── scripts/
│ ├── preprocessing.py
│ ├── lca_calculation.py
│ ├── rfecv_feature_selection.py
│ ├── bayesian_optimization.py
│ ├── xgboost_model.py
│ ├── shap_analysis.py
│ ├── pdp_analysis.py
│ └── scenario_analysis.py
│
├── re …