评估推荐系统 - 在x种情况下无法进行推荐

4
我正在更详细地探索Mahout in Action中的一些代码示例。我已经构建了一个小测试,用于计算应用于我的数据的各种算法的RMS。
当然,多个参数会影响RMS,但我不理解在评估时生成的“无法推荐某些情况”的消息。
查看StatsCallable.java,当评估器遇到NaN响应时,将生成此消息;也许是训练集中的数据不足或用户的偏好不足以提供推荐。
RMS得分似乎不会受到非常大的“无法推荐”情况的影响。这个假设正确吗?除了我的整体训练集之外,我是否应该评估我的算法还评估“无法推荐”情况的比率?
我会感激任何反馈。
1个回答

4

是的,这基本上意味着没有任何数据可用于估计。这通常是数据稀疏的症状。它应该很少发生,只会发生在数据非常小或与其他用户断开连接的情况下。

我个人认为,除非这占比例很大(20%以上?),否则这并不是什么大问题。如果您无法为许多用户生成任何推荐,那么我会更担心。


Sean - 我想回复并感谢你的回复。我最终进行了一系列测试,并发现对于我的数据集,Pearson表现最差,而Log Likelihood是最好的基于用户的推荐。通常,我的数据中有10%属于“无法推荐”类别,但对于Pearson来说,这个数字更像是20%。无论如何,为了进行苹果与苹果的比较,我最终将无法推荐的数据因素纳入我的RMS得分中,以公平地比较所有推荐者。 - Mike Smith
皮尔逊相关系数在某些边缘情况下是未定义的,例如当两个人仅在一个项目上重叠时。在稀疏数据中,这并不罕见。对于这些情况,对数似然至少是有定义的。(它是更好的默认值。)结果并不让我感到惊讶。 - Sean Owen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接