信息檢索(IR)的評價指標介紹 - 準確率、召回率、F一、mAP、ROC、AUC

準確率、召回率、F1

信息檢索、分類、識別、翻譯等領域兩個最基本指標是召回率(Recall Rate)和準確率(Precision Rate),召回率也叫查全率,準確率也叫查準率,概念公式: html

             召回率(Recall)      =  系統檢索到的相關文件 / 系統全部相關的文件總數 java

             準確率(Precision) =  系統檢索到的相關文件 / 系統全部檢索到的文件總數 算法

圖示表示以下: 工具

注意:準確率和召回率是互相影響的,理想狀況下確定是作到二者都高,可是通常狀況下準確率高、召回率就低,召回率低、準確率高,固然若是二者都低,那是什麼地方出問題了。通常狀況,用不一樣的閥值,統計出一組不一樣閥值下的精確率和召回率,以下圖: 性能

若是是作搜索,那就是保證召回的狀況下提高準確率;若是作疾病監測、反垃圾,則是保準確率的條件下,提高召回。 spa

因此,在二者都要求高的狀況下,能夠用F1來衡量。 翻譯

F1 = 2 * P * R / (P + R)
公式基本上就是這樣,可是如何算圖1中的A、B、C、D呢?這須要人工標註,人工標註數據須要較多時間且枯燥,若是僅僅是作實驗能夠用用現成的語料。固然,還有一個辦法,找個一個比較成熟的算法做爲基準,用該算法的結果做爲樣原本進行比照,這個方法也有點問題,若是有現成的很好的算法,就不用再研究了。

AP和mAP(mean Average Precision)

mAP是爲解決P,R,F-measure的單點值侷限性的。爲了獲得 一個可以反映全局性能的指標,能夠看考察下圖,其中兩條曲線(方塊點與圓點)分佈對應了兩個檢索系統的準確率-召回率曲線 code

能夠看出,雖然兩個系統的性能曲線有所交疊可是以圓點標示的系統的性能在絕大多數狀況下要遠好於用方塊標示的系統。 orm

從中咱們能夠 發現一點,若是一個系統的性能較好,其曲線應當儘量的向上突出。 htm

更加具體的,曲線與座標軸之間的面積應當越大。

最理想的系統, 其包含的面積應當是1,而全部系統的包含的面積都應當大於0。這就是用以評價信息檢索系統的最經常使用性能指標,平均準確率mAP其規範的定義以下:(其中P,R分別爲準確率與召回率)

ROC和AUC

ROC和AUC是評價分類器的指標,上面第一個圖的ABCD仍然使用,只是須要稍微變換。

回到ROC上來,ROC的全名叫作Receiver Operating Characteristic。

ROC關注兩個指標

   True Positive Rate ( TPR )  = TP / [ TP + FN] ,TPR表明能將正例分對的機率

   False Positive Rate( FPR ) = FP / [ FP + TN] ,FPR表明將負例錯分爲正例的機率

在ROC 空間中,每一個點的橫座標是FPR,縱座標是TPR,這也就描繪了分類器在TP(真正的正例)和FP(錯誤的正例)間的trade-off。ROC的主要分析工具是一個畫在ROC空間的曲線——ROC curve。咱們知道,對於二值分類問題,實例的值每每是連續值,咱們經過設定一個閾值,將實例分類到正類或者負類(好比大於閾值劃分爲正類)。所以咱們能夠變化閾值,根據不一樣的閾值進行分類,根據分類結果計算獲得ROC空間中相應的點,鏈接這些點就造成ROC curve。ROC curve通過(0,0)(1,1),實際上(0, 0)和(1, 1)連線造成的ROC curve實際上表明的是一個隨機分類器。通常狀況下,這個曲線都應該處於(0, 0)和(1, 1)連線的上方。如圖所示。

用ROC curve來表示分類器的performance很直觀好用。但是,人們老是但願能有一個數值來標誌分類器的好壞。

因而Area Under roc Curve(AUC)就出現了。顧名思義,AUC的值就是處於ROC curve下方的那部分面積的大小。一般,AUC的值介於0.5到1.0之間,較大的AUC表明了較好的Performance。

AUC計算工具:

http://mark.goadrich.com/programs/AUC/

P/R和ROC是兩個不一樣的評價指標和計算方式,通常狀況下,檢索用前者,分類、識別等用後者。

參考連接:

http://www.vanjor.org/blog/2010/11/recall-precision/

http://bubblexc.com/y2011/148/

http://wenku.baidu.com/view/ef91f011cc7931b765ce15ec.html

相關文章
相關標籤/搜索