PR曲線,ROC曲線,AUC指標等,Accuracy vs Precision


作為機器學習重要的評價指標,標題中的三個內容,在下面讀書筆記里面都有講:

http://www.cnblogs.com/charlesblc/p/6188562.html

 

但是講的不細,不太懂。今天又理解了一下。看了這篇文章:

https://www.douban.com/note/247271147/?type=like

講的很好。

 

都是基於這張圖,先貼一下:

 

PR

 

Precision-Recall曲線,這個東西應該是來源於信息檢索中對相關性的評價吧,precision就是你檢索出來的結果中,相關的比率;recall就是你檢索出來的結果中,相關的結果占數據庫中所有相關結果的比率;所以PR曲線要是繪制的話,可以先對decision進行排序,就可以當作一個rank值來用了,然后把分類問題看作檢索問題,當返回一個結果的時候的PR pair是多少(R肯定接近0,P理論上接近1),2個、3個、一直到你所有的檢測樣本都包含;所以假設你的測試樣本有100個,是不是會返回100個precision-recall點呢?然后把這些點繪制出來,就得到了PR曲線;

所以,PR曲線的采點是按照樣本的數量采的。注意,這一條PR曲線的繪制只對應一個p_0值(也就是下面說的分類閾值,當回歸結果高於這個閾值時判定為正類),所以往往先選擇最優的p_0,再繪制不同model的PR曲線,比較model的優劣。

 

ROC

receiver operating characteristic curve

 

 

要看ROC的原理,總離不開上面這個表格,ROC繪制的就是在不同的閾值p_0(同上面的分類閾值)下,TPR和FPR的點圖。所以ROC曲線的點是由不同的p_0所造成的。所以你繪圖的時候,就用不同的p_0采點就行。

 

可以看出TPR和Recall的形式是一樣的,就是查全率了FPR就是保證這樣的查全率你所要付出的代價就是把多少負樣本也分成了正的了

 

對比PR圖和ROC圖

 

AUC

Area Under Curve

AUC就是ROC曲線下方的面積。可以知道,TPR越大的情況下,FPR始終很小,才是好的,那么這條曲線就是很靠近縱軸的曲線,那么下方面積就大。所以AUC越大越好。

 

意義:

通過ROC曲線,也能夠在查全率和查准率之間做一個平衡,分類時候來選擇出最好的p_0閾值

而即使不需要二分類選閾值,比如LR回歸,不把閾值作為點擊或者不點擊的區分標准,而是作為排序的一個因子,AUC也能夠起到很好的參考意義。AUC面積越大,說明算法和模型准確率越高越好。

在比較兩種學習器的時候,如果一個被另一個完全包住,那么大的那個好。如果兩個有交叉,一般而言,面積大的那個好。當然不排除有具體的案例,需要根據代價敏感性(對於查全查准)的特殊需求,來比較。

 

Accuracy 和 Precision的區別

如果硬要區分 Accuracy 和 Precision,

那么 Accuracy就是 (TP+TN)/P+N,也就是所有正確的;

而Precision不是,P指的是 TP/(TP+FP),也就是預測成正例的情況,有多少比例是真的正例。

 


免責聲明!

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



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