使用 Mahout 基于产品查看历史的推荐
Recommendations based on product view history using Mahout
我在电子商务网站上工作。我想使用 Apache Mahout 根据用户的产品查看历史创建推荐系统。现在,我能够根据用户提供的评级数据生成推荐。现在,推荐器的输入是 user_id、item_id 和评分。我想创建一个推荐器,它根据用户查看的产品生成推荐。谁能告诉我这是如何实现的?
PS。我需要使用 Apache Mahout。
Mahout 可以处理您的隐含评级的布尔首选项。可以使用 PostgreSQLBooleanPrefJDBCDataModel 或 MySQLBooleanPrefJDBCDataModel 类 从 csv 文件或数据库创建布尔数据模型。与非布尔评级推荐的主要区别在于,对于布尔偏好,相似性应该是 Tanimoto 或对数似然相似性。因此 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 给出了基于项目的布尔推荐的示例。
我在电子商务网站上工作。我想使用 Apache Mahout 根据用户的产品查看历史创建推荐系统。现在,我能够根据用户提供的评级数据生成推荐。现在,推荐器的输入是 user_id、item_id 和评分。我想创建一个推荐器,它根据用户查看的产品生成推荐。谁能告诉我这是如何实现的?
PS。我需要使用 Apache Mahout。
Mahout 可以处理您的隐含评级的布尔首选项。可以使用 PostgreSQLBooleanPrefJDBCDataModel 或 MySQLBooleanPrefJDBCDataModel 类 从 csv 文件或数据库创建布尔数据模型。与非布尔评级推荐的主要区别在于,对于布尔偏好,相似性应该是 Tanimoto 或对数似然相似性。因此 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 给出了基于项目的布尔推荐的示例。