信息检索的评价指标(Precision、Recall、F-score、MAP、ROC、AUC)
from:https://blog.csdn.net/universe_ant/article/details/70090026
一:Precision、Recall、F-score
信息檢索、分類、識別、翻譯等領域兩個最基本指標是召回率(Recall Rate)和準確率(Precision Rate——注意統計學習方法中precision稱為精確率,而準確率accuracy是分類正確的樣本除以總樣本的個數),召回率也叫查全率,準確率也叫查準率,概念公式:
召回率(Recall) = 系統檢索到的相關文件 / 系統所有相關的文件總數。亦即,預測為真實正例 / 所有真實正例樣本的個數。
準確率(Precision) = 系統檢索到的相關文件 / 系統所有檢索到的文件總數。亦即,預測為真實正例 / 所有被預測為正例樣本的個數。
注意:準確率和召回率是相互影響的,理想情況下肯定是做到兩者都高,但是一般情況下,準確率高、召回率就低;召回率低、準確率高。當然如果兩者都低,那是什么地方出問題了。一般情況,用不同的閾值,統計出一組不同閾值下的精確率和召回率,如下圖:
如果是做搜索,那就是保證召回率的情況下提升準確率;如果做疾病檢測、反垃圾,則是保證準確率的條件下,提升召回率。所以,在兩者都要求高的情況下,可以用F1(或者稱為F-score)來衡量。計算公式如下:F1 = (2 × P × R) / (P + R)。
二:MAP
MAP,全稱Mean Average Precision(平均準確率)。MAP是為解決Precision、Recall、F-score的單點值局限性的,同時考慮檢索效果的排名情況。計算如下:假設有兩個主題,主題1有4個相關網頁,主題2有5個相關網頁。某系統對于主題1檢索出4個相關網頁,其rank分別為1,2,4,7;對于主題2檢索出3個相關網頁,其rank分別為1,3,5。對于主題1,平均準確率為(1/1+2/2+3/4+4/7) / 4 = 0.83。對于主題2,平均準確率為(1/1+2/3+3/5+0+0) / 5 = 2.45。則MAP=(0.83+0.45) / 2 = 0.64。
三:ROC和AUC
ROC和AUC是評價分類器的指標,上面第一個圖的ABCD仍然使用,只是需要稍微變換。
用ROC curve來表示分類器的performance很直觀好用。可是,人們總是希望能有一個數值來標志分類器的好壞。
于是Area Under roc Curve(AUC)就出現了。顧名思義,AUC的值就是處于ROC curve下方的那部分面積的大小。
通常,AUC的值介于0.5到1.0之間,較大的AUC代表了較好的performance。
回到ROC上來,ROC的全名叫做Receiver Operating Characteristic。
ROC關注兩個指標:
True Positive Rate(TPR) = TP / [ TP + FN ],TPR代表能將正例分對的概率;
False Positive Rate(FPR) = FP / [ FP + TN ],FRP代表將負離錯分成正例的概率。
在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)連線的上方。如圖所示:
AUC的值就是處于ROC下方的那部分面積的大小。通常AUC的值介于0.5到1.0之間,較大的AUC代表了較好的performance。
總結
以上是生活随笔為你收集整理的信息检索的评价指标(Precision、Recall、F-score、MAP、ROC、AUC)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Postman for Linux(x8
- 下一篇: docker挂载NVIDIA显卡