Skip to content

CharlieAlex/ML-Analysis-Dashboard

Repository files navigation

🤖 ML-Analysis-Dashboard

一個整合 SHAP 可解釋性分析錯誤分析的互動式 Streamlit 儀表板,幫助資料科學家深入了解模型行為、診斷預測誤差,並探索反事實情境。


✨ 主要功能

1. 📁 模型載入與管理

載入預訓練模型並查看完整的模型資訊,包括:

  • 模型 Run ID、建立時間、模型大小
  • Python 版本與環境依賴 (requirements.txt)
  • 模型輸入欄位類型統計
  • 完整的 Pipeline 結構視覺化

支援從 GitLab MLflow本地 mlruns 下載新模型。

模型資訊


2. 📉 錯誤分析

深入分析模型預測誤差,找出高誤差樣本的共同特徵:

  • 整體殘差分佈:視覺化預測誤差的分佈情況
  • 高誤差定義:可自訂絕對誤差或誤差率閾值
  • 特徵 vs 誤差關係:探索各特徵與預測誤差的關聯性
  • 特徵分佈比較:比較高誤差樣本與整體樣本的特徵分佈差異

錯誤分析

特徵與誤差關係


3. 🔬 SHAP 可解釋性分析

使用 SHAP (SHapley Additive exPlanations) 深入理解模型決策邏輯:

🐝 蜂群圖 (Beeswarm Plot)

展示所有特徵對模型預測的影響力與方向性。

蜂群圖

🤝 依賴圖 (Dependence Plot)

分析特定特徵值與其 SHAP 值之間的關係,揭示非線性效果與交互作用。

依賴圖

🌊 單一樣本解釋

針對特定樣本,詳細解釋每個特徵如何推動預測結果。

單一樣本解釋

📈 PDP/ICE 圖

  • PDP (Partial Dependence Plot):展示特徵對預測的平均邊際效應
  • ICE (Individual Conditional Expectation):展示個別樣本的條件期望

PDP/ICE

📘 SHAP 理論說明

內建完整的 SHAP 理論文件,幫助使用者理解可解釋性分析的原理。

SHAP 理論說明


4. 🔬 What-if 反事實分析 (模擬器)

互動式模擬器,讓您探索「如果特徵值改變,預測會如何變化?」

  • 選擇任一驗證集樣本
  • 直接在表格中編輯特徵值
  • 即時查看新的預測結果
  • 使用 SHAP Waterfall 圖解釋預測差異

What-if 模擬器


🛠️ 安裝

# 使用 uv 安裝依賴 (推薦)
uv sync

# 或使用 pip
pip install -e .

🚀 啟動應用

streamlit run streamlit_analysis.py

📂 專案結構

.
├── streamlit_analysis.py    # 主應用程式入口
├── src/
│   ├── __init__.py
│   ├── etl.py              # 資料 ETL 處理
│   ├── mlflow_utils.py     # MLflow 模型下載工具
│   └── streamlit_utils/    # Streamlit UI 元件
│       ├── load.py         # 資料與模型載入
│       ├── mode.py         # 各分析模式實作
│       ├── plot.py         # 視覺化函式
│       └── utils.py        # 工具函式
├── data/
│   └── feature_mapping.json  # 特徵名稱中英對照表
├── docs/                    # SHAP 理論說明文件
├── models/                  # 預訓練模型目錄
└── images/                  # README 截圖

⚙️ 環境變數

.env 檔案中設定(可參考 .env.example):

# Hugging Face Token(可選,用於從 Hugging Face Hub 下載模型)
HF_TOKEN=your_huggingface_token

# 設為 true 使用 Hugging Face Hub,false 使用本地模型
USE_HF_HUB=false

🌐 側邊欄設定

應用程式提供多種自訂選項:

設定項目 說明
🧠 選擇模型 選擇要分析的預訓練模型
⌨️ 選擇語言 切換英文/中文變數名稱顯示
🗃️ 選擇資料 切換驗證資料或訓練資料進行分析
抽樣樣本數 控制分析時的樣本數量
隨機種子 確保抽樣結果可重現
🧭 選擇模式 切換不同的分析模式

邊欄設定


📄 授權

MIT License

About

一個整合 SHAP 可解釋性分析與錯誤分析的互動式 Streamlit 儀表板。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors