本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
配置训练时使用的列
重要
默认情况下,所有新解决方案都使用自动训练。使用自动训练,当您的解决方案处于活动状态时,您就会产生培训费用。为避免不必要的成本,完成后,您可以更新解决方案以关闭自动训练。有关培训费用的信息,请参阅 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-arndataset group ARN
\ --recipe-arnrecipe 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)