モデル評価機械学習

層化K-Fold交差検証

そうかケイホールドこうさけんしょう · Stratified K-Fold Cross-Validation
1 views

層化K-Fold交差検証は、機械学習モデルの評価手法の一種です。データをK個に分割する際、各分割(フォールド)に含まれる正解ラベルの割合が、全体のデータセットの割合とほぼ等しくなるように保つ手法です。特に不均衡データにおける分類タスクの評価で、偏りのない安定した評価値を得るために広く用いられます。

層化K-Fold交差検証とは

層化K-Fold交差検証(Stratified K-Fold Cross-Validation)とは、機械学習においてモデルの予測性能を厳密に評価するための交差検証(クロスバリデーション)手法の一つです。データを均等に「K個」に分割する際、元データに含まれる各クラス(正解ラベル)の比率が、分割されたそれぞれのデータグループ(フォールド)内でも一定に保たれるように調整しながら分割を行います。これにより、特定のグループにおける極端なクラスの偏りを防ぎ、信頼性の高い評価結果を得ることができます。

詳しく解説

通常のK-Fold交差検証では、データをランダムにK個に分割するため、元データに偏りがある場合(例えば「陽性」が10%で「陰性」が90%のような不均衡データの場合)、あるフォールドに陽性データが全く含まれなくなったり、逆に偏って多く含まれたりする問題が生じます。このようなデータ分配の偏りは、モデルの学習や評価の精度を著しく不安定にします。層化K-Fold交差検証はこの課題を解決するために、全データにおける各クラスの構成比を維持したまま、データをK個のフォールドに分割します。評価プロセスでは、K個のうち1つのフォールドをテストデータ(検証用)、残りのK-1個を訓練データ(学習用)としてモデルを構築・評価し、これを合計K回繰り返します。最終的にK個の評価指標の平均値をとることで、過学習や評価データの偏りによる影響を最小限に抑えた客観的なモデル性能の測定が可能になります。

具体例・使われ方

例えば、ある病気(陽性:5%、陰性:95%)の自動診断を行うAIモデルを評価する場合を考えます。データを5つのフォールド(K=5)に分割するとき、層化K-Fold交差検証を使用すれば、それぞれのフォールド内の陽性と陰性の比率が正確に5:95となるようにデータが分配されます。これにより、どのフォールドを使ってテスト(検証)を行っても、同じ基準での評価指標(F値やAUCなど)を算出でき、実用性の高い評価が行えます。

似た用語との違い

「K-Fold交差検証」(通常のK-Fold)との違いは、データを分割する際に「クラスの比率を考慮するかどうか」です。通常のK-Fold交差検証は単純にランダムにデータを分割するため、クラス比率が一定に保たれる保証はありません。データが十分に多く、各クラスが均等に分布している分類タスク回帰タスクでは通常のK-Fold交差検証でも問題ありませんが、不均衡データに対しては層化K-Fold交差検証の選択が必須となります。また、時系列データに対して用いる「時系列交差検証」とは異なり、層化K-Foldはデータの時間的順序関係を考慮しません。

注意点

層化K-Fold交差検証は主に分類タスクにおいて有効な手法であり、出力が連続値である回帰タスクには基本的にはそのまま適用できません(回帰タスクで同様のアプローチを行う場合は、ターゲット値をビン分けしてクラス化するなどの特殊な処理が必要です)。また、各フォールドに必ず同じクラス比率が維持されるため、データ数が極端に少ないクラスが存在する場合、一部のフォールドでデータ数が足りずに分割が破綻するリスクがあります。さらに、クラス比率を保つ処理が追加されるため、単純な分割手法に比べて計算コストや処理時間が若干増加します。

更新日時: 2026年8月31日 23:51