[英]Apache mahout recommender - should I recreate the data model for every user?
我是 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);
一般来说,要实现您的建议,您需要对数据执行一个步骤,在其中添加一个像t_since_last_purchase
这样的特性,它是一个整数 0 -> inf。 例如,自上次购买以来的天数。
这个特征,时间,将是另一个相关的用户特征。
我认为您正在查看一些较旧的基于 Map-Reduce 的 reccomenders-实际上是一流的-但鉴于您的用例,您可能想要查看基于 coorelated cooccurence 的 reccomenders ,它具有能够查看的显着好处用户的多个活动(在您的情况下,位置,以前的购买,时间)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.