在分類問題里,有幾個重要的指標可以用來衡量算法的能力,比如Recall(召回率),Precision(精確率),F(xiàn)1值等。P-R曲線,ROC曲線,AUC曲線等。之前已經(jīng)對前三個進行過介紹,本次只介紹后三個。
【1】背景知識
還是以二分類為例,混淆矩陣如下:

在二分類的前提下,所有的case,它的真實情況(label)只有兩種情況(1/0),預測結果也只有兩種情況(1/0),所有的排列組合就有四種情況,如上圖所示1-4個區(qū)域。
其中recall(召回率),也叫查全率;precision(精確率),也叫查準率
以上為背景知識。
【2】P-R曲線
同一個模型,在不同閾值(threadhold)條件下,對應的recall和precision是不一樣的,一般隨著一個的升高另一個會降低,正所謂魚和熊掌不能兼得。那么遍歷所有的閾值,就會有若干的準召率數(shù)據(jù)對。把這些數(shù)據(jù)對分別設置成橫坐標與縱坐標,畫出的曲線就是P-R曲線,如下

如果一個學習器的P-R曲線被另一個學習器的P-R曲線完全包住,則可斷言后者的性能優(yōu)于前者,例如上面的A和B優(yōu)于學習器C。但是A和B的性能無法直接判斷,我們可以根據(jù)曲線下方的面積大小來進行比較,但更常用的是平衡點或者是F1值。
平衡點(BEP)是P=R時的取值,如果這個值較大,則說明學習器的性能較好。
F1 = 2 * P * R /( P + R ),同樣,F(xiàn)1值越大,我們可以認為該學習器的性能較好。
另外可以通過實際的需求來確定A和B的選擇,如需要一個高精確的自動處理模型(可以少召回但是需要避免誤傷),那就需要使用A模型并采用比較高的閾值;
而如果需要一個高召回模型保證召回率,不太關心誤傷,那可以使用模型B并采用比較低的閾值。
【3】ROC曲線
ROC曲線的橫縱坐標分別是召回率和誤殺率(1-精確率) 上面混淆矩陣圖中的3/(2+3),以及1/(1+4),縱坐標可以理解為抓住
壞人的比例;橫坐標可以理解為誤傷好人的比例。
而ROC曲線的兩個極端[0,0]點表示(用抓壞人來舉例)不管好人壞人全放過,也就是抓住壞人0%,誤傷好人0%,不抓壞人也不誤傷好人。[1,1]點表示不管好人壞人全抓住,也就是抓住壞人100%,誤傷好人100%

【4】AUC曲線
AUC曲線是ROC曲線下的面積,介于0和1之間,作為數(shù)值可以直觀的評價分類器的好壞,值越大越好。
AUC = 1,是完美分類器,采用這個預測模型時,存在至少一個閾值能得出完美預測。絕大多數(shù)預測的場合,不存在完美分類器。
0.5 < AUC < 1,優(yōu)于隨機猜測。這個分類器(模型)妥善設定閾值的話,能有預測價值。
AUC = 0.5,跟隨機猜測一樣(例:丟銅板),模型沒有預測價值
