返回目錄
A
數據之鏡:從資料洞察到決策智慧 - 第 4 章
章節四:模型構建與評估
發布於 2026-02-25 18:31
# 章節四:模型構建與評估
在前一章中,我們完成了資料的清洗、編碼與特徵選擇。如今,資料已經變成一張「乾淨且有意義」的數值向量表,正是構建預測模型的基礎。這一章將帶領讀者從模型選擇、訓練、驗證,到評估指標,最終將數學推論轉化為商業洞察。
---
## 4.1 模型選擇:從理論到實務
### 4.1.1 目標類型
| 目標 | 典型模型 |
|:---:|:---:|
| 分類 | Logistic Regression、Random Forest、Gradient Boosting、SVM |
| 回歸 | Linear Regression、Ridge/Lasso、XGBoost、Elastic Net |
| 時間序列 | ARIMA、Prophet、LSTM |
> **案例:**某零售商想預測客戶下次購買的金額。由於目標為連續值,首選 **線性回歸** 作為基線,若表現不佳,再試 **XGBoost**。
### 4.1.2 模型複雜度與可解釋性
| 模型 | 特色 | 可解釋性 |
|:---:|:---:|:---:|
| Logistic / Linear | 參數直觀 | 高 |
| 決策樹 | 逐層拆解 | 中 |
| 隨機森林 / XGBoost | 集成學習 | 低至中 |
| 神經網路 | 非線性關係 | 低 |
> **建議**:在商業決策環境,優先使用可解釋性較高的模型;若需要極致預測精度,可折衷使用集成學習,再透過 SHAP 或 LIME 進行局部解釋。
---
## 4.2 訓練與驗證流程
### 4.2.1 資料分割
```python
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42, stratify=y
)
```
> **備註**:對於不平衡分類問題,使用 `stratify=y` 可保持訓練集與測試集的類別比例。
### 4.2.2 交叉驗證
```python
from sklearn.model_selection import cross_val_score, StratifiedKFold
cv = StratifiedKFold(n_splits=5, shuffle=True, random_state=42)
scores = cross_val_score(estimator=clf, X=X_train, y=y_train, cv=cv, scoring='accuracy')
print('CV Accuracy:', scores.mean())
```
> **理由**:交叉驗證可以減少因資料分割偶然造成的評估偏差,並更穩健地估算模型泛化能力。
### 4.2.3 超參數調整
| 工具 | 特點 |
|:---:|:---:|
| Grid Search | 全部組合枚舉,穩定但耗時 |
| Randomized Search | 隨機抽樣,效率更高 |
| Bayesian Optimization | 基於前一次結果進行搜尋,收斂更快 |
> **示例**:使用 `RandomizedSearchCV` 對 XGBoost 的 `max_depth`、`learning_rate`、`n_estimators` 進行調參。
---
## 4.3 評估指標
| 任務 | 指標 | 公式 |
|:---:|:---:|:---:|
| 分類 | Accuracy |
| | Precision |
| | Recall |
| | F1-score |
| | AUC-ROC |
| 回歸 | MSE |
| | RMSE |
| | MAE |
| | R² |
> **提示**:對於不平衡分類,AUC-ROC 或 F1-score 更具參考價值。對於回歸,若資料尺度不均衡,建議使用 **R²** 及 **MAE**。
---
## 4.4 商業洞察:從模型到決策
1. **預測值解讀**:以零售商例子為例,模型輸出「客戶下次購買金額預測」可以作為促銷力度調整的基準。
2. **敏感度分析**:改變單一特徵(如「會員等級」)觀察預測變化,可評估特徵重要性與風險。
3. **情景模擬**:建立「最佳、最差」情境模型,預測營收變化,支持資金分配。
> **案例**:某線上平台將模型預測納入廣告投放系統,通過「預測消費能力」分級,將高價值客戶的廣告曝光提升 25%,整體營收提升 12%。
---
## 4.5 道德與合規性
- **隱私**:確保個人資訊使用符合 GDPR / 個資法,必要時進行匿名化或合成資料。
- **公平性**:使用 **Fairlearn** 或 **AIF360** 檢查模型對不同族群的偏差。
- **解釋性**:向決策者展示 **SHAP** 圖表,說明模型如何作出預測。
---
## 4.6 小結
1. **模型選擇** 需根據目標類型、可解釋性需求與預測精度權衡。
2. **訓練流程** 透過訓練集、交叉驗證與超參數調整,確保模型的穩健性。
3. **評估指標** 應對任務特性選擇,並避免單一指標帶來的偏差。
4. **商業轉化** 需將預測結果映射到具體業務指標,並進行情境模擬。
5. **倫理審查** 是不可或缺的一環,確保模型使用合規且公平。
> 在下一章,我們將進一步探討模型部署、監控與更新,將理論成果落地於實際系統。