機械学習の一般的な評価指標:ACC、AUC、ROC曲線


1つ、混乱マトリックス

ここに写真の説明を挿入

サンプルの予測値が真の値と一致するかどうかに基づいて、次の4種類の結果が得られます
。TP(真の正):サンプルの予測値が真の値と一致し、両方が正、つまり真の正
FP(偽の正):サンプルの予測値が正で真値が負、つまり偽陽性
FN(False Negative):サンプルの予測値が負で真の値が正、つまり偽陰性
TN(True Negative):サンプルの予測値が真の値と一致し、両方が負、つまり真の負

一般的な説明:予測値が真の値と一致するかどうかを判断する。

2.評価指標

1.精度

ACC = TP + TNTP + FP + FN + TN ACC = \ frac {TP + TN} {TP + FP + FN + TN} A C C=T P+F P+F N+T NT P+T N

2.AUC

ROC曲線

ここでは、バイナリ分類子について説明します。ROC曲線の例の図は次のとおりです。このROC曲線の例の図から
ROC曲線の例のグラフ
わかるように、ROC曲線の横軸はFPR(False Positive Rate)で、縦軸はTPR(True)です。正のレート)
FPR = FPFP + TN FPR = \ frac {FP} {FP + TN}F P R=F P+T NF P
TPR = TPTP + FN TPR = \ frac {TP} {TP + FN} T P R=T P+F NT P
一般的な説明:FPRはネガティブサンプルが間違っている確率を表し、TPRはポジティブサンプルの確率を表します

例えば

100個のサンプルがあり、そのうち90個が実際の正のサンプルで、10個が負のサンプルであるとします。これ
で、分類子Aと分類子Bおよび分類子Aの予測結果が得られました。

本当 真のネガティブ
予測は前向きです 90 10
ネガティブな予測 0 0

FPR = 10/10 = 1; TPR = 90/90 = 1
分類子Bの予測結果:

本当 真のネガティブ
予測は前向きです 70 5
ネガティブな予測 20 5

FPR = 5/10 = 0.5; TPR = 70/90 = 0.78
分類器Aと分類器Bの予測結果は、ROC曲線で次のように表されます。
ここに写真の説明を挿入

次に、ROC曲線の4つの点と1つの線について考えます。
最初のポイント(0,1)、つまりFPR(False Positive Rate)= 0、TPR(True Positive Rate)= 1;これは完全な分類子であり、負のサンプルの確率は0であり、正のサンプルはペアになっていますの確率は1です。つまり、すべてのサンプル予測値が真の値と一致します。
2番目のポイント(1,0)、つまりFPR(False Positive Rate)= 1、TPR(True Positive Rate)= 0;
これは最悪の分類子であり、負のサンプルの確率は1であり、正のサンプルは正しい確率は0です。つまり、サンプルのすべての予測値が真の値と一致しません。
3番目のポイント(0,0)、つまりFPR(False Positive Rate)= 0、TPR(True Positive Rate)= 0;
負のサンプルの確率は0、正のサンプルの確率は0、つまりすべてサンプルの予測値はすべて負です。
4番目のポイント(1,1)、つまりFPR(False Positive Rate)= 1、TPR(True Positive Rate)= 1;
負のサンプルの確率は1、正のサンプルの確率は1、つまりすべてサンプルの予測値はすべて
上記の分析後のものであり、ROC曲線が左上隅に近いほど、分類器のパフォーマンスが向上すると断言できます。
ROCグラフの点線y = xについて考えてみます。この対角線上の点は、実際には(0.5,0.5)などのランダムな推測戦略を使用した分類器の結果を表しています。つまり、分類器は、サンプルの半分が正のサンプルであり、残りの半分が正のサンプルであるとランダムに推測します。ネガティブサンプル。

ROCカーブの描き方

