作為機器學習重要的評價指標,標題中的三個內容,在下面讀書筆記里面都有講:
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),也就是預測成正例的情況,有多少比例是真的正例。
