roc曲線經常作為評估二分類的重要指標,其起源於軍事領域,全稱叫做receiver operating characteristic curve。
roc曲線是二維平面內的曲線,其橫座標為假陽性率(fpr),縱座標為真陽性率(tpr)他們的計算方法如下:
上式中:
舉個例子:
假設有10個人疑似感冒了,其中有3人確實是感冒了(p=3),另外的7個人沒有感冒(n=7)。醫院對這10位患者做了診斷,診斷出3個感冒的人,其中有2個人確實是感冒了(tp=2)。那麼真陽性率
對於上述的分類結果也就對應著roc曲線上的乙個點(1/7,2/3)
我們可以經過計算得到roc曲線上的乙個點,那麼怎麼去繪製這條曲線呢?
roc曲線實際上是通過不斷的移動分類器的截斷點來生成曲線上的關鍵點的。
我們首先要對樣本的**概率從高到低進行排序,在輸出最終的正例、負例之前我們需要指定乙個閾值,**概率大於該閾值的樣本會被判為正例,小於該閾值的樣本會被判為負例。
舉個例子:
二分類輸出結果樣例
樣本序號
真實標籤
輸出概率1p
0.92
p0.83n
0.74
p0.65p
0.556p
0.547n
0.538n
0.529p
0.5110n
0.50511p
0.412
n0.3913p
0.3814n
0.3715n
0.3616n
0.3517p
0.3418n
0.3319p
0.320
n0.1
就本例來說,當截斷點選擇為正無窮時,模型把全部樣本**為負例,那麼fp和tp必然都為0,fpr和tpr也都為0,因此曲線的第乙個點的座標就是 (0,0)。當把截斷點調整為0.9時,模型**1號樣本為正樣本,並且該樣本確實 是正樣本,因此,tp=1,20個樣本中,所有正例數量為p=10, 故tpr=tp/p=1/10;這裡沒有**錯的正樣本,即fp=0,負樣本總數n=10, 故fpr=fp/n=0/10=0,對應roc曲線上的點(0,0.1)。依次調整截斷點,直到畫出全部的關鍵點,再連線關鍵點即得到最終的roc曲線,如下圖所示:
說完了繪製roc曲線,那麼如何來計算auc呢?
根據名稱我們就可以知道,auc就是在計算roc曲線下方的面積,該值能夠量化的反映基於roc曲線衡量出的模型效能。由於roc的曲線一般都處於y=x這條直線的上方(若果不是的化把概率反轉變成1-p即可成為更好的分類器),所以auc的取值一般在0.5-1之間。auc越大,說明分類器越可能把真正的正樣本排在前面,分類效能越好。
p-r曲線的存在是為了進行精確率和召回率的衡量,p-r曲線顧名思義p就代表精確率而r就是召回率,在p-r曲線中橫軸是召回率,縱軸是精確率。對於乙個排序模型來說,其p-r曲線上的乙個點代表著,在某一閾值下,模型將大於該閾值的結果判定為正樣本, 小於該閾值的結果判定為負樣本,此時返回結果對應的召回率和精確率,整條p-r 曲線是通過將閾值從高到低移動而生成的。下圖中,其中實線代表 模型a的p-r曲線,虛線代表模型b的p-r曲線。原點附近代表當閾值最大時模型的 精確率和召回率。
由圖可見,當召回率接近於0時,模型a的精確率為0.9,模型b的精確率是1, 這說明模型b得分前幾位的樣本全部是真正的正樣本,而模型a即使得分最高的幾 個樣本也存在**錯誤的情況。並且,隨著召回率的增加,精確率整體呈下降趨 勢。但是,當召回率為1時,模型a的精確率反而超過了模型b。這充分說明,只用 某個點對應的精確率和召回率是不能全面地衡量模型的效能,只有通過p-r曲線的 整體表現,才能夠對模型進行更為全面的評估。
機器學習 PR曲線, ROC曲線
在機器學習領域,如果把accuracy作為衡量模型效能好壞的唯一指標,可能會使我們對模型效能產生誤解,尤其是當我們模型輸出值是乙個概率值時,更不適宜只採取accuracy作為衡量模型性泛化能的指標 這篇博文會為大家介紹兩種比較二分決策模型效能的方法pr曲線,roc曲線 對於分類問題我們可以直接 輸入...
ROC曲線 PR曲線
在 的結果分析中,roc和pr曲線是經常用到的兩個有力的展示圖。1.roc曲線 roc曲線 receiver operating characteristic 是一種對於靈敏度進行描述的功能影象。roc曲線可以通過描述真陽性率 tpr 和假陽性率 fpr 來實現。由於是通過比較兩個操作特徵 tpr和...
機器學習筆記 PR曲線和ROC曲線
對於二分類問題,根據分類結果能形成 混淆矩陣 p是查準率,r是查全率,定義如下 一般來說,查準率和查全率是一對矛盾的度量,書上給出的 p r圖 比較平滑,現實中區域性波動較大。roc全稱是 受試者工作特徵 曲線,縱軸是 真正例率 tpr,橫軸是 假正例率 fpr,兩者同樣基於混淆矩陣,定義如下 可以...