機械学習分類モデルの評価

WBOY
リリース: 2024-09-07 14:01:07
オリジナル
1124 人が閲覧しました

概要

  • モデル評価の目標は何ですか?
  • モデル評価の目的とそのいくつかは何ですか? 一般的な評価手順?
  • 分類精度の用途とその精度は何ですか? 制限?
  • 混同行列は、オブジェクトのパフォーマンスをどのように説明しますか? 分類子?
  • 混同行列から計算できるメトリクスは何ですか?

Tモデル評価の目標は、質問に答えることです。

さまざまなモデルを選択するにはどうすればよいですか?

機械学習を評価するプロセスは、モデルがそのアプリケーションに対してどの程度信頼性があり効果的であるかを判断するのに役立ちます。これには、パフォーマンス、指標、予測や意思決定の精度などのさまざまな要素を評価することが含まれます。

どのモデルを使用する場合でも、さまざまなモデル タイプ、チューニング パラメーター、機能など、モデル間で選択する方法が必要です。また、モデルが目に見えないデータに対してどの程度一般化されるかを推定するには、モデル評価手順も必要です。最後に、モデルのパフォーマンスを定量化するために、他の手順と組み合わせる評価手順が必要です。

先に進む前に、さまざまなモデルの評価手順とその動作方法をいくつか確認してみましょう。

モデルの評価手順とその運用方法。

  1. 同じデータに対するトレーニングとテスト
    • トレーニング データを「過剰適合」し、必ずしも一般化できない、過度に複雑なモデルに報酬を与えます
  2. トレーニング/テストの分割
    • データセットを 2 つの部分に分割し、異なるデータでモデルをトレーニングおよびテストできるようにします
    • サンプル外のパフォーマンスの推定値は改善されましたが、依然として「変動が大きい」推定値です
    • スピード、シンプルさ、柔軟性により便利です
  3. K 分割交差検証
    • 「K」個のトレーニング/テスト分割を体系的に作成し、結果をまとめて平均します
    • サンプル外のパフォーマンスのさらに正確な推定
    • トレーニング/テスト分割よりも「K」倍遅く実行されます。

上記のことから、次のことが推測できます:

  • 同じデータでのトレーニングとテストは、新しいデータに一般化されず、実際には役に立たない過度に複雑なモデルを構築する過学習の典型的な原因です。

  • Train_Test_Split は、サンプル外のパフォーマンスをより正確に推定します。

  • K 分割相互検証は、系統的に K トレーニング テストを分割し、結果をまとめて平均することでより効果的に実行されます。

要約すると、train_tests_split はその速度とシンプルさのおかげで相互検証に依然として有益であり、それをこのチュートリアル ガイドで使用します。

モデルの評価指標:

選択した手順に沿って評価指標が常に必要になります。指標の選択は、対処している問題によって異なります。分類問題の場合は、分類精度を使用できます。ただし、このガイドでは他の重要な分類評価指標に焦点を当てます。

新しい評価指標を学ぶ前に、分類精度を確認し、その長所と短所について話しましょう。

分類精度

このチュートリアルでは、768 人の患者の健康データと糖尿病の状態を含むピマ インディアン糖尿病データセットを選択しました。

Evaluating A Machine Learning Classification Model

データを読み取り、データの最初の 5 行を出力しましょう。ラベル列は、患者が糖尿病を患っている場合は 1、患者が糖尿病を患っていない場合は 0 を示し、次の質問に答える予定です。

質問: 健康測定結果から患者の糖尿病の状態を予測できますか?

特徴メトリクス X と応答ベクトル Y を定義します。train_test_split を使用して、X と Y をトレーニング セットとテスト セットに分割します。

Evaluating A Machine Learning Classification Model

次に、トレーニング セットでロジスティック回帰モデルをトレーニングします。その後の当てはめステップ中に、logreg モデル オブジェクトは X_train と Y_train の間の関係を学習します。最後に、テスト セットのクラス予測を作成します。

Evaluating A Machine Learning Classification Model

Evaluating A Machine Learning Classification Model

これで、テスト セットの予測が完了しました。分類精度を計算できます。これは、単純に正しい予測の割合です。

Evaluating A Machine Learning Classification Model

ただし、分類精度を評価指標として使用する場合は常に、それを ヌル精度 と比較することが重要です。これは、最も頻繁に発生するクラスを常に予測することで達成できる精度です。

Evaluating A Machine Learning Classification Model

ヌル精度 が質問に答えます。私のモデルが支配的なクラスを 100% の確率で予測するとしたら、それはどれくらいの頻度で正しいでしょうか?上記のシナリオでは、y_test の 32% が 1 です。言い換えれば、患者が糖尿病であると予測する愚かなモデルは、68% の確率で正しくなります (これはゼロです)。これは、ロジスティック回帰を測定する際のベースラインとなります。モデル。

ヌル精度 68% とモデル精度 69% を比較すると、モデルはあまり良くないようです。これは、モデル評価指標としての分類精度の 1 つの弱点を示しています。分類精度からは、テストの基礎となる分布については何もわかりません。

要約:

  • 分類精度は、理解するのが最も簡単な分類指標です
  • しかし、応答値の基礎となる分布はわかりません
  • また、分類子がどのようなエラーの「タイプ」を起こしているかはわかりません。

混同行列を見てみましょう。

混同行列

混同行列は、分類モデルのパフォーマンスを説明する表です。
これは分類器のパフォーマンスを理解するのに役立ちますが、モデルの評価指標ではありません。したがって、scikit learn に最適な混同行列を持つモデルを選択するように指示することはできません。ただし、混同行列から計算できるメトリクスは多数あり、それらをモデルの選択に直接使用できます。

Evaluating A Machine Learning Classification Model

  • テストセット内のすべての観測値は、正確に 1 つのボックス で表されます。
  • 2 つの応答クラスがあるため、これは 2x2 行列です。
  • ここに示されている形式は普遍的ではありません

基本的な用語をいくつか説明しましょう。

  • 真陽性者 (TP): 私たちは彼らが糖尿病を持っている正しく予測しました
  • 真陰性 (TN): 私たちは彼らが糖尿病にいない正しく予測しました
  • 偽陽性 (FP): 私たちは、彼らが糖尿病を持っている誤って予測しました (「タイプ I エラー」)
  • 偽陰性 (FN): 私たちは、彼らが糖尿病ではない誤って予測しました (「タイプ II エラー」)
メトリクスを計算する方法を見てみましょう

Evaluating A Machine Learning Classification Model

Evaluating A Machine Learning Classification Model

Evaluating A Machine Learning Classification Model

結論:

    混同行列は、分類器がどのように実行されているかの
  • より完全な全体像を提供します
  • さまざまな
  • 分類メトリクスを計算することもでき、これらのメトリクスはモデル選択のガイドとなります

以上が機械学習分類モデルの評価の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート