まず、クロス検証がなぜ必要なのかを理解する必要があります。 クロス検証は、予測モデルのパフォーマンスと一般化能力を評価するための機械学習と統計の一般的な手法です。クロス検証は、データが限られている場合や、新しい未知のデータに対するモデルの一般化能力を評価する場合に特に役立ちます。 では、クロス検証は具体的にいつ使用されるのでしょうか?
クロス バリデーションの一般的な考え方は、図 5 フォールド クロス バリデーションに示されています。各反復で、新しいモデルは 4 つのサブデータセットでトレーニングされ、最後に予約されたサブデータセットでテストされて、すべてのデータが利用されていることを確認します。平均スコアや標準偏差などの指標を通じてモデルのパフォーマンスの真の測定値を提供します すべてはK折りクロスから始まります。 KフォールドK 倍交差が Sklearn に統合されました。ここでは 7 倍交差を例に挙げます。 もう 1 つの一般的な操作は、分割を実行する前にシャッフルすることです。これにより、サンプルの元の順序が破壊され、過剰適合のリスクがさらに最小限に抑えられます。 このようにして、単純な k 分割交差検証が実装されます。ソース コードを読むことを忘れないでください。 ! 階層化KフォールドStratifiedKFold は分類問題用に特別に設計されています。 一部の分類問題では、データが複数のセットに分割されても、ターゲット分布は変更されないままである必要があります。たとえば、ほとんどの場合、クラス比が 30 対 70 のバイナリ ターゲットは、トレーニング セットとテスト セットで同じ比率を維持する必要があります。通常の KFold では、分割前にデータがシャッフルされるとクラス比が維持されないため、このルールは破られます。 この問題を解決するために、Sklearn では分類専用の別のスプリッター クラスである StratifiedKFold が使用されます。 KFold に似ていますが、クラスの比率はすべての分割と反復にわたって一貫して維持されるようになりました。 シャッフルスプリット場合によっては、トレーニング/テスト セットの分割プロセスを複数回繰り返すだけで済むこともあり、これはクロス検証と非常によく似ています。 論理的には、異なるランダム シードを使用して複数のトレーニング/テスト セットを生成することは、十分な反復で堅牢なクロス検証手順に似ているはずです。 Sklearn は次のインターフェースも提供します: 時系列分割データ セットが時系列の場合、従来のクロス検証は使用できず、順序が完全に乱れます。この問題を解決するために、Sklearn は別のスプリッターである TimeSeriesSplit を提供します。 図に示すように、検証セットは常にトレーニング セットのインデックスの後に配置されます。インデックスは日付であるため、誤って将来の日付で時系列モデルをトレーニングし、以前の日付の予測を行うことはできません。 非IIDデータのクロス検証上記の方法はすべて、独立した同一に分布したデータ セットを扱います。つまり、データ生成プロセスは他のサンプルの影響を受けません。 ただし、場合によっては、データが IID 条件を満たさない、つまり一部のサンプル グループ間に依存関係があることがあります。これは、何千もの呼吸プロセス (吸入と呼気) 中の人工肺の空気圧値を記録し、各呼吸のすべての瞬間を記録する Google Brain Ventilator Pressure などの Kaggle のコンペティションで発生しました。各呼吸プロセスには約 80 行のデータがあり、これらの行は相互に関連しています。この場合、分割が「呼吸プロセスのちょうど真ん中で発生する」可能性があるため、従来のクロス検証は機能しません。 これらのデータを「グループ化」する必要があるのは、グループ内のデータが関連しているためだと理解できます。たとえば、医療データが複数の患者から収集される場合、各患者には複数のサンプルがあり、これらのデータは患者間の個人差の影響を受ける可能性が高いため、グループ化も必要です。 多くの場合、特定のグループでトレーニングされたモデルが他の未知のグループにうまく一般化できることを期待するため、クロス検証を実行するときに、これらのグループ データに「タグ」を付けて、それらを区別する方法を伝えます。 Sklearn は、このような状況を処理するためのいくつかのインターフェースを提供します。
クロスバリデーションの考え方とその実装方法を理解することを強くお勧めします。Sklearn のソースコードを読むことは、始めるのに良い方法です。さらに、独自のデータセットを明確に定義する必要があり、データの前処理が非常に重要です。 |
[[260147]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI...
Google は最近、エンドツーエンドのニューラル オーディオ コーデックである SoundStre...
KDnuggets 編集者の Matthew Mayo が、機械学習とデータ サイエンスに関連する書...
自動評価および安全性プラットフォームである Patronus AI は、大規模言語モデル (LLM)...
人工知能は近年、産業を変革する可能性を秘めていることから、幅広い注目を集めています。 AI が大きな...
インテリジェント時代では、アルゴリズムと計算能力の継続的な進歩により、AI 技術が急速に発展しました...
おそらくすべてのプログラマーは Google への入社を考えたことがあるでしょう。しかし、「試験」に...
制作:51CTO テクノロジースタック(WeChat ID:blog)深夜、OpenAI の最大のラ...
ディープフィードフォワードネットワーク統計学から始めると、自然に関数 f を定義し、データサンプルは...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
マルチモーダル機械学習は、さまざまなシナリオで目覚ましい進歩を遂げています。しかし、マルチモーダル学...
2020 年に世界中の企業の 42% がサイバー攻撃を受けたことをご存知ですか? サイバー犯罪者が...
[[318426]]現在、人工知能技術は急速に発展しており、特に医療保健の分野では、生活の各分野で広...