CreateSolution - Amazon Personalize
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

CreateSolution

创建用于训练模型的配置。经过训练的模型称为解决方案版本。创建配置后,您可以通过调用 CreateSolutionVersion 操作来训练模型(创建解决方案版本)。每当您调用 CreateSolutionVersion 时,就会创建一个新版本的解决方案。

创建解决方案版本后,您可以通过调用 GetSolutionMetrics 来检查其准确性。如果您对该版本感到满意,则可以使用 CreateCampaign 进行部署。市场活动通过 GetRecommendations API 向客户端提供建议。

要训练模型,Amazon Personalize 需要训练数据和配方。训练数据来自您在请求中提供的数据集组。配方指定训练算法和特征转换。您可以指定 Amazon Personalize 提供的一种预定义配方。

注意

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

状态

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

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE - 或 - CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

要获取解决方案的状态,请调用 DescribeSolution。等到状态显示为 ACTIVE 后,再调用 CreateSolutionVersion

请求语法

{ "datasetGroupArn": "string", "eventType": "string", "name": "string", "performAutoML": boolean, "performHPO": boolean, "recipeArn": "string", "solutionConfig": { "algorithmHyperParameters": { "string" : "string" }, "autoMLConfig": { "metricName": "string", "recipeList": [ "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 可以延长训练过程。

类型:布尔值

必需:否

performHPO

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

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

类型:布尔值

必需:否

recipeArn

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

类型:字符串

长度限制:最大长度为 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

另请参阅

有关在特定语言的 Amazon SDK 中使用此 API 的更多信息,请参阅以下内容: