検索
ホームページテクノロジー周辺機器AI相互検証の重要性は無視できません。

相互検証の重要性は無視できません。

Nov 06, 2023 pm 08:17 PM
機械学習相互検証

元の意味を変えないために、再度表現する必要があるのは次のとおりです。まず、なぜ相互検証が必要なのかを理解する必要があります。

相互検証は、特にデータが限られている場合、または新しい未知のデータに対するモデルの一般化を評価する場合に、予測モデルのパフォーマンスと汎化能力を評価するために、機械学習と統計で一般的に使用される手法です。機能に関しては非常に価値があります。

相互検証の重要性は無視できません。

相互検証はどのような状況で使用されますか?

  • モデルのパフォーマンス評価: 相互検証は、目に見えないデータに対するモデルのパフォーマンスを推定するのに役立ちます。データの複数のサブセットでモデルをトレーニングおよび評価することにより、相互検証により、単一のトレーニングとテストの分割よりも堅牢なモデルのパフォーマンスの推定値が得られます。
  • データ効率: データが限られている場合、相互検証では利用可能なすべてのサンプルが最大限に活用され、トレーニングと評価にすべてのデータを同時に使用することで、より信頼性の高いモデルのパフォーマンス評価が提供されます。
  • ハイパーパラメータ調整: 相互検証は、モデルに最適なハイパーパラメータを選択するためによく使用されます。データのさまざまなサブセットに対してさまざまなハイパーパラメータ設定を使用してモデルのパフォーマンスを評価することで、全体的なパフォーマンスの観点から最も優れたパフォーマンスを発揮するハイパーパラメータ値を特定できます。
  • 過学習の検出: 相互検証は、モデルがトレーニング データを過学習しているかどうかを検出するのに役立ちます。モデルのパフォーマンスが検証セットよりもトレーニング セットで大幅に優れている場合は、過学習を示している可能性があり、正則化やより単純なモデルの選択などの調整が必要です。
  • 一般化能力の評価: 交差検証は、目に見えないデータを一般化するモデルの能力を評価します。複数のデータ分割でモデルを評価することにより、ランダム性や特定のトレーニングとテストの分割に依存せずに、データ内の基礎となるパターンを捕捉するモデルの能力を評価するのに役立ちます。

相互検証の一般的な考え方は、図 5 の折り重ねクロスに示されています。各反復で、新しいモデルは 4 つのサブデータセットでトレーニングされ、最後に保持されたサブデータセットで実行されます。 . すべてのデータが利用されていることを確認するためにテストします。平均スコアや標準偏差などの指標を通じて、モデルのパフォーマンスの真の尺度が提供されます。

相互検証の重要性は無視できません。

すべては K 倍クロスオーバーから開始する必要があります。

KFold

K 分割クロス検証が Sklearn に統合されました。これは 7 分割の例です:

from sklearn.datasets import make_regressionfrom sklearn.model_selection import KFoldx, y = make_regression(n_samples=100)# Init the splittercross_validation = KFold(n_splits=7)

相互検証の重要性は無視できません。

There一般的な操作は、分割を実行する前にシャッフルを実行することです。これにより、サンプルの元の順序が破壊され、過剰適合のリスクがさらに最小限に抑えられます。

cross_validation = KFold(n_splits=7, shuffle=True)

相互検証の重要性は無視できません。

この方法では、 、簡単な k 分割相互検証を行うことができます。必ずソース コードを確認してください。ぜひソースコードをチェックしてみてください!ぜひソースコードをチェックしてみてください!

StratifiedKFold

StratifiedKFold は、分類問題用に特別に設計されています。

一部の分類問題では、データが複数のセットに分割された場合でも、ターゲットの分布は変わらないはずです。たとえば、ほとんどの場合、クラス比が 30 から 70 のバイナリ ターゲットは、トレーニング セットとテスト セットで同じ比率を維持する必要があります。通常の KFold では、分割前にデータがシャッフルされるため、このルールは破られます。カテゴリの比率は維持されません。

この問題を解決するために、Sklearn では分類に特化した別のスプリッター クラスが使用されています - StratifiedKFold:

from sklearn.datasets import make_classificationfrom sklearn.model_selection import StratifiedKFoldx, y = make_classification(n_samples=100, n_classes=2)cross_validation = StratifiedKFold(n_splits=7, shuffle=True, random_state=1121218)

相互検証の重要性は無視できません。

KFold とは異なりますが、見た目は似ていますが、現在、クラスの割合はすべての分割と反復にわたって一貫しています。相互検証は非常に似ています。

論理的に言えば、異なるランダム シードを使用して複数のトレーニング/テスト セットを生成することにより、堅牢な相互検証プロセスと同様になるはずです。十分な反復で

Scikit-learn ライブラリも対応するインターフェイスを提供します:

from sklearn.model_selection import ShuffleSplitcross_validation = ShuffleSplit(n_splits=7, train_size=0.75, test_size=0.25)

#TimeSeriesSplit

データ セットが時系列の場合、従来の相互検証は使用できません。順序が完全に混乱します。この問題を解決するには、Sklearn が提供する別のスプリッター TimeSeriesSplit、相互検証の重要性は無視できません。

from sklearn.model_selection import TimeSeriesSplitcross_validation = TimeSeriesSplit(n_splits=7)

検証セットを参照してください。は常にトレーニング セットの最後に配置されます。ケースにインデックスを付けると、グラフが表示されます。これは、インデックスが日付であるためです。つまり、誤って将来の日付で時系列モデルをトレーニングし、前の日付の予測を行うことはできません

