【DS検定対策】評価のブレを防ぐ!「交差検証(クロスバリデーション)」の仕組み
機械学習モデルの精度を測る際、データを1回だけ分ける「ホールドアウト法」では「偶然のデータの偏り(分け方の運)」で評価が変わってしまうリスクがありました。その弱点を解決する標準的な評価手法が「交差検証(クロスバリデーション)」です。仕組みと特徴を整理しましょう!
1. 【 問題 】
手元にある全データを n 等分(または k 等分)に分割し、「n-1 組のデータで学習し、残りの 1 組でテスト(検証)」という処理を、テスト役を順番に交代しながら n 回繰り返して平均精度を出す評価手法は何でしょうか?
① ホールドアウト法
② 交差検証(クロスバリデーション / k-fold Cross Validation)
③ ブートストラップ法
④ 主成分分析(PCA)
2. 【 解答 】
3. 整理:交差検証のローテーション構造(k=4 の例)
交差検証では、全データを「捨ててしまうデータ」を作らず、すべてのデータを1回ずつテスト用として活用します。
【 4分割交差検証(4-fold Cross Validation)の流れ 】
・1回目: B, C, D で学習 => A でテスト (精度1を計算)
・2回目: A, C, D で学習 => B でテスト (精度2を計算)
・3回目: A, B, D で学習 => C でテスト (精度3を計算)
・4回目: A, B, C で学習 => D でテスト (精度4を計算)
★ 最終評価 = 精度1 〜 精度4 の平均値
全データの評価結果を平均化するため、特定データの偏りに影響されにくく、信頼性の高い「汎化性能(未知データへの強さ)」を測定できます。
4. 試験で問われる発展手法・派生パターン
DS検定やG検定では、通常の交差検証に加えて以下の2つの派生テクニックが頻出です。
| 派生手法名 | 特徴・使いどころ |
|---|---|
| 層化 k 分割交差検証 (Stratified k-fold) |
分類問題で正解ラベルの比率(例:病気 5%:健康 95%)が偏っている場合、各分割グループ内のラベル比率が元のデータと同じになるように分割して交差検証を行う手法。分類問題の超定番。 |
| リーブワンアウト交差検証 (LOOCV:Leave-One-Out) |
データ数が極めて少ない場合、「1件だけをテスト用にし、残り全件で学習」する作業をデータ件数(N回)分繰り返す手法。計算量は極めて大きいが、データを極限まで無駄にしない。 |
5. DS検定形式:実戦4択クイズ
問:交差検証(クロスバリデーション)に関する記述として、最も適切なものはどれか。
① 分割数 k の値を大きく(例:k=5 から k=10 へ)するほど、モデルの学習(トレーニング)回数が減るため、全体の計算時間は短くなる。
② 交差検証を行う主な目的は、学習データの件数を増やすことで最終的なモデルのパラメータを直接更新・強化することである。
③ ホールドアウト法と比較して、特定のデータ分割の偏りによる評価精度のばらつき(影響)を抑え、より客観的なモデル性能の推計が可能になる。
④ 時系列データ(株価や売上予測など)に対して交差検証を行う場合、過去と未来のデータを無作為(ランダム)に混ぜ合わせて分割することが推奨される。
【 正解: ③ 】
解説: 交差検証のメリット・注意点を問う標準問題です。
③が正解です。評価の平均をとることでデータの偏りを打ち消します。
①分割数 k を大きくすると学習回数(k回)が増えるため、計算時間は長くなります。
②交差検証はあくまで「モデル性能の評価・パラメータチューニングの手元比較」のための手法であり、モデルそのものを強化する手順ではありません。
④時系列データで未来のデータを過去の学習に混ぜ込むと「未来のカンニング(データリーク)」になるため、時間の順序を保った特殊な交差検証(TimeSeriesSplit)を使う必要があります。
6. まとめ
DS検定において「データを n 個に分け、入れ替えて n 回テスト」「平均で評価」「信頼性が高い」といったフレーズが出たら、迷わず「交差検証(クロスバリデーション)」を選びましょう! 前回の「ホールドアウト法」との違いや、データ偏りを防ぐ「層化 k 分割(Stratified k-fold)」とあわせてセットで得点源にしておきましょう!