「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > 機械学習分類モデルの評価

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

2024 年 11 月 5 日に公開
ブラウズ:623

概要

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

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

結論は:

混同行列により、分類器のパフォーマンスの
    より完全な全体像
  • が得られます さまざまな
  • 分類メトリクス
  • を計算することもでき、これらのメトリクスはモデルの選択に役立ちます
リリースステートメント この記事は次の場所に転載されています: https://dev.to/chris22ozor/evaluating-a-machine-learning-classification-model-4cd8?1 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3