选择用于训练的物品交互数据 - Amazon Personalize

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

选择用于训练的物品交互数据

重要

创建解决方案后,您无法更改其配置。默认情况下,所有新解决方案都使用自动训练。使用自动训练,当您的解决方案处于活动状态时,您就会产生培训费用。为避免不必要的开支,请务必在完成后删除该解决方案。有关培训费用的信息,请参阅 Amazon Personalize 定价

您可以在物品交互数据集中选择 Amazon Personalize 在创建解决方案版本(训练模型)时使用的事件。通过在训练之前选择物品交互数据,您可以只使用数据的相关子集进行训练,或者去除噪声来训练更优化的模型。有关物品交互数据集的更多信息,请参阅架构物品交互数据集

注意

如果您使用 Userpersonalization-v2 或 personalized-ranking-v2,则在按事件类型或值进行筛选之前,您的训练费用将基于您的物品互动数据。有关定价的更多信息,请参阅 Amazon Personalize 定价

您可以按如下方式选择物品交互数据:

  • 根据类型选择记录 - 配置解决方案时,如果您的物品交互数据集在 EVENT_TYPE 列中包含事件类型,则您可以选择指定要在训练中使用的事件类型。例如,如果您的物品交互数据集包括购买单击观看事件类型,并且您希望 Amazon Personalize 仅使用观看事件来训练模型,则在配置解决方案时,您需要提供观看作为 Amazon Personalize 在训练中使用的 event type

    如果您的物品交互数据集在 EVENT_TYPE 列中有多个事件类型,并且您在配置解决方案时未提供某个事件类型,则 Amazon Personalize 会使用所有物品交互数据进行训练,无论其类型如何,权重均相同。

  • 根据类型和值选择记录 - 配置解决方案时,如果物品交互数据集包含 EVENT_TYPE 和 EVENT_VALUE 字段,则您可以将特定值设置为阈值,以从训练中排除记录。例如,如果 EVENT_TYPE 为观看 的事件的 EVENT_VALUE 数据是用户观看的视频的百分比,如果您将事件值阈值设置为 0.5,将事件类型设置为观看,则 Amazon Personalize 将仅使用 EVENT_VALUE 大于或等于 0.5 的观看 交互事件来训练模型。

以下代码展示了如何使用适用于 Python 的 SDK (Boto3) 来创建仅使用用户观看了一半以上视频watch的事件的解决方案。

import boto3 personalize = boto3.client('personalize') create_solution_response = personalize.create_solution( name = 'solution name', datasetGroupArn = 'arn:aws:personalize:region:accountId:dataset-group/datasetGroupName', recipeArn = 'arn:aws:personalize:::recipe/aws-user-personalization-v2', eventType = 'watch', solutionConfig = { "eventValueThreshold": "0.5" } ) # Store the solution ARN solution_arn = create_solution_response['solutionArn'] # Use the solution ARN to get the solution status solution_description = personalize.describe_solution(solutionArn = solution_arn)['solution'] print('Solution status: ' + solution_description['status'])