CreateSolution - Amazon Personalize

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

CreateSolution

重要

默认情况下,所有新解决方案都使用自动训练。使用自动训练,当您的解决方案处于活动状态时,您就会产生培训费用。为避免不必要的成本,完成后,您可以更新解决方案以关闭自动训练。有关培训费用的信息,请参阅 Amazon Personalize 定价

创建用于训练模型(创建解决方案版本)的配置。此配置包括用于模型训练的配方和可选的训练配置,例如训练中使用的列和特征转换参数。有关配置解决方案的更多信息,请参阅创建和配置解决方案

默认情况下,新解决方案使用自动训练,每 7 天创建一次解决方案版本。您可以更改训练频率。解决方案发布后一小时内开始自动创建解决方案版本ACTIVE。如果您在一小时内手动创建解决方案版本,则该解决方案将跳过第一次自动训练。有关更多信息,请参阅配置自动训练

要关闭自动训练,请将其设置performAutoTraining为 false。如果您关闭自动训练,则必须通过调用CreateSolutionVersion操作来手动创建解决方案版本。

训练开始后,您可以通过ListSolutionVersionsAPI操作获取解决方案版本的 Amazon 资源名称 (ARN)。要获取其状态,请使用DescribeSolutionVersion

训练完成后,您可以通过调用来评估模型精度GetSolutionMetrics。如果您对解决方案版本感到满意,则使用进行部署CreateCampaign。该活动通过以下方式向客户提供推荐GetRecommendationsAPI。

注意

Amazon Personalize 目前不支持配置用于解决方案超参数优化的 hpoObjective

状态

解决方案可处于以下几种状态之一:

  • CREATEPENDING> CREATE IN_ PROGRESS > ACTIVE-or-CREATE FAILED

  • DELETEPENDING> DELETE IN_ PROGRESS

要获取解决方案的状态,请致电DescribeSolution。如果您使用手动训练,则状态必须为ACTIVE在您致电之前CreateSolutionVersion

请求语法

{ "datasetGroupArn": "string", "eventType": "string", "name": "string", "performAutoML": boolean, "performAutoTraining": boolean, "performHPO": boolean, "recipeArn": "string", "solutionConfig": { "algorithmHyperParameters": { "string" : "string" }, "autoMLConfig": { "metricName": "string", "recipeList": [ "string" ] }, "autoTrainingConfig": { "schedulingExpression": "string" }, "eventValueThreshold": "string", "featureTransformationParameters": { "string" : "string" }, "hpoConfig": { "algorithmHyperParameterRanges": { "categoricalHyperParameterRanges": [ { "name": "string", "values": [ "string" ] } ], "continuousHyperParameterRanges": [ { "maxValue": number, "minValue": number, "name": "string" } ], "integerHyperParameterRanges": [ { "maxValue": number, "minValue": number, "name": "string" } ] }, "hpoObjective": { "metricName": "string", "metricRegex": "string", "type": "string" }, "hpoResourceConfig": { "maxNumberOfTrainingJobs": "string", "maxParallelTrainingJobs": "string" } }, "optimizationObjective": { "itemAttribute": "string", "objectiveSensitivity": "string" }, "trainingDataConfig": { "excludedDatasetColumns": { "string" : [ "string" ] } } }, "tags": [ { "tagKey": "string", "tagValue": "string" } ] }

请求参数

该请求接受以下JSON格式的数据。

datasetGroupArn

提供训练数据的数据集组的 Amazon 资源名称 (ARN)。

类型:字符串

长度约束:最大长度为 256。

模式:arn:([a-z\d-]+):personalize:.*:.*:.+

必需:是

eventType

当您有多个事件类型(使用 EVENT_TYPE 架构字段)时,此参数指定使用哪种事件类型(例如,“单击”或“点赞”)来训练模型。

如果没有提供 eventType,则 Amazon Personalize 将使用所有交互进行同等权重的训练,而不考虑类型。

类型:字符串

长度约束:最大长度为 256。

必需:否

name

解决方案的名称。

类型:字符串

长度限制:最小长度为 1。最大长度为 63。

模式:^[a-zA-Z0-9][a-zA-Z0-9\-_]*

必需:是

performAutoML
重要

我们建议不要启用自动机器学习。相反,请将您的使用案例与可用的 Amazon Personalize 配方匹配。有关更多信息,请参阅选择配方

是否执行自动机器学习 (AutoML)。默认为 false。对于这种情况,您必须指定 recipeArn

设置为时true,Amazon Personalize 会分析您的训练数据并选择最佳 USER _ PERSONALIZATION 配方和超参数。在这种情况下,必须省略 recipeArn。Amazon Personalize 通过使用不同的超参数值来运行测试,以确定最佳食谱。与选择特定食谱相比,AutoML 可以延长训练过程。

类型:布尔值

必需:否

performAutoTraining

解决方案是否使用自动训练来创建新的解决方案版本(经过训练的模型)。默认设置为True,解决方案每 7 天自动创建新的解决方案版本。您可以通过schedulingExpression在中指定AutoTrainingConfig作为解决方案配置的一部分来更改训练频率。有关自动训练的更多信息,请参阅配置自动训练

解决方案发布后一小时内开始自动创建解决方案版本ACTIVE。如果您在一小时内手动创建解决方案版本,则该解决方案将跳过第一次自动训练。

训练开始后,您可以通过ListSolutionVersionsAPI操作获取解决方案版本的 Amazon 资源名称 (ARN)。要获取其状态,请使用DescribeSolutionVersion

类型:布尔值

必需:否

performHPO

是否对指定或选定的配方执行超参数优化 (HPO)。默认为 false

执行 AutoML 时,此参数始终为 true,您不应将其设置为 false

类型:布尔值

必需:否

recipeArn

用于模型训练的配方的 Amazon 资源名称 (ARN)。当 performAutoML 为 false 时,这是必需的。有关不同的 Amazon Personalize 食谱及其信息ARNs,请参阅选择食谱

类型:字符串

长度约束:最大长度为 256。

模式:arn:([a-z\d-]+):personalize:.*:.*:.+

必需:否

solutionConfig

解决方案的配置属性。将 performAutoML 设置为 true 时,Amazon Personalize 仅评估解决方案配置的 autoMLConfig 部分。

注意

Amazon Personalize 目前不支持配置 hpoObjective

类型:SolutionConfig 对象

必需:否

tags

要应用于解决方案的标签列表。

类型:Tag 对象数组

数组成员:最少 0 个物品。最多 200 项。

必需:否

响应语法

{ "solutionArn": "string" }

响应元素

如果操作成功,服务将发回 HTTP 200 响应。

以下数据由服务以JSON格式返回。

solutionArn

解决方案ARN中的那个。

类型:字符串

长度约束:最大长度为 256。

模式:arn:([a-z\d-]+):personalize:.*:.*:.+

错误

InvalidInputException

为字段或参数提供有效值。

HTTP状态码:400

LimitExceededException

超出每秒请求次数的限制。

HTTP状态码:400

ResourceAlreadyExistsException

指定资源已经存在。

HTTP状态码:400

ResourceInUseException

指定的资源正在使用中。

HTTP状态码:400

ResourceNotFoundException

找不到指定的资源。

HTTP状态码:400

TooManyTagsException

您已超出您可以应用到此资源的最大标签数量。

HTTP状态码:400

另请参阅

有关API在其中一种特定语言中使用此功能的更多信息 AWS SDKs,请参阅以下内容: