基于使用Mahout的产品视图历史记录的建议

时间:2015-05-12 10:49:07

标签: apache mahout

我正在开发一个电子商务网站。我想使用Apache Mahout根据用户的产品视图历史创建推荐器。现在,我能够根据用户提供的评级数据生成推荐。现在,推荐者的输入是user_id,item_id和评级。我想创建一个推荐器,根据用户查看的产品生成推荐。有人能告诉我这是如何实现的吗?

PS。我需要使用Apache Mahout。

1 个答案:

答案 0 :(得分:0)

Mahout可以处理隐式评级所属的布尔值偏好。可以使用PostgreSQLBooleanPrefJDBCDataModel或MySQLBooleanPrefJDBCDataModel类从csv文件或数据库创建布尔数据模型。与非布尔评级的建议的主要区别在于,对于布尔偏好,相似性应该是Tanimoto或Log似然相似性。所以来自Mahout主页的示例代码如下所示:

           DataModel model = new FileDataModel(new File("booleanpref.dat"));

            UserSimilarity userSimilarity = new TanimotoCoefficientSimilarity(
                    model);

            UserNeighborhood neighborhood = new NearestNUserNeighborhood(3,
                    userSimilarity, model);
            Recommender recommender = new GenericUserBasedRecommender(model,
                    neighborhood, userSimilarity);
            Recommender cachingRecommender = new CachingRecommender(recommender);
            List<RecommendedItem> recommendations = cachingRecommender
                    .recommend(1234, 10);

这个blog给出了基于项目的布尔推荐的示例。