---
title: "分層 K 折交叉驗證（Stratified K-Fold）"
slug: stratified-k-fold
language: zh-TW
source: https://aiterms.tw/terms/stratified-k-fold
updated_at: 2026-06-22
tags: [交叉驗證, 模型評估, 類別不平衡, 機器學習, 資料分割]
ipas_term: false
---

# 分層 K 折交叉驗證（Stratified K-Fold）

確保每個折（Fold）中各類別樣本比例與原始資料集一致的 K 折交叉驗證變體。

## 完整說明

分層 K 折交叉驗證（Stratified K-Fold Cross-Validation）是標準 K 折交叉驗證的改良版本，在將資料分割成 K 個折時，會確保每個折中各類別標籤的分佈比例與整體資料集保持一致。這對於處理類別不平衡（Class Imbalance）的分類問題尤為重要，能有效避免某個折中缺乏少數類別樣本而導致評估結果偏差。

## 常見問題

### K 值（折數）應該如何設定？有沒有標準答案？

K 值的選擇需要在偏差（Bias）與變異數（Variance）之間取得平衡，同時考慮計算資源。常用的 K 值是 5 或 10，這是學術界和工業界廣泛採用的經驗值。K 值越大，每次訓練用到的資料越多，評估的偏差越小，但計算成本也越高，且 K 個驗證集之間的重疊度增加，評估的變異數可能上升。K 值越小（如 K=3），計算更快，但每次訓練資料較少，評估結果的偏差較大。一個特殊情況是 Leave-One-Out Cross-Validation（LOOCV），相當於 K 等於樣本總數，偏差最低但計算成本極高，僅適合小型資料集。對於資料量充足的情況，K=5 或 K=10 是合理的起點。

### 分層 K 折交叉驗證能用於多類別問題嗎？

分層 K 折交叉驗證完全支援多類別分類（Multi-class Classification）問題，這是它設計上的一個重要特性。在多類別場景中，分層 K 折會同時保持所有類別的比例，例如若有三個類別 A:B:C = 50%:30%:20%，每個折都會盡量維持這個比例分佈。這在多類別問題中尤為重要，特別是當各類別的樣本數差異較大時，分層確保了每個折都包含足夠的各類別樣本，使模型在訓練時能夠接觸到所有類別，在驗證時也能公平評估對每個類別的識別能力。scikit-learn 的 StratifiedKFold 預設支援多類別目標，使用方式與二元分類完全相同。

### 使用分層 K 折時，每個折都是獨立訓練一個模型嗎？最終用哪個模型做預測？

在標準的交叉驗證流程中，分層 K 折的主要目的是模型評估，而非選擇最終模型。每個折確實會獨立訓練一個模型，並在對應的驗證集上計算評估指標（如 AUC、F1-Score 等），K 個結果取平均值後作為模型表現的穩健估計。這個評估流程幫助我們比較不同超參數配置或不同演算法的相對優劣。最終用於部署的模型，通常是在確定最佳超參數後，用全量訓練資料（不含預留的測試集）重新訓練一次，得到最終的生產模型。交叉驗證是找到最佳設定的評估工具，而非直接產出生產模型的方法。

---

來源：https://aiterms.tw/terms/stratified-k-fold
快查頁：https://aiterms.tw/terms/stratified-k-fold
最後更新：2026/06/22
深度解說：https://aiterms.tw/learning/what-is-stratified-k-fold