我目前正在评估基于隐式反馈的推荐系统。我对排名任务的评估指标有点困惑。具体来说,我希望通过精确度和召回率来评估。
Precision@k 的优点是不需要对相关文档集的大小进行任何估计,但缺点是它是常用评估措施中最不稳定的,并且它的平均效果不好,因为相关文档的总数因为查询对 k 处的精度有很大影响
我自己注意到它往往非常不稳定,因此,我想对多个评估日志的结果进行平均。
我在想; 假设我运行一个返回以下数组的评估函数:
Numpy 数组包含每个用户的precision@k 分数。
现在,我的数据集中的所有precision@3分数都有一个数组。
如果我取这个数组的平均值,然后取 20 个不同分数的平均值:这是否等同于平均精度@K或MAP@K,还是我理解的有点过于字面意思?
我正在写一篇带有评估部分的论文,所以定义的准确性对我来说非常重要。