【機器學習】ROC曲線和AUC面積

ROC曲線的橫座標軸是FPR(False Positive Rate),縱座標軸是TPR(True Positive Rate),對應於下面的混淆矩陣(fusion matrix):

TPR=TPTP+FNTPR = \frac{TP}{TP+FN}

TP指的是正類被分爲正類的個數,FN指的是正類被分爲負類的個數(錯誤的負類),所以TP+FN指的就是所有正類的個數,這樣這個比值的意義就是所有正類樣本中被正確分類爲正類的比值。結合異常點檢測的例子(異常點是正類,正常點是負類)就是,異常點中被正確分爲異常點的比值。

FPR=FPFP+TNFPR = \frac{FP}{FP+TN}
FP指的是負類被分爲正類的個數(錯誤的正類),TN指的是負類被分爲負類的個數,所以FP+TN就是所有負類的個數,這樣這個比值的意義就是所有負類樣本中被錯誤分爲正類的比值。還是結合異常點檢測的例子就是,正常點中被錯誤地分爲異常點的比值。

再用在知乎上看到的一句來昇華:AUC指的是分類器輸出該正樣本爲正的那個概率值 比 分類器輸出該負樣本爲正的那個概率值 要大的可能性。

因此,總的來說TPR和FPR分別
可以看出TPR和FPR分別是TP和FP在其所在混淆矩陣的所在列的比例。

ROC曲線的作用是爲分類器選擇最優閾值,如一個二分類的分類器對一個樣本的的分類score是0.6,閾值設置爲大於0.5時分類爲正類,那麼這個樣本就是正類。而如果閾值設置爲大於0.7時分類爲正類,那麼自然這個樣本就被分爲了負類。這樣不同閾值得到的TPR和FPR自然是不一樣的,但是總有一個閾值是最合適的。

所以,在ROC曲線中,一般認爲ROC曲線中最靠近左上角的點是分類錯誤最少的最優閾值。另外,所取的閾值越多,採樣的點也就越多,從而形成的ROC曲線也就越平滑。如下圖中分別是對應了TPR和FPR在(0,0)、(0.5,0.75)以及(1,1)條件下形成的ROC曲線。


AUC即是ROC曲線下方區域構成的面積(Area Under ROC Curve)。AUC面積越大,模型的分類效果越好。

ROC和AUC一般常用於label unbanlance的數據的分類指標中。如在異常點檢測中,異常點,也就是正類,常常很少。如100個樣本點中只有一個異常點,我們把所有數據都分類爲負類,得到的accuracy是99%,但是顯然accuracy並不是我們要的衡量指標。而通過ROC曲線得到的TPR和FPR都是0(TP和FP都是0),這樣得到的AUC也就是0了。

文中圖片來源:如何理解機器學習和統計中的AUC? - 無涯的回答 - 知乎
https://www.zhihu.com/question/39840928/answer/241440370

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