配置训练时使用的列 - Amazon Personalize

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

配置训练时使用的列

重要

默认情况下,所有新解决方案都使用自动训练。使用自动训练,当您的解决方案处于活动状态时,您就会产生培训费用。为避免不必要的成本,完成后,您可以更新解决方案以关闭自动训练。有关培训费用的信息,请参阅 Amazon Personalize 定价

如果您的配方生成了物品建议或用户细分,则可以修改 Amazon Personalize 在创建解决方案版本(训练模型)时考虑的列。

您可以更改训练时使用的列,以控制 Amazon Personalize 在训练模型(创建解决方案版本)时使用的数据。您可以这样做,以试验不同的训练数据组合;也可以排除无有意义数据的列。例如,可能有一列,您只想将其用来筛选建议。您可以将此列排除在训练之外,Amazon Personalize 只有在筛选时才会考虑该列。

您不能排除 EVENT _ TYPE 列。默认情况下,Amazon Personalize 使用可在训练时采用的所有列。训练中始终不包括以下数据:

  • 数据类型为布尔值的列

  • 展示次数数据

  • 不是分类或文本的自定义字符串字段

您不能在培训中包含展示次数数据,但是如果您的用例或方法使用了这些数据,Amazon Personalize 会在您获得推荐时使用展示量数据来指导探索。

如果您已经创建了一个解决方案,并且想要修改它在训练时使用的列,则可以克隆该解决方案。克隆解决方案时,您可以使用现有解决方案的配置(例如食谱和超参数)作为起点,并根据需要进行任何更改。有关更多信息,请参阅 克隆解决方案(控制台)

您可以配置 Amazon Personalize 在使用亚马逊个性化控制台进行培训时使用的列, AWS Command Line Interface (AWS CLI),或 AWS SDK。有关使用 Amazon Personalize 控制台选择列的信息,请参阅创建解决方案(控制台)中的高级配置步骤。创建解决方案后,您可以在 Amazon Personalize 控制台的解决方案详情页面或通过 DescribeSolution 操作,查看解决方案使用的列。

配置训练时使用的列 (AWS CLI)

要将列排除在训练之外,请在解决方案配置期间,在 trainingDataConfig 中提供 excludedDatasetColumns 对象。对于每个键,提供数据集类型。对于每个值,提供要排除的列的列表。以下代码显示了在使用创建解决方案时如何将列排除在训练之外 AWS CLI.

aws personalize create-solution \ --name solution name \ --dataset-group-arn dataset group ARN \ --recipe-arn recipe ARN \ --solution-config "{\"trainingDataConfig\": {\"excludedDatasetColumns\": { \"datasetType\" : [ \"column1Name\", \"column2Name\"]}}}"

配置训练时使用的列 (AWS SDKs)

要将列排除在训练之外,请在解决方案配置期间,在 trainingDataConfig 中提供 excludedDatasetColumns 对象。对于每个键,提供数据集类型。对于每个值,提供要排除的列的列表。以下代码显示了在使用 for Python (Boto3) 创建解决方案时如何将SDK列排除在训练之外。

import boto3 personalize = boto3.client('personalize') create_solution_response = personalize.create_solution( name = 'solution name', recipeArn = 'recipe ARN', datasetGroupArn = 'dataset group ARN', solutionConfig = { "trainingDataConfig": { "excludedDatasetColumns": { "datasetType": ["COLUMN_A", "COLUMN_B"] } } } ) solution_arn = create_solution_response['solutionArn'] print('solution_arn: ', solution_arn)