Skip to the content.

最終更新日:2026年8月26日

G検定トップ > 交差検証とは?k分割とテストデータの違い【G検定対策】

まず結論

交差検証(Cross Validation)とは、データを複数に分け、学習用と検証用を入れ替えながら性能を評価する方法です。

G検定では、まず次を押さえます。

交差検証 = モデル選択・性能見積もりのための検証

テストデータ = 最後の最終評価用

直感的な説明

1回の模試だけで実力を判断すると、たまたま得意な問題が多かったなどの影響を受けます。

そこで、問題セットを入れ替えて複数回評価し、その結果をまとめて見るイメージです。

1回だけ評価
→ 分割の偶然に左右されやすい

複数の分割で評価
→ 性能を安定して見積もりやすい

定義・仕組み

代表的なのが k分割交差検証(k-fold Cross Validation) です。

  1. データをk個のグループに分ける
  2. 1つを検証用、残りを学習用にする
  3. 検証用のグループを入れ替える
  4. k回評価する
  5. 評価結果を平均などでまとめる

通常のk-foldでは、各サンプルが一度ずつ検証側に回ります。

学習・検証・テストの役割

データ 主な役割
学習データ モデルのパラメータを学習する
検証データ モデル・ハイパーパラメータを選ぶ
テストデータ 最終性能を確認する

交差検証をモデル選択に使う場合も、最終テストデータは分けて残しておくのが基本です。

いつ使う?(得意・不得意)

得意なこと

  • データ数が少ない
  • 1回の分割による評価のばらつきを抑えたい
  • 複数モデルやハイパーパラメータを比較したい

苦手・注意点

  • k回学習するため計算コストが増える
  • 時系列データをランダムに分割すると、未来情報が過去側へ混ざることがある
  • クラス不均衡では各foldの比率が偏る場合がある

分類でクラス比率を保ちたい場合は、層化k分割(Stratified k-fold) が使われます。

時系列では、通常のランダムk-foldではなく、時間順序を保つ分割を使います。

G検定ひっかけポイント

テストデータとの違い

  • 交差検証 → モデル選択や性能見積もりに使う
  • テストデータ → 選択が終わった後の最終評価に使う

データリーケージに注意

交差検証だから自動的にリーケージが防げるわけではありません。

例えば、全データで標準化や特徴選択を行ってからfoldに分けると、検証側の情報が学習処理に混ざることがあります。

前処理を全データで先に実施
→ リーケージの可能性

各foldの学習データだけで前処理を学習
→ 検証側へ適用

その他の判断軸

  • 「k個に分けて順番に検証」→ k-fold交差検証
  • 「クラス比率を保つ」→ Stratified k-fold
  • 「時間順序がある」→ ランダム分割に注意
  • 交差検証を何度も見ながら調整すると、検証結果そのものに過度に合わせることもある

まとめ(試験直前用)

  • 交差検証 = 学習と検証を入れ替えて性能を見積もる
  • k-foldではk個に分けてk回評価する
  • テストデータは最終評価用として別に残す
  • クラス不均衡では層化、時系列では時間順序に注意
  • 前処理もfoldの中で行い、データリーケージを防ぐ

© 2024-2026 stemtazoo. All rights reserved.