我是Apache Mahout推荐人的新手。用例涉及根据用户的购买历史向用户提供建议。 我打算使用以下信息:
要识别具有相似购买模式/购买时间的用户并给予他们更多偏好,我是否必须为每个用户制作自定义数据模型? 我计划定期从数据库导入以重新创建数据模型。 有没有办法动态给出如下所述的偏好:
目前我正在使用提供的示例代码。 (需要进行大量修改)
UserSimilarity similarity = new PearsonCorrelationSimilarity(model);
UserNeighborhood neighborhood = new ThresholdUserNeighborhood(0.1, similarity, model);
UserBasedRecommender recommender = new GenericUserBasedRecommender(model, neighborhood, similarity);
List<RecommendedItem> recommendations = recommender.recommend(74, 10);
答案 0 :(得分:1)
一般来说,为了实现您的目标,您需要对数据进行一步,在其中添加t_since_last_purchase
等功能,其中包含整数0 - > INF。例如。自上次购买以来的几天
此功能,时间,将是另一个相关的用户功能。
我认为您正在查看一些较旧的基于Map-Reduce的reccomenders - 实际上是一流的 - 但考虑到您的使用案例,您可能需要查看coorelated cooccurence based reccomenders哪些具有显着优势能够查看用户的多个活动(在您的情况下,位置,以前的购买,时间)。