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

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

第 2 步:配置解决方案

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

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

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

配置解决方案(控制台)

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

配置解决方案(控制台)

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

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

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

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

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

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

  6. In解决方案配置,如果 “交互” 数据集具有 “事件类型” 或 “事件类型” 和 “EVENT_VALUE” 列,则可以选择使用Event type事件值阈值字段选择 Amazon Personalize 在训练模型时使用的交互数据。

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

  7. 如果您使用用户个性化配方或者个性化排名配方配方,可以选择指定目标,然后选择敏感性来优化您的解决方案以实现相关性以外的目标。有关更多信息,请参阅针对附加目标优化解决方案.

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

  9. 选择 Next (下一步)。将显示 “创建解决方案版本” 页。继续执行创建解决方案版本(控制台)

配置解决方案 (Amazon CLI)

使用配置解决方案Amazon 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 以供将来使用,然后继续创建解决方案版本 (Amazon CLI).

配置解决方案 (Amazon开发工具包)

以下代码演示如何使用适用于 Python 的开发工具包 (Boto3) 或 Java 2.x 开发工具包创建 Amazon Personalize Simple 解决方案。

您可以修改以下代码来优化配方属性和超参数(请参阅超级参数和 HPO)或过滤用于训练的交互数据(请参阅选择用于训练的交互数据)。如果您使用用户个性化配方或者个性化排名配方配方,除了相关性之外,您还可以针对目标优化您的解决方案。有关更多信息,请参阅针对附加目标优化解决方案.

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

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 ""; }