据作者在 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 3和 paper 3
召回率@k 是一个取决于所进行的测试的百分比,即推荐的数量,每个推荐都是一个项目列表,有些项目是正确的,有些则不是。如果我们提出了 50 条不同的推荐,我们称其为 R(无论每个推荐的项目数如何),计算召回率需要查看 50 条推荐中的每一条。如果,对于每个推荐,至少有一个推荐项目是正确的,则可以增加一个值,在这种情况下,我们称其为 N。为了计算召回率@R,需要制定 N/R。
关于recommendation-engine - 召回率、召回率@k 和 top-k 推荐中的精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33697625/