AWS 个性化获得最多购买的产品
Aws personalize get most buying products
我想获取历史上某个用户购买次数最多的产品。我目前正在使用 USER_PERSONALIZATION 食谱,但 GetRecommendations 总是 returns 错误的结果。请帮忙。
这是我的用户id的交互数据:f5504cb0-0f0e-11e9-b513-bb78938fd0f8
,he/she购买了10次并且he/she没有购买id为1A3DTA986EEBT
的产品
这是我的代码和结果
如您所见,排名靠前的产品不是 he/she 购买的产品。感谢您的帮助。
Amazon Personalize 根据您的数据构建基于机器学习的推荐系统。因此,它旨在根据用户过去的行为(交互)和他们交互过的 items/products 的属性来预测用户现在对什么感兴趣。一些注意事项:
数据驱动方法
虽然您可以将购买历史导入到 Personalize 中,但它并非设计为您可以查询的数据存储区。如果您只是想要一个用户最常购买的产品列表,数据库可能是更好的工具。例如,要从订单存储在 Order
和 OrderDetail
表中的关系数据库中获取用户 someuser
购买最多的前 10 个产品,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
推荐驱动方法
如果您的用例更像是,“给定用户最近的购买,他们可能有兴趣再次购买什么",可以使用个性化。以下是一般步骤。
- 创建个性化自定义数据集组。
- 在数据集组中创建一个交互数据集。您的交互数据集架构应至少包含
USER_ID
、ITEM_ID
、TIMESTAMP
和 EVENT_TYPE
.
- 为以上架构中定义的列中的所有用户创建包含购买历史记录的 CSV。产品 ID 为
ITEM_ID
,购买日期为 TIMESTAMP
,类似“Purchase”的内容为 EVENT_TYPE
.
- 使用
aws-user-personalization
配方创建解决方案。
- 为解决方案创建解决方案版本。
- 为解决方案版本创建个性化营销活动。
- 创建一个过滤器,仅包含用户最近购买的产品。例如,
INCLUDE ItemID WHERE Interactions.EVENT_TYPE IN ("Purchase")
.
- 使用上面创建的过滤器为广告系列调用
GetRecommendations
API。
一个重要的警告是,在过滤交互历史时,Personalize 目前只考虑最近的 200 个历史交互(在批量导入中)和最近的 100 个实时事件(通过 PutEvents
API) 每个用户。
我想获取历史上某个用户购买次数最多的产品。我目前正在使用 USER_PERSONALIZATION 食谱,但 GetRecommendations 总是 returns 错误的结果。请帮忙。
这是我的用户id的交互数据:f5504cb0-0f0e-11e9-b513-bb78938fd0f8
,he/she购买了10次并且he/she没有购买id为1A3DTA986EEBT
的产品
这是我的代码和结果
如您所见,排名靠前的产品不是 he/she 购买的产品。感谢您的帮助。
Amazon Personalize 根据您的数据构建基于机器学习的推荐系统。因此,它旨在根据用户过去的行为(交互)和他们交互过的 items/products 的属性来预测用户现在对什么感兴趣。一些注意事项:
数据驱动方法
虽然您可以将购买历史导入到 Personalize 中,但它并非设计为您可以查询的数据存储区。如果您只是想要一个用户最常购买的产品列表,数据库可能是更好的工具。例如,要从订单存储在 Order
和 OrderDetail
表中的关系数据库中获取用户 someuser
购买最多的前 10 个产品,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
推荐驱动方法
如果您的用例更像是,“给定用户最近的购买,他们可能有兴趣再次购买什么",可以使用个性化。以下是一般步骤。
- 创建个性化自定义数据集组。
- 在数据集组中创建一个交互数据集。您的交互数据集架构应至少包含
USER_ID
、ITEM_ID
、TIMESTAMP
和EVENT_TYPE
. - 为以上架构中定义的列中的所有用户创建包含购买历史记录的 CSV。产品 ID 为
ITEM_ID
,购买日期为TIMESTAMP
,类似“Purchase”的内容为EVENT_TYPE
. - 使用
aws-user-personalization
配方创建解决方案。 - 为解决方案创建解决方案版本。
- 为解决方案版本创建个性化营销活动。
- 创建一个过滤器,仅包含用户最近购买的产品。例如,
INCLUDE ItemID WHERE Interactions.EVENT_TYPE IN ("Purchase")
. - 使用上面创建的过滤器为广告系列调用
GetRecommendations
API。
一个重要的警告是,在过滤交互历史时,Personalize 目前只考虑最近的 200 个历史交互(在批量导入中)和最近的 100 个实时事件(通过 PutEvents
API) 每个用户。