1. 程式人生 > >精確率(準確率、查準率、precision)、召回率(查全率、recall)、RoC曲線、AUC面積、PR曲線

精確率(準確率、查準率、precision)、召回率(查全率、recall)、RoC曲線、AUC面積、PR曲線

  精確率(Precision)的定義如下:

    P=TPTP+FP

    召回率(Recall)的定義如下:
    R=TPTP+FN

    特異性(specificity)的定義如下:

    S=FPFP+TN

    有時也用一個F1值來綜合評估精確率和召回率,它是精確率和召回率的調和均值。當精確率和召回率都高時,F1值也會高。嚴格的數學定義如下:

    2F1=1P+1R

    有時候我們對精確率和召回率並不是一視同仁,比如有時候我們更加重視精確率。我們用一個引數β來度量兩者之間的關係。

如果β>1, 召回率有更大影響,如果β<1,精確率有更大影響。自然,當β

=1的時候,精確率和召回率影響力相同,和F1形式一樣。

含有度量引數β的F1我們記為Fβ 嚴格的數學定義如下:

    Fβ=(1+β2)PRβ2P+R

precision和recall的一對矛盾的度量,通常只有在一些簡單的任務中,才可能使precision和recall都很高。

3. RoC曲線和PR曲線


在很多情況下,我們可根據學習器的預測結果對樣例進行排序,排在前面的是學習器認為“最可能”是正例的樣本,

排在最後的則是學習器認為“最不可能”是正例的樣本。按此順序逐個把樣本作為整理進行預測,則每次可以計算

出當前的查全率、查準率,以P(查準率)為縱軸,R(查全率)為橫軸作圖,就得到了P-R曲線

P-R圖直觀的顯

示出學習器在樣本總體上的查全率、查準率,在進行比較時,若一個學習器的P-R曲線被另一個完全包住,則可

斷言後者優於前者,如圖1,A優於C;如果兩個學習器的P-R曲線發生了交叉,如A和B,則難以一般性的斷言兩

者孰優孰劣,只能在具體的P或R條件下進行比較。然而,在很多情形下,人們往往仍希望把學習器A和B比個高低,

這時一個比較合理的判斷依據是比較曲線下面積的大小,它在一定程度上表徵了學習器在P和R上取得相對“雙高”

的比例,但這個值不太容易估算,因此人們設計了一些綜合考慮P和R的度量。

平衡點(BEP)就是這樣一個度量,是P=R時的取值,基於BEP,可任務A優於B。

以召回率(真正率)為y軸,以特異性(假正率)為x軸,我們就直接得到了RoC曲線。從召回率和特異性的定

義可以理解,召回率越高,特異性越小,我們的模型和演算法就越高效。也就是畫出來的RoC曲線越靠近左上越

好。如下圖左圖所示。從幾何的角度講,RoC曲線下方的面積越大越大,則模型越優。所以有時候我們用RoC

曲線下的面積,即AUC(Area Under Curve)值來作為演算法和模型好壞的標準。


圖1 P-R曲線


圖2 ROC曲線

參考文獻

http://www.cnblogs.com/pinard/p/5993450.html

周志華《機器學習》