機器學習之分類器效能指標之ROC曲線 AUC值

2021-09-23 13:20:59 字數 3383 閱讀 6341

分類器效能指標之roc曲線、auc

roc曲線

1、roc曲線:接收者操作特徵(receiveroperating characteristic),roc曲線上每個點反映著對同一訊號刺激的感受性。

橫軸:負正類率(false postive rate fpr)特異度,劃分例項中所有負例佔所有負例的比例;(1-specificity)

縱軸:真正類率(true postive rate tpr)靈敏度,sensitivity(正類覆蓋率)

2針對乙個二分類問題,將例項分成正類(postive)或者負類(negative)。但是實際中分類時,會出現四種情況.

(1)若乙個例項是正類並且被**為正類,即為真正類(true postive tp)

(2)若乙個例項是正類,但是被**成為負類,即為假負類(false negative fn)

(3)若乙個例項是負類,但是被**成為正類,即為假正類(false postive fp)

(4)若乙個例項是負類,但是被**成為負類,即為真負類(true negative tn)

tp:正確的肯定數目

fn:漏報,沒有找到正確匹配的數目

fp:誤報,沒有的匹配不正確

tn:正確拒絕的非匹配數目

列聯表如下,1代表正類,0代表負類:

由上表可得出橫,縱軸的計算公式:

(1)真正類率(true postive rate)tpr:tp/(tp+fn),代表分類器**的正類中實際正例項佔所有正例項的比例。sensitivity

(2)負正類率(false postive rate)fpr:fp/(fp+tn),代表分類器**的正類中實際負例項佔所有負例項的比例。1-specificity

(3)真負類率(true negative rate)tnr:tn/(fp+tn),代表分類器**的負類中實際負例項佔所有負例項的比例,tnr=1-fpr。specificity

假設採用邏輯回歸分類器,其給出針對每個例項為正類的概率,那麼通過設定乙個閾值如0.6,概率大於等於0.6的為正類,小於0.6的為負類。對應的就可以算出一組(fpr,tpr),在平面中得到對應座標點。隨著閾值的逐漸減小,越來越多的例項被劃分為正類,但是這些正類中同樣也摻雜著真正的負例項,即tpr和fpr會同時增大。閾值最大時,對應座標點為(0,0),閾值最小時,對應座標點(1,1)。

如下面這幅圖,(a)圖中實線為roc曲線,線上每個點對應乙個閾值。

橫軸fpr:1-tnr,1-specificity,fpr越大,**正類中實際負類越多。

縱軸tpr:sensitivity(正類覆蓋率),tpr越大,**正類中實際正類越多。

理想目標:tpr=1,fpr=0,即圖中(0,1)點,故roc曲線越靠攏(0,1)點,越偏離45度對角線越好,sensitivity、specificity越大效果越好。

二 如何畫roc曲線

假設已經得出一系列樣本被劃分為正類的概率,然後按照大小排序,下圖是乙個示例,圖中共有20個測試樣本,「class」一欄表示每個測試樣本真正的標籤(p表示正樣本,n表示負樣本),「score」表示每個測試樣本屬於正樣本的概率。

接下來,我們從高到低,依次將「score」值作為閾值threshold,當測試樣本屬於正樣本的概率大於或等於這個threshold時,我們認為它為正樣本,否則為負樣本。舉例來說,對於圖中的第4個樣本,其「score」值為0.6,那麼樣本1,2,3,4都被認為是正樣本,因為它們的「score」值都大於等於0.6,而其他樣本則都認為是負樣本。每次選取乙個不同的threshold,我們就可以得到一組fpr和tpr,即roc曲線上的一點。這樣一來,我們一共得到了20組fpr和tpr的值,將它們畫在roc曲線的結果如下圖:

auc(area under curve):roc曲線下的面積,介於0.1和1之間。auc作為數值可以直觀的評價分類器的好壞,值越大越好。

首先auc值是乙個概率值,當你隨機挑選乙個正樣本以及負樣本,當前的分類演算法根據計算得到的score值將這個正樣本排在負樣本前面的概率就是auc值,auc值越大,當前分類演算法越有可能將正樣本排在負樣本前面,從而能夠更好地分類。

三 為什麼使用rocauc評價分類器

既然已經這麼多標準,為什麼還要使用roc和auc呢?因為roc曲線有個很好的特性:當測試集中的正負樣本的分布變換的時候,roc曲線能夠保持不變。在實際的資料集中經常會出現樣本類不平衡,即正負樣本比例差距較大,而且測試資料中的正負樣本也可能隨著時間變化。下圖是roc曲線和presision-recall曲線的對比:

在上圖中,(a)和(c)為roc曲線,(b)和(d)為precision-recall曲線。

(a)和(b)展示的是分類其在原始測試集(正負樣本分佈平衡)的結果,(c)(d)是將測試集中負樣本的數量增加到原來的10倍後,分類器的結果,可以明顯的看出,roc曲線基本保持原貌,而precision-recall曲線變化較大。

參考:

機器學習 分類器效能指標

1.錯誤率 e 錯誤分類個數 總樣本數 2.正確率 tp 分類正確正例 tn 分類正確負例 fp 分類錯誤正例 fn 分類錯誤負例 precision 分類正確的正類 結果中被分為正類的個數 tp tp fp 3.召回率 recall 分類正確的正類 所有正類的個數 tp tp fn 4.f1 sc...

評價分類器效能指標之AUC ROC

本文內容大部分來自於如下兩個部落格 假設有下面兩個分類器,哪個好?樣本中有a類樣本90個,b 類樣本10個。a類樣本 b類樣本 分類精度 分類器c1 a 90 100 a 10 0 90 分類器c2 a 70 b 20 78 a 5 b 5 50 75 分類器c1把所有的測試樣本都分成了a類,分類器...

資料建模 分類器效能指標 效能測評

表示分類正確 true positive 本來是正樣例,分類成正樣例。true negative 本來是負樣例,分類成負樣例。表示分類錯誤 false positive 本來是負樣例,分類成正樣例,通常叫誤報。false negative 本來是正樣例,分類成負樣例,通常叫漏報。準確度 真正類率 t...