PR曲線原理及通過曲線判斷分類器優劣

一、原理講解

P-R曲線就是精確率precision vs 召回率recall 曲線,以recall作爲橫座標軸,precision作爲縱座標軸。首先解釋一下精確率和召回率。

解釋精確率和召回率之前,先來看下混淆矩陣,

TN FP
FN TP

把正例正確分類爲正例,表示爲TP(true positive),把正例錯誤分類爲負例,表示爲FN(false negative),

把負例正確分類爲負例,表示爲TN(true negative), 把負例錯誤分類爲正例,表示爲FP(false positive)

精確率和召回率可以從混淆矩陣中計算而來,precision = TP/(TP + FP), recall = TP/(TP +FN)

那麼P-R曲線是怎麼來的呢?

算法對樣本進行分類時,都會有置信度,即表示該樣本是正樣本的概率,比如99%的概率認爲樣本A是正例,1%的概率認爲樣本B是正例。通過選擇合適的閾值,比如50%,對樣本進行劃分,概率大於50%的就認爲是正例,小於50%的就是負例。

通過置信度就可以對所有樣本進行排序,再逐個樣本的選擇閾值,在該樣本之前的都屬於正例,該樣本之後的都屬於負例。每一個樣本作爲劃分閾值時,都可以計算對應的precision和recall,那麼就可以以此繪製曲線。那很多書上、博客上給出的P-R曲線,都長這樣
在這裏插入圖片描述
當然,這種曲線是有可能的。但是仔細琢磨就會發現一些規律和一些問題。

根據逐個樣本作爲閾值劃分點的方法,可以推敲出,recall值是遞增的(但並非嚴格遞增),隨着劃分點左移,正例被判別爲正例的越來越多,不會減少。而精確率precision並非遞減,二是有可能振盪的,雖然正例被判爲正例的變多,但負例被判爲正例的也變多了,因此precision會振盪,但整體趨勢是下降。

另外P-R曲線肯定會經過(0,0)點,比如講所有的樣本全部判爲負例,則TP=0,那麼P=R=0,因此會經過(0,0)點,但隨着閾值點左移,precision初始很接近1,recall很接近0,因此有可能從(0,0)上升的線和座標重合,不易區分。如果最前面幾個點都是負例,那麼曲線會從(0,0)點開始逐漸上升。

曲線最終不會到(1,0)點。很多P-R曲線的終點看着都是(1,0)點,這可能是因爲負例遠遠多於正例。

最後一個點表示所有的樣本都被判爲正例,因此FN=0,所以recall = TP/(TP + FN) = 1, 而FP = 所有的負例樣本數,因此precision = TP/(TP+FP) = 正例的佔所有樣本的比例,故除非負例數很多,否則precision不會爲0.

二、通過PR曲線判斷分類器性能

在這裏插入圖片描述
如果一個學習器的P-R曲線被另一個學習器的P-R曲線完全包住,則可斷言後者的性能優於前者,例如上面的A和B優於學習器C。但是A和B的性能無法直接判斷,我們可以根據曲線下方的面積大小來進行比較,但更常用的是平衡點或者是F1值。平衡點(BEP)是P=R時的取值,如果這個值較大,則說明學習器的性能較好。而F1 = 2 * P * R /( P + R ),同樣,F1值越大,我們可以認爲該學習器的性能較好。

補充

  1. ROC曲線(類似於PR曲線的另一種曲線)中,越接近左上角的曲線越好
  2. AUC (Area under Curve):ROC曲線下的面積,介於0.1和1之間,作爲數值可以直觀的評價分類器的好壞,值越大越好。
    AUC = 1,是完美分類器,採用這個預測模型時,存在至少一個閾值能得出完美預測。絕大多數預測的場合,不存在完美分類器。
    0.5 < AUC < 1,優於隨機猜測。這個分類器(模型)妥善設定閾值的話,能有預測價值。
    AUC = 0.5,跟隨機猜測一樣(例:丟銅板),模型沒有預測價值

參考說明

版權聲明:本文爲CSDN博主「keep_forward」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/b876144622/article/details/80009867

作者:李_穎Biscuit
鏈接:https://www.jianshu.com/p/ac46cb7e6f87
來源:簡書
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章