我正在为我的公司建立一个推荐系统,并且对有关无法在Google上找到的precision @ K和callback @ K的公式有疑问。
如果使用precision @ K,则一般公式将是前k个相关集合中推荐项目的比例。
我的问题是如何定义哪些项目是相关的,哪些不是,因为用户不一定要与所有可用项目进行交互,而只是与它们的一小部分进行交互。如果前k个推荐项目缺乏真实性,那意味着用户没有与其中的一些互动,那么我们就没有实际的评级怎么办?我们应该从计算中忽略它们还是将它们视为不相关的项目?
下一篇文章建议忽略这些非交互项,但我对此不确定。
https://medium.com/@m_n_malaeb/recall-and-precision-at-k-for-recommender-systems-618483226c54
非常感谢。
最佳答案
您提到“推荐的商品”,因此我假设您正在谈论的是为推荐引擎计算精度,即顶部k
中预测用户未来互动的数量。
推荐器引擎的目标是根据过去的交互对未来的交互进行建模。在交互的数据集上训练这样的模型,使得最后的交互是目标,而n
过去的交互是特征。
因此,可以通过在已知地面真实性(最后交互作用)的测试集上运行模型,然后将地面真实性位于最高k
预测之内的预测数除以测试项目总数,来计算精度。
用户未与之交互的项目不会出现,因为我们正在训练其他用户的行为模型。
关于performance - 推荐系统-Recall @ K和Precision @ K,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60032591/