我想获得历史上用户购买最多的产品。我目前正在使用USER_PERSONALIZATION配方,但是GetRecommendations总是返回错误的结果。请帮帮忙。
这是我的用户id:f5504cb0-0f0e-11e9-b513-bb78938fd0f8的交互数据,他/她购买了10次,而他/她没有购买id 1A3DTA986EEBT的产品。

这是我的代码和结果


正如你所看到的,顶级产品不是他/她购买的产品。谢谢你的帮助。
发布于 2022-01-10 15:39:54
Amazon个性化基于您的数据构建基于机器学习的推荐人。因此,它的目的是根据用户过去的行为(交互)和与其交互的项目/产品的属性来预测用户现在感兴趣的内容。一些考虑因素:
数据驱动方法
尽管您可以将购买历史导入个性化,但它不是设计为可以查询的数据存储。如果您只是想要一个用户最常用的产品列表,数据库可能是一个更好的使用工具。例如,要从关系数据库中获得用户someuser购买最多的10种产品,其中订单存储在Order和OrderDetail表中,SQL可能如下所示:
SELECT od.ItemID, COUNT(*) AS PurchaseCount
FROM Order AS o, OrderDetail AS od
WHERE o.UserID = 'someuser'
AND o.OrderID = od.OrderID
GROUP BY ItemID
ORDER BY PurchaseCount DESC
LIMIT 10推荐驱动方法
如果您的用例更像“给定用户最近的购买,他们可能会对再次购买感兴趣”,可以使用个性化。以下是一般步骤。
EVENT_TYPE.ITEM_ID、TIMESTAMP和CSV,其中包含上述模式中定义的列中所有用户的购买历史记录。产品ID将为EVENT_TYPE.TIMESTAMP,类似于“ be ”之类的产品将是使用aws-user-personalization recipe.INCLUDE ItemID WHERE Interactions.EVENT_TYPE IN ("Purchase").GetRecommendations API .一个重要的警告是,当对交互历史进行过滤时,个性化当前只考虑最近的200个历史交互(在批量导入中)和最近的100个实时事件(通过PutEvents API发送)给每个用户。
https://stackoverflow.com/questions/70639989
复制相似问题