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

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

第 2 步:配置解决方案

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

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

您可以使用控制台创建和配置解决方案,Amazon Command Line Interface(Amazon CLI),或者AmazonSDK。

配置解决方案(控制台)

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

配置解决方案(控制台)

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

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

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

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

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

  5. 适用于方案类型,选择物品推荐为用户获取物品推荐,或者选择用户细分以根据项目数据获取用户细分(用户组)。

  6. 适用于Recipe,选择食谱(请参阅第 1 步:选择配方)。

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

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

  8. 如果你使用配方用户个性化配方要么个性化排名配方食谱,可选择指定目标然后选择敏感度除了相关性之外,还可以优化解决方案以实现目标。有关更多信息,请参阅优化解决方案以实现额外目标.

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

  10. 选择创建和训练解决方案. 这些区域有:控制面板页面随即显示。继续执行创建解决方案版本(控制台)

配置解决方案 (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).

配置解决方案 (AmazonSDK)

以下代码说明了如何使用 SDK for Python (Boto3) 或 SDK for Java 2.x 创建 Amazon Personalize 解决方案。

您可以修改以下代码以优化配方属性和超参数(请参阅超级参数和 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方法。传递以下命令作为参数:一个PersonalizeClient、数据集组的亚马逊资源名称 (ARN)、解决方案的名称以及来自的配方的 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 ""; }