recommendation-engine - 召回率、召回率@k 和 top-k 推荐中的精度

标签 recommendation-engine evaluation precision-recall

据作者在 1 , 2 , 和 3 , 召回 是从存储库中的所有相关项目中选择的相关项目的百分比,而 精密 是查询选择的项目中相关项目的百分比。

因此,假设用户 U 获得了一个 top-k 推荐的项目列表,它们将类似于:

召回 = (Relevant_Items_Recommended in top-k) / (Relevant_Items)

精密 = (Relevant_Items_Recommended in top-k) / (k_Items_Recommended)

直到那部分一切都清楚了,但我不明白它们和 之间的区别召回率@k .计算公式如何召回率@k ?

最佳答案

最后,我收到了 Yuri Malheiros 教授的解释 (paper 1)。尽管问题中引用的论文中引用的召回率@k 似乎是正常的召回指标,但应用于 top-k 时,它们并不相同。该指标也用于 paper 2 , paper 3paper 3

召回率@k 是一个取决于所进行的测试的百分比,即推荐的数量,每个推荐都是一个项目列表,有些项目是正确的,有些则不是。如果我们提出了 50 条不同的推荐,我们称其为 R(无论每个推荐的项目数如何),计算召回率需要查看 50 条推荐中的每一条。如果,对于每个推荐,至少有一个推荐项目是正确的,则可以增加一个值,在这种情况下,我们称其为 N。为了计算召回率@R,需要制定 N/R。

关于recommendation-engine - 召回率、召回率@k 和 top-k 推荐中的精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33697625/

相关文章:

python - DecisionTreeClassifier 的精确召回曲线下的面积是一个正方形

push-notification - 推送信息传递的推荐引擎

machine-learning - 将 "Implicit"用户交互转换为推荐系统的 "Explicit"用户评分

mahout - Apache 马胡 : how to handle dynamic data rating

compilation - 我可以解析/编译 ChaiScript 脚本一次并调用它多次吗?

scikit-learn - sklearn precision_recall_curve 和阈值

tensorflow - Keras 的 AUC(曲线 ='PR' )和 Scikit-learn 的 average_precision_score 有什么区别?

hadoop - Mahout 运行分布式推荐给出空文件

r - 在 R 中使用 lapply 或 with 的用户定义函数中的非标准评估

algorithm - 使用字符串匹配算法或动态规划对齐音符