我正在开发一个电子商务网站。我想使用Apache Mahout根据用户的产品视图历史创建推荐器。现在,我能够根据用户提供的评级数据生成推荐。现在,推荐者的输入是user_id,item_id和评级。我想创建一个推荐器,根据用户查看的产品生成推荐。有人能告诉我这是如何实现的吗?
PS。我需要使用Apache Mahout。
答案 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给出了基于项目的布尔推荐的示例。