首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Aws个性化获取大多数购买产品

Aws个性化获取大多数购买产品
EN

Stack Overflow用户
提问于 2022-01-09 09:34:24
回答 1查看 89关注 0票数 0

我想获得历史上用户购买最多的产品。我目前正在使用USER_PERSONALIZATION配方,但是GetRecommendations总是返回错误的结果。请帮帮忙。

这是我的用户id:f5504cb0-0f0e-11e9-b513-bb78938fd0f8的交互数据,他/她购买了10次,而他/她没有购买id 1A3DTA986EEBT的产品。

这是我的代码和结果

正如你所看到的,顶级产品不是他/她购买的产品。谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-10 15:39:54

Amazon个性化基于您的数据构建基于机器学习的推荐人。因此,它的目的是根据用户过去的行为(交互)和与其交互的项目/产品的属性来预测用户现在感兴趣的内容。一些考虑因素:

数据驱动方法

尽管您可以将购买历史导入个性化,但它不是设计为可以查询的数据存储。如果您只是想要一个用户最常用的产品列表,数据库可能是一个更好的使用工具。例如,要从关系数据库中获得用户someuser购买最多的10种产品,其中订单存储在OrderOrderDetail表中,SQL可能如下所示:

代码语言:javascript
复制
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.
  • Create、ITEM_IDTIMESTAMP和CSV,其中包含上述模式中定义的列中所有用户的购买历史记录。产品ID将为EVENT_TYPE.
  • Create,购买日期为TIMESTAMP,类似于“ be ”之类的产品将是使用aws-user-personalization recipe.
  • Create的解决方案-- solution.
  • Create的解决方案版本--解决方案version.
  • Create的个性化活动--该筛选器只包括用户最近购买的产品。例如,使用上面创建的过滤器为活动创建INCLUDE ItemID WHERE Interactions.EVENT_TYPE IN ("Purchase").
  • Call GetRecommendations API .

一个重要的警告是,当对交互历史进行过滤时,个性化当前只考虑最近的200个历史交互(在批量导入中)和最近的100个实时事件(通过PutEvents API发送)给每个用户。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70639989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档