来源01:Mean Average Precision(MAP)
来源02:一个评测指标就是MAP(Mean Average Precision)平均精度均值
来源03:MAP(Mean Average Precision)
MAP可以由它的三个部分来理解:P,AP,MAP
正确率只是考虑了返回结果中相关文档的个数,没有考虑文档之间的序。对一个搜索引擎或推荐系统而言返回的结果必然是有序的,而且越相关的文档排的越靠前越好,于是有了AP的概念。对一个有序的列表,计算AP的时候要先求出每个位置上的precision,然后对所有的位置的precision再做个average。如果该位置的文档是不相关的则该位置
举个例子(修改了引用[1]的例子):
Prediction | | |
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 |

具体求解:
假设有两个查询,查询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
代码:
Github地址:https://github.com/JK-SUN/MLandDM-EvaluationMeasures 欢迎拍砖
参考:
[1]Alternate explanation of Mean Average Precision
[2]信息检索系统导论