性能評估之PR曲線與ROC曲線

冒泡!又是周末啦~小李上線啦!放假癱在家里做咸魚真的好快落誒,但也要堅持輸出。今天主要敘述在二分類問題中性能評估的兩個曲線。
————————————————————

PR曲線

PR曲線實則是以precision(精準率)和recall(召回率)這兩個為變量而做出的曲線,其中recall為橫坐標,precision為縱坐標。
那么問題來了,什么是精準率?什么是召回率?這里先做一個解釋。
在二分類問題中,分類器將一個實例的分類標記為是或否,可以用一個混淆矩陣來表示,如下圖所示。

注:把正例正確地分類為正例,表示為TP(true positive),把正例錯誤地分類為負例,表示為FN(false negative)。
把負例正確地分類為負例,表示為TN(true negative), 把負例錯誤地分類為正例,表示為FP(false positive)。

【舉個栗子:A是只貓(正例),B是只倉鼠(負例),A在二分類中被劃分為貓則為TP,被劃分為倉鼠則為FN。B在二分類中被劃分為倉鼠則為TN,被劃分為貓則為。】
從混淆矩陣可以得出精準率與召回率:precision = TP/(TP + FP), recall = TP/(TP +FN)(注意:分子相同。)

接下來補充一個重點:
一個閾值對應PR曲線上的一個點。通過選擇合適的閾值,比如50%,對樣本進行劃分,概率大于50%的就認為是正例,小于50%的就是負例,從而計算相應的精準率和召回率。(選取不同的閾值,就得到很多點,連起來就是PR曲線)

舉個例子如下:(true這列表示正例或者負例,hyp這列表示閾值0.5的情況下,概率是否大于0.5)

那么根據這個表格我們可以計算:TP=6,FN=0,FP=2,TN=2。故recall=6/(6+0)=1,precison=6/(6+2)=0.75,那么得出坐標(1,0.75)。同理得到不同閾下的坐標,即可繪制出曲線。
PR曲線如下:
如果一個學習器的P-R曲線被另一個學習器的P-R曲線完全包住,則可斷言后者的性能優(yōu)于前者,例如上面的A和B優(yōu)于學習器C。但是A和B的性能無法直接判斷,我們可以根據曲線下方的面積大小來進行比較,但更常用的是平衡點或者是F1值。平衡點(BEP)是P=R時的取值,如果這個值較大,則說明學習器的性能較好。而F1 = 2 * P * R /( P + R ),同樣,F1值越大,我們可以認為該學習器的性能較好。
部分資料參考:二戰(zhàn)周志華《機器學習》-PR曲線和ROC曲線
P-R曲線深入理解

ROC曲線

有了前面的PR的鋪墊,ROC曲線就會更好理解了。
在ROC曲線中,橫軸是假正例率(FPR),縱軸是真正例率(TPR)。
(1)真正類率(True Postive Rate)TPR: TP/(TP+FN),代表分類器預測的正類中實際正實例占所有正實例的比例。
(2)負正類率(False Postive Rate)FPR: FP/(FP+TN),代表分類器預測的正類中實際負實例占所有負實例的比例。

我們可以發(fā)現:TPR=Recall。
ROC曲線也需要相應的閾值才可以進行繪制,原理同上的PR曲線。

下圖為ROC曲線示意圖,因現實任務中通常利用有限個測試樣例來繪制ROC圖,因此應為無法產生光滑曲線,如右圖所示。

繪圖過程:給定m個正例子,n個反例子,根據學習器預測結果進行排序,先把分類閾值設為最大,使得所有例子均預測為反例,此時TPR和FPR均為0,在(0,0)處標記一個點,再將分類閾值依次設為每個樣例的預測值,即依次將每個例子劃分為正例。設前一個坐標為(x,y),若當前為真正例,對應標記點為(x,y+1/m),若當前為假正例,則標記點為(x+1/n,y),然后依次連接各點。

ROC曲線圖中的四個點
第一個點:(0,1),即FPR=0, TPR=1,這意味著FN=0,并且FP=0。這是完美的分類器,它將所有的樣本都正確分類。
第二個點:(1,0),即FPR=1,TPR=0,類似地分析可以發(fā)現這是一個最糟糕的分類器,因為它成功避開了所有的正確答案。
第三個點:(0,0),即FPR=TPR=0,即FP=TP=0,可以發(fā)現該分類器預測所有的樣本都為負樣本(negative)。
第四個點:(1,1),分類器實際上預測所有的樣本都為正樣本。經過以上的分析,ROC曲線越接近左上角,該分類器的性能越好。

一個對比:
AUC

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

其余參考:全面了解ROC曲線
ROC曲線和PR(Precision-Recall)曲線的聯系


Ending~迷迷糊糊恍恍惚惚結束了今日搬運!
大家周末愉快!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容