首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解精度@K,AP@K,MAP@K

理解精度@K,AP@K,MAP@K
EN

Stack Overflow用户
提问于 2019-04-18 15:01:46
回答 1查看 21.3K关注 0票数 18

我目前正在评估一个基于隐式反馈的推荐系统。对于对任务进行排序的评估指标,我有点困惑。具体来说,我希望通过精确性和回忆性来进行评估。

精度@k的优点是不需要对相关文档集的大小进行任何估计,但缺点是它是常用的评估方法中最不稳定的,而且它并不平均,因为查询的相关文档总数对k的精度有很大的影响。

我已经注意到,它往往是非常不稳定的,因此,我想将多个评估日志的结果平均化。

我想知道,如果我运行一个返回以下数组的评估函数:

包含每个用户精确@k分数的Numpy数组。

现在,我有了一个数组,用于我的数据集中的所有精度@3分数。

如果我取这个数组的平均值,横穿20个不同的分数:这是否等同于平均精度@K或MAP@K,或者我是否理解得有点过了?

我正在写一篇带有评价部分的论文,所以定义的准确性对我来说是非常重要的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-28 20:24:05

涉及到两个平均值,它们使概念变得模糊,但在recsys上下文中它们是非常简单的-at --让我澄清它们:

P@K

在您的系统的顶部-k建议中有多少相关项存在?

例如,要计算P@3:为给定的用户取前3条建议,并检查其中有多少条是好的。这个数除以3,得到P@3。

AP@K

P@i对i=1,.,K.

例如,要计算AP@3:和P@1、P@2和P@3,并将该值除以3

AP@K通常是为一个用户计算的。

MAP@K

所有用户AP@K的平均值。

例如,要为所有用户计算MAP@3: sum AP@3,并将该值除以用户数

如果您是程序员,可以检查这段代码,这是apkml_metricsmapk函数的实现,这是一个由Kaggle的CTO负责的库。

希望能帮上忙!

票数 38
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55748792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档