特定の分類子とテストデータセットの場合、明らかに1つの分類結果、つまりFPRとTPRのセットしか取得できません。曲線を取得するには、実際には一連のFPR値とTPR値が必要です。どうですか?
シグモイド関数を使用して、サンプルの予測出力が正である確率を計算し、さまざまなしきい値を設定して、FPRとTPRの複数のセットの値を取得できます。
シグモイド関数を使用すると、すべてのサンプル出力が正である確率が得られます。ここで問題が発生します。しきい値を変更するには、出力されたすべてのサンプルの確率を降順で正として並べ替えることができます。次の図は例です。図には20個のテストサンプルがあり、「クラス」列は各テストサンプルの実際のラベルを表します(p正のサンプルを表し、nは負のサンプルを表します)、「スコア」は各テストサンプルが正のサンプルを出力する確率を表します

ここに写真の説明を挿入
次に、「スコア」値を高から低のしきい値しきい値として設定します。テストサンプルが正のサンプルを出力する確率がこのしきい値以上の場合は正のサンプルと見なし、それ以外の場合は負のサンプルと見なします。
例:図の4番目のサンプルの場合、その「スコア」値は0.6です。その後、サンプル1、2、3、および4は、「スコア」値がすべて0.6以上であるため、すべて正のサンプルと見なされますが、他のサンプルはすべてネガティブサンプルと見なされます。
この時点で、FPR = 1/10 = 0.1; TPR = 3/10 = 0.3の
順序類似しています。異なるしきい値を選択するたびに、FPRとTPRのセット、つまりROC曲線上のポイントを取得できます。このようにして、合計20セットのFPR値とTPR値を取得し、それらをROC曲線に描画した結果は次のようになります。
ここに写真の説明を挿入
しきい値を1と0に設定すると、ROC曲線でそれぞれ(0,0)を取得できます。そして(1,1)2点。これら(FPR、TPR)のペアを接続して、ROC曲線を取得します。しきい値が大きいほど、ROC曲線は滑らかになります。

AUCの計算

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

AUCとはどういう意味ですか

では、AUC値の意味は何ですか?(Fawcett、2006)によると、AUCの値の意味は次のとおりです。> AUC値は、ランダムに選択された正の例がランダムに選択された負の例よりも上位にランク付けされる確率と同等です。
一般的な説明:まず、AUC値は確率値です。ポジティブサンプルとネガティブサンプルをランダムに選択すると、現在の分類アルゴリズムは、計算されたスコア値に従って、ネガティブサンプルよりもポジティブサンプルをランク付けします。確率はAUC値です。もちろん、AUC値が大きいほど、現在の分類アルゴリズムが負のサンプルの前に正のサンプルをランク付けする可能性が高くなります。つまり、分類が向上します。

ROCカーブを使用する理由

非常に多くの評価基準があるので、なぜROCとAUCを使用するのですか?ROC曲線には非常に優れた特性があるため、テストセット内の正と負のサンプルの分布が変化しても、ROC曲線は変更されないままになります。実際のデータセットでは、クラスの不均衡が頻繁に発生します。つまり、正のサンプルよりも負のサンプルの方が多く(またはその逆)、テストデータ内の正と負のサンプルの分布も時間の経過とともに変化する可能性があります。下の図は、ROC曲線とPrecision-Recall曲線の比較です。上の図では
ここに写真の説明を挿入
、(a)と©はROC曲線、(b)と(d)はPrecision-Recall曲線です。(a)と(b)は、元のテストセットの分類結果(正と負のサンプルのバランスの取れた分布)を示しています。©と(d)は、テストセットの負のサンプル数を元の10倍に増やした後の分類子の結果です。結果。ROC曲線は基本的に元の外観を維持しているのに対し、Precision-Recall曲線は大幅に変更されていることがはっきりとわかります。

参照

1. https://blog.csdn.net/qq_40006058/article/details/89432773
2. https://blog.csdn.net/u013385925/article/details/80385873
3. https://my.oschina.net/ liangtee / blog / 340317

おすすめ

転載: blog.csdn.net/shiaiao/article/details/108936801