ROC曲線及AUC評價指標

2021-06-07 06:50:40 字數 1638 閱讀 5121

很多時候,我們希望對乙個二值分類器的效能進行評價,auc正是這樣一種用來度量分類模型好壞的乙個標準。現實中樣本在不同類別上的不均衡分布(class distribution imbalance problem),使得accuracy這樣的傳統的度量標準不能恰當的反應分類器的效能。舉個例子:測試樣本中有a類樣本90個,b 類樣本10個。若某個分類器簡單的將所有樣本都劃分成a類,那麼在這個測試樣本中,它的準確率仍為90%,這顯示是不合理的。為了解決上述問題,人們從醫療分析領域引入了一種新的分類模型performance評判方法——roc分析。在介紹roc之前,首先討論一下混淆矩陣(confusion matrix)。

混淆矩陣是監督學習中的一種視覺化工具,主要用於比較分類結果和例項的真實資訊(outcom vs.  ground truth)。矩陣中的每一行代表例項的**類別,每一列代表例項的真實類別。在混淆矩陣中,每乙個例項可以劃分為四種型別之一,true positive\false positive\false negative\true negetive(tp\fp\fn\tn),如圖1所示。其中,positive代表**例項來自正類,negetive代表**例項來自負類;true代表**正確,false代表**錯誤。

圖1:confusion matrix

由混淆矩陣可以計算一系列的評價指標,如accurancy、precision、recall等等。

回到roc上來,roc的全名叫做receiver operating characteristic。roc關注兩個指標true positive rate (tpr= tp / [tp + fn] ) 和  false positive rate (fpr= fp / [fp + tn] ),直觀上,tpr代表能將正例分對的概率,fpr代表將負例錯分為正例的概率。在roc 空間中,每個點的橫座標是fpr,縱座標是tpr,這也就描繪了分類器在tp(真正的正例)和fp(錯誤的正例)間的trade-off。roc的主要分析工具是乙個畫在roc空間的曲線——roc curve。我們知道,對於二值分類問題,例項的值往往是連續值,我們通過設定乙個閾值,將例項分類到正類或者負類(比如大於閾值劃分為正類)。因此我們可以變化閾值,根據不同的閾值進行分類,根據分類結果計算得到roc空間中相應的點,連線這些點就形成roc curve。roc curve經過(0,0)(1,1),實際上(0, 0)和(1, 1)連線形成的roc curve實際上代表的是乙個隨機分類器。一般情況下,這個曲線都應該處於(0, 0)和(1, 1)連線的上方。如圖2所示。

圖2 roc curve

用roc curve來表示分類器的performance很直觀好用。可是,人們總是希望能有乙個數值來標誌分類器的好壞。於是area under roc curve(auc)就出現了。顧名思義,auc的值就是處於roc curve下方的那部分面積的大小。通常,auc的值介於0.5到1.0之間,較大的auc代表了較好的performance。

計算roc curve的auc值的**可以在這找到。

precision 和 recall 定義:

precision  = tp/(tp+fp)     recall = tp/(tp+fn)

查準率(precision) = 識別出的真正的正面觀點數/所有的識別為正面觀點的條數

查全率(recall) = 識別出的真正的正面觀點數/樣本中所有的真正正面觀點的條數

**: 

參見:

ROC曲線和AUC指標

roc曲線的橫軸就是fprate,縱軸就是tprate,二者相等時表示的意義則是 對於不論真實類別是1還是0的樣本,分類器 為1的概率是相等的,此時auc為0.5 圖中藍色的線則是roc曲線,roc曲線和橫軸 縱軸圍成的面積就是auc指標。fpr fp fp tn from sklearn.metr...

ROC曲線和AUC面積

本博文所有理論都是基於二分類,多分類問題其實與二分類問題相通。考慮乙個二分問題,如果一類定為正類 positive 那麼另一類就是負類 negative 注意和正樣本和負樣本概念不同,參考博文 真正類 true positive 例項是正類並且也被 成正類 假正類 false positive 例項...

ROC曲線與AUC計算總結

橫軸 負正類率 false postive rate,fpr 特異度,劃分例項中所有負例佔所有負例的比例 1 specificity 縱軸 真正類率 true postive rate,tpr 靈敏度,sensitivity 正類覆蓋率 1 若乙個例項是正類並且被 為正類,即為真正類 true po...