我试图找到一种方法,使用apache推荐类似的用户,而不是项目。我有一份用户名单,他们每个人都读过某些书。我想问的是,是否有一种方法可以根据另一位用户所阅读的内容向他推荐一组用户。
正如您所理解的,推荐的用户可能读过一些相同的书。
谢谢你的帮助和指导。
发布于 2014-11-21 15:37:50
在Mahout v1中使用火花行相似作业。创建一个
user-ID<tab>book-ID1<space>book-ID2<space>etc...换句话说,每一行都是用户阅读书籍的历史记录。第一列是用户ID,第二列是以空格分隔的图书ID列表.运行"mahout火花-行相似性“,您将得到表单的文件:
user-ID<tab>user-ID5:strength<space>user-ID6:strength<space>etc...这是每个用户的相似用户列表。该列表是排序的,强度是LLR (日志似然比)评分的用户是多么相似。
这里的文档:http://mahout.apache.org/users/recommender/intro-cooccurrence-spark.html
发布于 2015-07-12 01:14:11
在Java中,您可以这样做:
org.apache.mahout.cf.taste.model.DataModel dataModel;
...
UserSimilarity similarity = new PearsonCorrelationSimilarity(dataModel);
UserNeighborhood neighborhood = new ThresholdUserNeighborhood(0.75, similarity, dataModel);
UserBasedRecommender userBasedRecommender = new GenericUserBasedRecommender(dataModel, neighborhood, similarity);
long[] mostSimilarUserIDs = userBasedRecommender.mostSimilarUserIDs(...);https://stackoverflow.com/questions/27037003
复制相似问题