非独立かつ同一に分散された (非 IID) データの相互検証

上記のメソッドは、独立して同一に分散されたデータ セットに対して処理されます。つまり、データ生成プロセスには影響しません。他のサンプルによる

ただし、場合によっては、データが独立同一分布 (IID) の条件を満たしていない、つまり、いくつかのサンプル間に依存関係がある場合があります。この状況は、Google Brain Ventilator Pressure コンテストなどの Kaggle コンテストでも発生します。このデータは、数千回の呼吸 (吸気と呼気) 中の人工肺の気圧値を記録し、各呼吸のあらゆる瞬間に記録されます。各呼吸プロセスには約 80 行のデータがあり、これらの行は相互に関連しています。この場合、データの分割が「呼吸プロセスの途中」で発生する可能性があるため、従来の相互検証方法は使用できません。

これは、これらのデータを「グループ化」する必要があると理解できます。グループ内のデータは関連しているためです。たとえば、複数の患者から医療データを収集する場合、各患者には複数のサンプルがあります。ただし、これらのデータは個々の患者の違いの影響を受ける可能性が高いため、グループ化する必要もあります。

多くの場合、特定のグループでトレーニングされたモデルが他の目に見えないグループにもうまく一般化されることを期待します。相互検証では、これらのグループのデータに「タグ」を付け、それらを相互に区別する方法を伝えます。

Sklearn では、これらの状況に対処するためにいくつかのインターフェイスが提供されています。

  • GroupKFold
  • StratifiedGroupKFold
  • LeaveOneGroupOut
  • LeavePGroupsOut
  • GroupShuffleSplit

相互検証の概念とその実装方法を理解することを強くお勧めします。Sklearn のソース コードを確認するのは良い方法です。さらに、独自のデータセットを明確に定義する必要があり、データの前処理が非常に重要です。

以上が相互検証の重要性は無視できません。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は51CTO.COMで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
10生成AIコーディング拡張機能とコードのコードを探る必要があります10生成AIコーディング拡張機能とコードのコードを探る必要がありますApr 13, 2025 am 01:14 AM

ねえ、忍者をコーディング!その日はどのようなコーディング関連のタスクを計画していますか?このブログにさらに飛び込む前に、コーディング関連のすべての問題について考えてほしいです。 終わり? - &#8217を見てみましょう

革新を調理する:人工知能がフードサービスを変革する方法革新を調理する:人工知能がフードサービスを変革する方法Apr 12, 2025 pm 12:09 PM

食品の準備を強化するAI まだ初期の使用中ですが、AIシステムは食品の準備にますます使用されています。 AI駆動型のロボットは、ハンバーガーの製造、SAの組み立てなど、食品の準備タスクを自動化するためにキッチンで使用されています

Pythonネームスペースと可変スコープに関する包括的なガイドPythonネームスペースと可変スコープに関する包括的なガイドApr 12, 2025 pm 12:00 PM

導入 Python関数における変数の名前空間、スコープ、および動作を理解することは、効率的に記述し、ランタイムエラーや例外を回避するために重要です。この記事では、さまざまなASPを掘り下げます

ビジョン言語モデル(VLM)の包括的なガイドビジョン言語モデル(VLM)の包括的なガイドApr 12, 2025 am 11:58 AM

導入 鮮やかな絵画や彫刻に囲まれたアートギャラリーを歩くことを想像してください。さて、各ピースに質問をして意味のある答えを得ることができたらどうでしょうか?あなたは尋ねるかもしれません、「あなたはどんな話を言っていますか?

MediaTekは、Kompanio UltraとDimenity 9400でプレミアムラインナップをブーストしますMediaTekは、Kompanio UltraとDimenity 9400でプレミアムラインナップをブーストしますApr 12, 2025 am 11:52 AM

製品のケイデンスを継続して、今月MediaTekは、新しいKompanio UltraやDimenity 9400を含む一連の発表を行いました。これらの製品は、スマートフォン用のチップを含むMediaTekのビジネスのより伝統的な部分を埋めます

今週のAIで:Walmartがファッションのトレンドを設定する前に設定します今週のAIで:Walmartがファッションのトレンドを設定する前に設定しますApr 12, 2025 am 11:51 AM

#1 GoogleはAgent2Agentを起動しました 物語:月曜日の朝です。 AI駆動のリクルーターとして、あなたはより賢く、難しくありません。携帯電話の会社のダッシュボードにログインします。それはあなたに3つの重要な役割が調達され、吟味され、予定されていることを伝えます

生成AIは精神障害に会います生成AIは精神障害に会いますApr 12, 2025 am 11:50 AM

私はあなたがそうであるに違いないと思います。 私たちは皆、精神障害がさまざまな心理学の用語を混ぜ合わせ、しばしば理解できないか完全に無意味であることが多い、さまざまなおしゃべりで構成されていることを知っているようです。 FOを吐き出すために必要なことはすべてです

プロトタイプ:科学者は紙をプラスチックに変えますプロトタイプ:科学者は紙をプラスチックに変えますApr 12, 2025 am 11:49 AM

今週公開された新しい研究によると、2022年に製造されたプラスチックの9.5%のみがリサイクル材料から作られていました。一方、プラスチックは埋め立て地や生態系に積み上げられ続けています。 しかし、助けが近づいています。エンジンのチーム

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター