1. 程式人生 > >二分類相關評估指標(召回率、準確率,精確率,F度量,AUC和ROC)

二分類相關評估指標(召回率、準確率,精確率,F度量,AUC和ROC)

 

基礎定義

 

通常在機器學習的二分類領域中,對模型的結果評估是必不可少的,本文主要總結了各個評估指標,對每個指標的定義,作用進行闡述。廢話到此,直接上乾貨。

TP:True Positive  

FP:False Positive

TN:True Negtive

FN:False Negtive

以上四個定義是基礎,Positive表示對樣本作出的是正的判斷,T表示判斷正確,F表示判斷錯誤(Negtive類似)。

比如TP表示樣本為正,我們模型也判斷為正,FP則表示模型判斷為正,但是判斷錯誤,樣本為負。

 

 

Accaracy,Precision,Recall,F1

 

Accuracy = (TP+TN)/(TP+FP+TN+FN)

準確率,表示在所有樣本中分對(即正樣本被分為正,負樣本被分為負)的樣本數佔總樣本數的比例

 

Precision = TP / (TP+ FP)

精確率,表示模型預測為正樣本的樣本中真正為正的比例

 

Recall = TP /(TP + FN)

召回率,表示模型準確預測為正樣本的數量佔所有正樣本數量的比例

 

F1 = 2*P*R /(P+ R)

F1,是一個綜合指標,是Precision和Recall的調和平均數,因為在一般情況下,Precision和Recall是兩個互補關係的指標,魚和熊掌不可兼得,顧通過F測度來綜合進行評估。F1越大,分類器效果越好。

 

 

Accuracy和Precision區別

 

Accaracy和Precision作用相差不大,都是值越大,分類器效果越好,但是有前提,前提就是樣本是均衡的。

如果樣本嚴重失衡了,Accuracy不再適用,只能使用Precision,舉個簡單的例子。

比如二分類問題為預測癌症的發生,顯然在現實世界中,癌症人數在所有人數中的佔比通常只是0.5%左右,即正負樣本比例為1:200左右,此時一個分類器如果使用Accuracy作為評估指標,則分類器無需花太多功夫,分類器只用把樣本全部清一色預測為正常,那麼Accuracy也能達到99.5%的準確率,如此高的準確率,但卻毫無任何意義,無法應用到實處,泛化能力極差。

顧在樣本失衡的情況下,Accuracy不再適用,通常使用Precision,同時該場景下ROC,可以用AUC。

 

ROC,AUC

 

ROC,AUC優點:當資料中的正負樣本分佈發生變化時,ROC能夠保持不變,尤其在樣本不均衡的應用場景中。

首先看兩個定義

TPR = TP / (TP+FN)真正率,指在所有正樣本中,被準確識別為正樣本的比例,公式與召回率一樣

FPR = FP / (TN + FP)假正率,指在所有負樣本中,被錯誤識別為正樣本的比例。又叫誤報率,錯誤接收率。

ROC製作

以TPR為y軸,FPR為x軸,通過不斷改變threshold的值,獲取到一系列點(FPR,TPR),將這些點用平滑曲線連線起來即得到ROC曲線,Threshold定義為正負樣本分類面的閾值,通常的二分類模型中取0.5,在繪製ROC曲線過程中,通常取測試集上各樣本的概率預測分值,即predict_prob,將所有樣本的概率預測分值從高到低排序,並將這些分值依次作為threshold,然後計算對應的點(FPR,TPR),比如最大的樣本預測分值為0.9時,當threshold取0.9時,所有樣本分值大於等於0.9的才預測為正樣本,小於0.9的預測為負樣本。最後加上兩個threshold值1和0,分別可對應到(0,0),(1,1)兩個點,將這些點連線起來即得到ROC曲線,點越多,曲線越平滑,而ROC曲線下的面積即為AUC。

ROC特點

(1)一個好的分類器應該ROC曲線應該儘量位於左上位置,當ROC為(0,0)和(1,1)兩個點的直線時,分類器效果跟隨機猜測效果一樣;

(2)ROC曲線下方的面積作為AUC,可以用AUC作為衡量分類器好壞的標準,理想的分類器AUC為1,當AUC為0.5時,效果跟隨機猜測效果一致;

(3)ROC能很好的解決正負樣本分佈發生變化的情況,在正負樣本分佈發生變化的情況下,ROC能夠保持不變。
--------------------- 
作者:frogbar 
來源:CSDN 
原文:https://blog.csdn.net/frogbar/article/details/78161546 
版權宣告:本文為博主原創文章,轉載請附上博文連結!