一個整合 SHAP 可解釋性分析與錯誤分析的互動式 Streamlit 儀表板,幫助資料科學家深入了解模型行為、診斷預測誤差,並探索反事實情境。
載入預訓練模型並查看完整的模型資訊,包括:
- 模型 Run ID、建立時間、模型大小
- Python 版本與環境依賴 (
requirements.txt) - 模型輸入欄位類型統計
- 完整的 Pipeline 結構視覺化
支援從 GitLab MLflow 或本地 mlruns 下載新模型。
深入分析模型預測誤差,找出高誤差樣本的共同特徵:
- 整體殘差分佈:視覺化預測誤差的分佈情況
- 高誤差定義:可自訂絕對誤差或誤差率閾值
- 特徵 vs 誤差關係:探索各特徵與預測誤差的關聯性
- 特徵分佈比較:比較高誤差樣本與整體樣本的特徵分佈差異
使用 SHAP (SHapley Additive exPlanations) 深入理解模型決策邏輯:
展示所有特徵對模型預測的影響力與方向性。
分析特定特徵值與其 SHAP 值之間的關係,揭示非線性效果與交互作用。
針對特定樣本,詳細解釋每個特徵如何推動預測結果。
- PDP (Partial Dependence Plot):展示特徵對預測的平均邊際效應
- ICE (Individual Conditional Expectation):展示個別樣本的條件期望
內建完整的 SHAP 理論文件,幫助使用者理解可解釋性分析的原理。
互動式模擬器,讓您探索「如果特徵值改變,預測會如何變化?」
- 選擇任一驗證集樣本
- 直接在表格中編輯特徵值
- 即時查看新的預測結果
- 使用 SHAP Waterfall 圖解釋預測差異
# 使用 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









