2014-11-25 70 views
-1

我使用亨利马乌Apache来写一个项目基于推荐(基于类似的项目评级由用户),我想知道它下面的两个相似性指标将是最好的使用方法:项目基于相似度计量

皮尔逊,斯皮尔曼,欧几里得,谷本和Loglikelihood

+0

你看到答案了吗?它回答你的问题吗?当有人帮助你时,你应该欣赏这种努力。 – 2014-12-17 12:23:21

回答

0

如果你有偏好值,你应该使用人际关系或欧几里德距离相似度量度。如果你没有偏好值,你应该使用Tanimoto系数或Loglikelihood。要选择缩小范围中的哪一个,应对数据集执行评估。这就是为什么使用mahout的评估框架。您可以评估许多指标,如均方误差(MSE),绝对均方误差,精度,召回,MAP ...

我已经编码调整后的余弦相似度,皮尔逊相关性的变体给出了更好的结果,但其比较慢。

+0

关于“调整后的余弦相似度”:Mahout没有为此提出任何标准方法?我正在构建一个基于项目的推荐人,但我应该将用户的评级偏见考虑在内,并且我找不到可以“开箱即用”的功能。你知道吗? – PLB 2015-04-02 17:13:19

+1

创建您自己的调整余弦相似性非常容易。只需扩展ItemSimilarity类,并查看PearsonCorrelationSimilarity,如果您有问题,请打开新问题,我将粘贴我创建的代码。这里没有空间。 – 2015-04-14 07:18:05

+0

谢谢。我实际上已经创建了这个问题:http://stackoverflow.com/questions/29419222/mahout-adjusted-cosine-similarity-for-item-based-recommender。 Mahout的邮件列表中的人告诉我这是一个非常糟糕的做法,但编码并没有意义。所以我甚至没有尝试,因为我没有时间。但是如果你想粘贴你的代码,我一定会看看! – PLB 2015-04-14 08:59:39