本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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 对象
必需:否
-
要应用于解决方案的标签列表。
类型: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 的更多信息,请参阅以下内容: