機械学習戦闘(6)01モデル評価基準

序文

この記事のほとんどは、次の2つのブログからのものです
。http :  //blog.csdn.net/dinosoft/article/details/43114935
http://my.oschina.net/liangtee/blog/340317

プライマー

次の2つの分類子を想定すると、どちらが優れていますか?(Aタイプのサンプルは90個、Bタイプのサンプルは10個あります。)

サンプルA サンプルB 分類精度
分類子C1 A * 90(100%) A * 10(0%) 90%
分類子C2 A * 70 + B * 20(78%) A * 5 + B * 5(50%) 75%

分類子C1はすべてのテストサンプルをクラスAに分類し、分類子C2はクラスAの90サンプルを70に、クラスBの10サンプルを5ペアに分類します。

C1の分類精度は90%、C2の分類精度は75%ですが、直感的にはC2の方が便利だと感じています。しかし、正解率によれば、C1の効果は間違いなく優れています。次に、これは私たちの考えと矛盾します。つまり、場合によっては、正当性だけに依存するのは適切ではありません。

また、ポジティブサンプルとネガティブサンプルを包括的に予測する能力を客観的に反映できる評価指標も必要です。また、サンプルの傾きの影響を排除することも検討してください(実際、正規化などの考え方であり、pvは常にクリックよりもはるかに大きい)、これはaucインジケーターが解決できる問題です。

 

機械学習の練習で分類子に一般的に使用される評価指標はaucです。私はそれを理解したくありません。それが使いやすい場合は、文を覚えてください

aucの値の範囲は[0.5,1]です。値が大きいほど良好です。値が0.5未満の場合は、結果を反転してください。

aucとは

roc曲線の下の領域はaucであるため、最初にrocを把握する必要があります。

最初に2つのカテゴリの問題を見てください。予測値と実際の値の組み合わせは4つあります。下の分割表を参照してください

したがって、評価基準を左上隅に近いものに変更することは良い分類子です。(陽性検体と陰性検体の総合的な分類能力を考慮)

分類子がスコアを出力できる場合は、分類子のしきい値を調整し、対応する点をグラフに描き、この線を線に接続します。この線はrocであり、曲線の下の領域はauc(ROCの曲線の下の領域)です

ROC曲線の描き方

 

特定の分類子とテストデータセット、明らかに1つの分類結果、つまりFPRとTPRの結果のセット、そして曲線を取得するには、実際にそのような曲線を取得するために一連のFPRとTPRの値が必要です。これはどうして起こったのですか?

分類子「確率出力」の重要な関数、つまり、分類子がサンプルが属していると考える確率(陽性サンプル)を使用して、サンプルが陽性サンプルと陰性サンプルのどちらに属するか動的に調整できます。陽性検体と判定される確率を示す欄がある場合)

すべてのサンプルの確率出力(陽性サンプルである確率)を取得した場合、問題はこのしきい値(確率出力)を変更する方法です。正のサンプルから各テストサンプルの確率値を大きいものから小さいものに並べ替えます。次の図は例です。図には20個のテストサンプルがあります。[クラス]列は各テストサンプルの真のラベルを示します(pは陽性サンプル、nは陰性サンプルを示します)。確率。

ROC図面

次に、「スコア」値を高から低へのしきい値として使用します。テストサンプルが陽性サンプルに属する確率がこのしきい値以上の場合、それは陽性サンプルと見なされ、そうでない場合は陰性サンプルと見なされます。たとえば、図の4番目のサンプルの場合、「スコア」の値は0.6であり、サンプル1、2、3、および4は正のサンプルと見なされます。これは、それらの「スコア」の値がすべて0.6以上であるためです。サンプルは陰性サンプルと見なされます。異なるしきい値が選択されるたびに、ROC曲線上のポイントであるFPRとTPRのセットを取得できます。このようにして、FPRとTPRの値を合計20セット取得し、ROCカーブ上に描画した結果は次のようになります。 

ROC図面

しきい値を1と0に設定すると、ROC曲線上の2つのポイント(0,0)と(1,1)を取得できます。これらの(FPR、TPR)ペアを接続してROC曲線を取得します。しきい値が大きいほど、ROC曲線は滑らかになります。

--ROCはアリをプレイするときには役に立たないと思いました!本当に目を引く!まだ疑問:ROCに基づいてより良い結果を決定する方法?左上隅に近い分類子を確認します。同時に、ROCを使用して、ポジティブサンプルの確率境界の選択がより適切な場所を決定できます。これが事実であることが判明しました!

AUC値の計算

AUC(Area Under Curve)はROC曲線の下の領域として定義されます。明らかに、この領域の値は1より大きくありません。また、ROC曲線は一般に直線y = xの上にあるため、AUCの値の範囲は0.5〜1です。多くの場合、ROC曲線はどの分類子がより効果的であるかを明確に示さないため、AUC値が評価基準として使用され、値として、より大きなAUCに対応する分類子がより効果的です。

AUCの意味

では、AUC値はどういう意味ですか?(フォーセット、2006)によれば、AUCの値は次のことを意味します。> AUC値は、ランダムに選択された正の例がランダムに選択された負の例よりも高くランク付けされる確率に相当します。

この文は少し丸めです、私は説明しようとします:最初に、AUC値は確率値です。ポジティブサンプルとネガティブサンプルをランダムに選択すると、現在の分類アルゴリズムは計算されたスコア値に従ってこのポジティブサンプルをネガティブサンプルの前にランク付けします。確率はAUC値です。もちろん、AUC値が大きいほど、現在の分類アルゴリズムは、陰性サンプルの前に陽性サンプルをランク付けする可能性が高くなります。つまり、より良い分類になります。

ROCカーブを使用する理由

非常に多くの評価基準があるので、なぜROCおよびAUCを使用するのですか?ROC曲線には非常に優れた特性があるため、テストセット内のポジティブサンプルとネガティブサンプルの分布が変化しても、ROCカーブは変化しません。クラスの不均衡は実際のデータセットでよく発生します。つまり、陽性サンプルよりも陰性サンプルの数が多く(またはその逆)、テストデータ内の陽性サンプルと陰性サンプルの分布も時間とともに変化する可能性があります。次の図はROC曲線とPrecision-Recall曲線5の比較です。

上の図で、(a)と(c)はROC曲線、(b)と(d)は精度再現率曲線です。(a)と(b)は元のテストセット(正と負のサンプル分布バランス)の分類結果を示し、(c)と(d)はテストセットの負のサンプル数を元のテストセットの10倍に増やした後のものですデバイスの結果。ROC曲線は基本的に元の外観を維持しているが、Precision-Recall曲線は大きく変化していることがはっきりとわかります。

 

公開された110元の記事 ウォン称賛22 ビュー70000 +

おすすめ

転載: blog.csdn.net/yangshaojun1992/article/details/104360924