使用Mahout中项目相似性的预编译列表创建项目相似度

时间:2012-07-17 20:39:42

标签: java mahout collaborative-filtering

我已经从ItemSimilarity工作中获得了项目列表及其相似之处。我现在想用它来获取特定用户的建议。我现在使用的Java代码不起作用,因为我找不到将.txt文件传递给itemSimilarity的正确方法。这是我到目前为止的代码:

class RecommenderIntro {

public static void main(String [] args)抛出异常{

DataModel model = new FileDataModel(new File("dataset/input/input.txt"));
DataModel itemSimilaritiesModel = new FileDataModel(new File("dataset/output/part-r-00000"));
ItemSimilarity itemSimilarity = new GenericItemSimilarity(itemSimilaritiesModel);
Recommender recommender = new GenericItemBasedRecommender(model, itemSimilarity);
Recommender cachingRecommender = new CachingRecommender(recommender);
List<RecommendedItem> recommendations = cachingRecommender.recommend(137413350, 10);
system.out.print(recommendations);

}

}

只需知道如何使用预先编译的.txt项目文件向用户推荐特定项目

非常感谢

1 个答案:

答案 0 :(得分:0)

第2行没有做任何可以帮助你的事情。这会创建一个FileDataModel;你不能提供不是用户项目偏好的东西,而我认为这是项目项目相似性的一些文字表示。它可能不会失败,因为它们都是CSV,但结果并不是项目项目的相似性。

你想要的是FileItemSimilarity