2012-01-09 65 views
1

我有一个产品,让我们说一本书。现在我想要检索与此产品相似的k个产品。我怎样才能用Mahout做到这一点?如何使用Mahout获得k个类似的产品?

产品存储在MySQL数据库中,所以我会使用JDBCDataModel。 为了计算相似性,我更喜欢LogLikelihoodTest。

但我应该选择哪个推荐人?似乎所有的推荐人都是设计的

+0

设计...?完成这个想法,我敢肯定我可以回答。 – 2012-01-09 18:38:32

+0

对不起,它是在说“所有推荐人都是为了与用户数据一起使用而设计的”。 – brainfck 2012-01-09 22:42:16

回答

6

我想在这里猜这个问题。你有用户项目数据,用户是真实的人,项目是书籍。您正在使用LogLikelihoodSimilarity作为推荐人的基础,无论是基于用户还是基于项目。

如果你只是想要最相似的物品,你不需要推荐人。只需使用LogLikelihoodSimilarityItemSimilarity)计算与所有其他项目的相似度并采取最相似的项目。实际上看看TopItems这个类,它甚至为你做了这个逻辑。

+0

谢谢,所以我会坚持TopItems课!谢谢! :) – brainfck 2012-01-09 22:42:57

+0

顺便说一句,谢谢你的伟大的书! – brainfck 2012-01-10 09:46:08

+1

NP和我忘了提及一个更简单的选项...使用一个ItemBasedRecommender并调用'mostSimilarItems()'它为你做上述工作。 – 2012-01-10 09:53:06

相关问题