4
我在更详细地探讨Mahout in Action中的一些代码示例。我已经构建了一个小型测试,用于计算应用于我的数据的各种算法的RMS。评估推荐人 - 无法在x个案例中推荐
当然,多个参数会影响RMS,但我不理解运行评估时生成的“无法推荐...情况下”消息。
查看StatsCallable.java,这是在评估者遇到NaN响应时生成的;可能没有足够的数据在训练集或用户的首选项中提供建议。
似乎RMS分数不会受到一大组“无法推荐”的情况的影响。这个假设是否正确?我是否应该评估我的算法,不仅是RMS,还有“无法推荐”的情况与我的整体训练集的比例?
我会很感激任何反馈意见。
肖恩 - 我想回复并说谢谢你的回复。我最终进行了一系列测试,发现对于我的数据集,Pearson表现最差,Log Likelihood是最好的基于用户的建议。一般来说,我的数据中有10%属于“无法推荐”的类别,但对于皮尔逊而言,它更像是20%。无论哪种方式,为了比较苹果与苹果,我最终将无法推荐的数据纳入我的RMS分数中,以公平比较所有推荐人。 – 2012-05-04 16:14:20
Pearson相关性在角落案例中是未定义的,就像两个人仅在一个项目中重叠一样。在稀疏数据上,这并不罕见。对数似然至少在这些情况下被定义。 (这是一个更好的默认值。)结果并不让我感到惊讶。 – 2012-05-04 16:15:59