本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
配置训练时使用的列
重要
默认情况下,所有新解决方案都使用自动训练。如果使用自动训练,则在解决方案处于活动状态时,就会产生训练费用。为避免产生不必要的费用,在完成后,可以更新解决方案以关闭自动训练。有关训练费用的信息,请参阅 Amazon Personalize 定价
如果您的配方生成了物品建议或用户细分,则可以修改 Amazon Personalize 在创建解决方案版本(训练模型)时考虑的列。
您可以更改训练时使用的列,以控制 Amazon Personalize 在训练模型(创建解决方案版本)时使用的数据。您可以这样做,以试验不同的训练数据组合;也可以排除无有意义数据的列。例如,可能有一列,您只想将其用来筛选建议。您可以将此列排除在训练之外,Amazon Personalize 只有在筛选时才会考虑该列。
您不能排除 EVENT _ TYPE 列。默认情况下,Amazon Personalize 使用可在训练时采用的所有列。始终从训练中排除以下数据:
-
具有布尔数据类型的列
-
既不是分类也不是文本的自定义字符串字段
您不能在训练中包括展示数据,但如果您的应用场景或配方使用了这些数据,Amazon Personalize 会在您获取建议时使用展示数据来指导浏览。
如果您已经创建了一个解决方案,并且想要修改它在训练时使用的列,则可以克隆该解决方案。克隆解决方案时,您可以使用现有解决方案的配置(例如食谱和超参数)作为起点,并根据需要进行任何更改。有关更多信息,请参阅 克隆解决方案(控制台)。
您可以配置 Amazon Personalize 在使用亚马逊个性化控制台进行培训时使用的列, Amazon Command Line Interface (Amazon CLI) 或 Amazon SDK。有关使用 Amazon Personalize 控制台选择列的信息,请参阅创建解决方案(控制台)中的高级配置步骤。创建解决方案后,您可以在 Amazon Personalize 控制台的解决方案详情页面或通过 DescribeSolution 操作,查看解决方案使用的列。
配置训练时使用的列 (Amazon CLI)
要将列排除在训练之外,请在解决方案配置期间,在 trainingDataConfig
中提供 excludedDatasetColumns
对象。对于每个键,提供数据集类型。对于每个值,提供要排除的列的列表。以下代码显示了如何在通过 Amazon CLI创建解决方案时将列排除在训练之外。
aws personalize create-solution \ --name
solution name
\ --dataset-group-arndataset group ARN
\ --recipe-arnrecipe ARN
\ --solution-config "{\"trainingDataConfig\": {\"excludedDatasetColumns\": { \"datasetType
\" : [ \"column1Name
\", \"column2Name
\"]}}}"
配置训练时使用的列 (Amazon 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)