一個評測指標就是MAP(Mean Average Precision)平均精度均值。


一個評測指標就是MAP(Mean Average Precision)平均精度均值。

轉載 2017年09月13日 10:07:12

來源01:Mean Average Precision(MAP)

來源02:一個評測指標就是MAP(Mean Average Precision)平均精度均值

來源03:MAP(Mean Average Precision)

 

MAP可以由它的三個部分來理解:P,AP,MAP

先說P(Precision)精度,正確率。在信息檢索領域用的比較多,和正確率一塊出現的是找回率Recall。對於一個查詢,返回了一系列的文檔,正確率指的是返回的結果中相關的文檔占的比例,定義為:precision=返回結果中相關文檔的數目/返回結果的數目;
而召回率則是返回結果中相關文檔占所有相關文檔的比例,定義為:Recall=返回結果中相關文檔的數目/所有相關文檔的數目。

正確率只是考慮了返回結果中相關文檔的個數,沒有考慮文檔之間的序。對一個搜索引擎或推薦系統而言返回的結果必然是有序的,而且越相關的文檔排的越靠前越好,於是有了AP的概念。對一個有序的列表,計算AP的時候要先求出每個位置上的precision,然后對所有的位置的precision再做個average。如果該位置的文檔是不相關的則該位置 precision=0.


舉個例子(修改了引用[1]的例子):

Prediction   Correctness   Points
1 wrong 0
2 right 1 / 2
3 right 2 / 3
4 wrong 0
5 right 3 / 5
6 wrong 0
7 wrong 0
8 wrong 0
9 right 4 / 9
10 wrong 0
 
可以從中看出AP的計算方法,若該位置返回的結果相關,計算該位置的正確率,若不相關,正確率置為0。若返回的這四個的相關文檔排在1,2,3,4號位,則對於的正確率都為1,AP也就等於1,可見計算方法是對排序位置敏感的,相關文檔排序的位置越靠前,檢出的相關文檔越多,AP值越大。
對MAP,則是對所有查詢的AP值求個平均。

得到的計算公式[2]:
 
 

 

 

 

r為相關文檔的個數,N為查詢詞的個數。

具體求解:

假設有兩個查詢,查詢1有4個相關文檔,查詢2有5個相關文檔。某系統對查詢1檢索出4個相關文檔,其rank分別為1,2,4,7;對於查詢2檢索出3個相關文檔,其rank分別為1,3,5。

對於查詢1,AP平均正確率為:(1/1+2/2+3/4+4/7)/4=0.83

對於查詢2,AP平均正確率為:(1/1+2/3+3/5)/5=0.45

 

則平均正確率均值為:(0.83+0.45)/2=0.64

代碼:

Github地址:https://github.com/JK-SUN/MLandDM-EvaluationMeasures 歡迎拍磚


參考:

[1]Alternate explanation of Mean Average Precision

[2]信息檢索系統導論

[3]Mean Average Precision

 


免責聲明!

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



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