ROC和AUC的區別


ROC是一個曲線,AUC是曲線下面的面積值。

 
ROC曲線是FPR和TPR的點連成的線。
可以從上面的圖看到,橫軸是FPR, 縱軸是TPR (TPR = TP / (TP + FN);FPR = FP / (FP + TN))
ROC曲線如果想要理解的話,要關注四點一線:
1) (0,1)點:FPR==0,TPR==1 -->代表最好的一種情況,即所有的正例都被正確預測了,並且,沒有負例被錯認為正例。 
2) (1,0)點:--> 代表最差的一種情況,所有的正例都看錯了。
3) (0,0)點: --> 分類器將所有的樣本都認為是負樣本。
4) (1,1)點: --> 分類器將所有的樣本都認為是正樣本。
5) y=x曲線:  --> 隨機猜測出來可得這樣一個曲線。 
形象的理解一下:
1) 商品推薦:重在覆蓋度,所以更加注重True Positive的高,這個越高越好。False Positive這個不那么低也可以接受。
2) 嫌犯預測:重在准確,更加注重False Positive的低。

 
PR曲線是准確率和召回率的點連成的線。
可以看到,左邊的圖是ROC曲線,右邊的圖是PR曲線。
ROC曲線,越左上凸越好; 因為這個ROC想要True Positive高,False Positive小。
PR曲線,越右上凸越好。 PR想要Recall和Precision同時高。
 

當樣本分布極不均衡的時候,哪個曲線表現的更好呢?
先看兩個公式:
1) TPR = TP / (TP + FN);
2) FPR = FP / (FP + TN)
在ROC曲線中,這兩個指標構成了最后的曲線。
如果,樣本極不均衡。這里假設,正樣本非常少,負樣本非常多。
如果是這樣的話,則TN會非常大,將FPR拉低,最后的曲線會表現的非常好。
 
這時候,再看看PR曲線,也許這個曲線就沒有表現的那么好。
所以,有的時候,光看一個曲線是不能完全覆蓋所有的情況的。
 
 

如何畫ROC曲線?
如上圖所示,假如我有20個測試樣本,將預測的概率由大到小排列一下。
然后,分別用這個score作為閾值,大於0.9的作為正類,小於0.9的作為負類,這樣的話,就有20組TP,FN等的值了。
這樣就可以畫出來一個曲線。
 
如果曲線不是特別平滑的話,那么很可能存在過擬合的情況。
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM