3
我使用Mahout和Pearson Correlation算法来根据他们对多个项目的偏好比较和查找类似的用户。我遇到的问题是,Mahout和/或Pearson忽略为每个项目选择相同首选项的用户。有谁知道是否有一种方法来配置Mahout不会忽略为每个项目选择相同首选项值的人员。Apache Mahout + Pearson相关性忽略每个项目具有相同首选项的用户
我使用Mahout和Pearson Correlation算法来根据他们对多个项目的偏好比较和查找类似的用户。我遇到的问题是,Mahout和/或Pearson忽略为每个项目选择相同首选项的用户。有谁知道是否有一种方法来配置Mahout不会忽略为每个项目选择相同首选项值的人员。Apache Mahout + Pearson相关性忽略每个项目具有相同首选项的用户
这不是一个配置问题。 Pearson相关性在这种情况下是不确定的,因此使用这个度量可以在它们之间不计算相似度。
本质上 - 皮尔森是两个偏好系列的协方差与其标准偏差乘积的比率。但是,当一个或两个序列相同时,标准偏差为0,协方差也如此,因此相关性为0/0。
(这和其他一些皮尔逊陷阱覆盖在Mahout in Action第4章,我这本书,这部分代码的作者。)
谢谢。 Mahout支持的另一种算法可以像Pearson一样工作,但这将允许用户选择统一的偏好值。 – 10GritSandpaper
你可以尝试EuclideanDistanceSimilarity。 LogLikelihoodSimilarity是另一个不错的选择;它甚至不使用pref值。 –
感谢您的回复,我有一个跟进的问题是相关的,但不符合此主题。我想知道你是否可以看看它? http://stackoverflow.com/questions/7821944/apache-mahout-euclidean-distance-unexpected-results 谢谢。 – 10GritSandpaper