交差検証を正しく行う
信頼できる性能を推定する
「交差検証を正しく行う」はCoddyKit上の無料NLP Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはNLP Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 NLP Academyコースには全4レッスンが含まれています。
1回の分割は危険
1回だけ訓練用とテスト用に分割すると、運によってモデルを実際より良く、または悪く評価してしまうことがあります。交差検証では複数回の分割結果を平均するため、信頼できるスコアが得られます。
K分割の考え方
K分割交差検証では、データをk個の等しい部分に分けます。その後、k-1個で訓練し、残りの1個でテストする処理を、組み合わせを変えながら繰り返します。
すべての行をテストする
k回のラウンドを通じて、すべてのデータ例がちょうど1回ずつテストに使われます。信頼性の低い1つの数値ではなく、k個のスコアが得られます。
平均とばらつき
推定値としてk個のスコアの平均を報告し、標準偏差によってその性能がどれほど安定しているかを示します。
Pythonで実行する
scikit-learnでは、各foldのスコアを返すヘルパーを1つ使うだけで、一連の処理全体を実行できます。
from sklearn.model_selection import cross_val_score
scores = cross_val_score(model, X, y, cv=5)クラスのバランスを保つ
分類では層化foldを使い、各foldでクラスの比率が同じになるようにします。これは不均衡なデータで特に重要です。
from sklearn.model_selection import StratifiedKFold
cv = StratifiedKFold(n_splits=5)データリーケージに注意する
リーケージとは、テストデータの情報が訓練に紛れ込み、スコアを実際より高くしてしまうことです。スケーラーやベクトライザーは、事前に適用せず各fold内でfitしてください。
Pipelineでリーケージを防ぐ
前処理とモデルをPipelineにまとめると、各foldでそれぞれの訓練部分だけを使って変換処理を再fitできます。これで安全かつクリーンに処理できます。
Kを選ぶ
5分割または10分割が一般的です。分割数を増やすと推定値は安定しますが、foldごとにモデルを再訓練するため、より多くの計算コストがかかります。
正しい方法でチューニングする
ハイパーパラメータを選ぶときは、交差検証の中で探索します。GridSearchCVを使えば、チューニングと検証を組み合わせて、結果の信頼性を保てます。
最後のテスト用データを確保する
交差検証を行っていても、最後の確認用に未使用のテストセットを1つ残してください。探索で一度も見ていないデータに対して推定値を確認できます。
クイックチェック
交差検証が1回の分割より優れているのはなぜですか。
まとめ
交差検証ではfoldを入れ替えながら、信頼性の高いスコアを得ます。層化foldを使い、Pipelineでリーケージを防ぎ、最後のテストセットを残してください。✅
AI チューターと学ぶ Python — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 30
- レッスン
- 120
よくある質問
「交差検証を正しく行う」レッスンは無料ですか?
はい。「交差検証を正しく行う」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、NLP Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 NLP Academyコースには全4レッスンが含まれています。
「交差検証を正しく行う」で何を学びますか?
信頼できる性能を推定する ブラウザで直接実行するハンズオンコードでNLP Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
NLP Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのNLP Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「交差検証を正しく行う」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このNLP Academyレッスンでコードを書いて実行できますか?
はい。すべてのNLP Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 正解率が信頼できない理由
- 適合率、再現率、F1
- 混同行列を読み解く
- 交差検証を正しく行う