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