步骤 2: 配置解决方案 - Amazon Personalize
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

步骤 2: 配置解决方案

一旦你完成步骤 1: 选择配方,您可以配置用于训练模型的解决方案。

配置解决方案允许您自定义培训,以便模型满足您的特定业务需求。要配置解决方案,需要指定数据集组,其中包含要用于培训的数据、要用于培训的配方以及任何其他解决方案参数和特定于配置的超参数。如果 “交互” 训练数据包括EVENT_TYPEEVENT_VALUE数据,当您配置解决方案时,您可以在训练之前筛选出 Interperties 数据。

您可以使用控制台、AWS Command Line Interface (AWS CLI) 或 AWS 开发工具包创建和配置解决方案。

配置解决方案 (控制台)

要在控制台中配置解决方案,请选择包含要使用的数据集的数据集组,然后指定解决方案名称、配方和可选配方特定的超参数。

使用控制台配置解决方案

  1. 打开 Amazon Personalize 控制台https://console.aws.amazon.com/personalize/home并登录您的账户。

  2. 选择要用于训练的数据集组。

  3. 在仪表板的 “创建解决方案” 部分中,选择启动按钮。

    如果您已创建了解决方案,请选择创建解决方案按钮。

  4. 对于 Solution name (解决方案名称),为您的解决方案指定名称。

  5. 适用于Recipe,选择一个配方(请参阅步骤 1: 选择配方)。

  6. In解决方案配置(可选)指定以下内容:

    • 事件类型: 如果您的数据在 EVENT_TYPE 列中有多个事件类型,可以选择输入事件类型(如单击或下载),以便根据类型选择要训练的事件。在训练模型时,Amazon Personalize 将仅使用具有此类型的事件。如果您不提供事件类型,Amazon Personalize 将使用所有交互数据来训练模型,而不考虑类型。

    • 事件值阈值: 如果 “交互” 数据集具有 “EVENT_VALUE_阈值” 列,请输入一个值以根据值选择要训练的事件。Amazon Simple 仅使用大于或等于此值的事件来训练模型。如果未提供值,则无论值如何,Amazon Simple 都会使用所有交互数据进行训练。

    有关更多信息,请参阅 选择用于训练的交互数据

  7. 根据您的配方和业务需求配置任何超参数选项。使用不同超级参数的不同配方。有关可用的超级参数,请参阅步骤 1: 选择配方中的各个配方。

    解决方案配置选项的示例aws-user-personalization配方如下。

    
              AWS 用户个性化配方的解决方案配置选项。
  8. 选择 Next。在存储库的创建解决方案版本页面上,您可以创建解决方案版本。继续执行创建解决方案版本(控制台)

配置解决方案 (AWS CLI)

要使用 AWS CLI 配置解决方案,请使用以下create-solutionoperation. 指定solution namedataset group arn, 和recipe arn使用以下代码。

aws personalize create-solution \ --name solution name \ --dataset-group-arn dataset group arn \ --recipe-arn recipe arn

此时将显示解决方案 Amazon 资源名称 (ARN),例如:

{ "solutionArn": "arn:aws:personalize:<region>:solution/<solution name>" }

您可以修改上述代码来优化配方属性和超参数(请参阅超级参数和 HPO)或过滤用于训练的交互数据(请参阅选择用于训练的交互数据)。

记录解决方案 ARN 以供将来使用,然后继续创建解决方案版本 (AWS CLI)

配置解决方案 (AWS 软件开发工具包)

以下代码说明了如何使用 SDK for Python (Boto3)(Bot3)或适用于 Java 2.x 的软件开发工具包创建 Amazon Personalize 解决方案。

您可以修改以下代码来优化配方属性和超参数(请参阅超级参数和 HPO)或过滤用于训练的交互数据(请参阅选择用于训练的交互数据)。

记录解决方案 ARN 以供将来使用,然后继续创建解决方案版本(AWS Python 开发工具包)

SDK for Python (Boto3)

使用创建新解决方案create_solution方法。Replacesolution name与您的解决方案名称,recipe arn与食谱亚马逊资源名称 (ARN) 从步骤 1: 选择配方, 和dataset group arn与数据集组的 ARN 一起使用。

import boto3 personalize = boto3.client('personalize') print('Creating solution') create_solution_response = personalize.create_solution( name='solution name', recipeArn= 'recipe arn', datasetGroupArn = 'dataset group arn' ) solution_arn = create_solution_response['solutionArn'] print('solution_arn: ', solution_arn)
SDK for Java 2.x

要创建解决方案,请使用以下createPersonalizeSolution方法。传递以下参数:APersonalizeClient、数据集组的 Amazon 资源名称 (ARN)、解决方案的名称以及步骤 1: 选择配方

public static String createPersonalizeSolution(PersonalizeClient personalizeClient, String datasetGroupArn, String solutionName, String recipeArn) { try { CreateSolutionRequest solutionRequest = CreateSolutionRequest.builder() .name(solutionName) .datasetGroupArn(datasetGroupArn) .recipeArn(recipeArn) .build(); CreateSolutionResponse solutionResponse = personalizeClient.createSolution(solutionRequest); return solutionResponse.solutionArn(); } catch (PersonalizeException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } return ""; }