さまざまなモデルを選択するにはどうすればよいですか?
機械学習を評価するプロセスは、モデルがそのアプリケーションに対してどの程度信頼性があり効果的であるかを判断するのに役立ちます。これには、パフォーマンス、指標、予測や意思決定の精度などのさまざまな要素を評価することが含まれます。
どのモデルを使用する場合でも、さまざまなモデル タイプ、チューニング パラメーター、機能など、モデル間で選択する方法が必要です。また、モデルが目に見えないデータに対してどの程度一般化されるかを推定するには、モデル評価手順も必要です。最後に、モデルのパフォーマンスを定量化するために、他の手順と組み合わせる評価手順が必要です。
先に進む前に、さまざまなモデルの評価手順とその動作方法をいくつか確認してみましょう。
上記のことから、次のことが推測できます:
同じデータでのトレーニングとテストは、新しいデータに一般化されず、実際には役に立たない過度に複雑なモデルを構築する過学習の典型的な原因です。
Train_Test_Split は、サンプル外のパフォーマンスをより正確に推定します。
K 分割相互検証は、系統的に K トレーニング テストを分割し、結果をまとめて平均することでより効果的に実行されます。
要約すると、train_tests_split はその速度とシンプルさのおかげで相互検証に依然として有益であり、それをこのチュートリアル ガイドで使用します。
選択した手順に沿って評価指標が常に必要になります。指標の選択は、対処している問題によって異なります。分類問題の場合は、分類精度を使用できます。ただし、このガイドでは他の重要な分類評価指標に焦点を当てます。
新しい評価指標を学ぶ前に、分類精度を確認し、その長所と短所について話しましょう。
このチュートリアルでは、768 人の患者の健康データと糖尿病の状態を含むピマ インディアン糖尿病データセットを選択しました。
データを読み取り、データの最初の 5 行を出力しましょう。ラベル列は、患者が糖尿病を患っている場合は 1、患者が糖尿病を患っていない場合は 0 を示し、次の質問に答える予定です。
質問: 健康測定結果から患者の糖尿病の状態を予測できますか?
特徴メトリクス X と応答ベクトル Y を定義します。train_test_split を使用して、X と Y をトレーニング セットとテスト セットに分割します。
次に、トレーニング セットでロジスティック回帰モデルをトレーニングします。その後の当てはめステップ中に、logreg モデル オブジェクトは X_train と Y_train の間の関係を学習します。最後に、テスト セットのクラス予測を作成します。
これで、テスト セットの予測が完了しました。分類精度を計算できます。これは、単純に正しい予測の割合です。
ただし、分類精度を評価指標として使用する場合は常に、それを ヌル精度 と比較することが重要です。これは、最も頻繁に発生するクラスを常に予測することで達成できる精度です。
ヌル精度 が質問に答えます。私のモデルが支配的なクラスを 100% の確率で予測するとしたら、それはどれくらいの頻度で正しいでしょうか?上記のシナリオでは、y_test の 32% が 1 です。言い換えれば、患者が糖尿病であると予測する愚かなモデルは、68% の確率で正しくなります (これはゼロです)。これは、ロジスティック回帰を測定する際のベースラインとなります。モデル。
ヌル精度 68% とモデル精度 69% を比較すると、モデルはあまり良くないようです。これは、モデル評価指標としての分類精度の 1 つの弱点を示しています。分類精度からは、テストの基礎となる分布については何もわかりません。
要約:
混同行列を見てみましょう。
混同行列は、分類モデルのパフォーマンスを説明する表です。
これは分類器のパフォーマンスを理解するのに役立ちますが、モデルの評価指標ではありません。したがって、scikit learn に最適な混同行列を持つモデルを選択するように指示することはできません。ただし、混同行列から計算できるメトリクスは多数あり、それらをモデルの選択に直接使用できます。
基本的な用語をいくつか説明しましょう。
結論:
以上が機械学習分類モデルの評価の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。