本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
CreateSolution
重要
根據預設,所有新的解決方案都使用自動訓練。透過自動訓練,您可以在解決方案啟用時產生訓練費用。為了避免不必要的成本,當您完成時,您可以更新解決方案以關閉自動訓練。如需有關訓練費用的資訊,請參閱 Amazon Personalize 定價
建立用於訓練模型的組態 (建立解決方案版本)。此配置包括用於模型訓練和可選訓練配置的方案,例如用於訓練的欄和特徵轉換參數。如需有關設定解決方案的詳細資訊,請參閱建立和設定解決方案。
根據預設,新的解決方案會使用自動訓練,每 7 天建立一次解決方案版本。您可以變更訓練頻率。自動解決方案版本建立會在解決方案後的一小時內開始ACTIVE。如果您在一小時內手動建立解決方案版本,則解決方案會略過第一個自動訓練。如需詳細資訊,請參閱設定自動訓練。
若要關閉自動訓練,請設performAutoTraining
定為 false。如果您關閉自動訓練,則必須透過呼叫CreateSolutionVersion作業來手動建立解決方案版本。
訓練開始後,您可以透過ListSolutionVersionsAPI作業取得解決方案版本的 Amazon 資源名稱 (ARN)。若要取得其狀態,請使用 DescribeSolutionVersion.
訓練完成後,您可以透過呼叫來評估模型的準確性GetSolutionMetrics。當您對解決方案版本感到滿意時,請使用 CreateCampaign. 行銷活動會透過提供建議給用戶端GetRecommendationsAPI。
注意
Amazon Personalize 目前不支援針hpoObjective
對解決方案超參數優化進行設定。
狀態
解決方案可以處於下列其中一種狀態:
-
CREATEPENDING> CREATE 輸入 _ PROGRESS > ACTIVE-或-CREATE FAILED
-
DELETEPENDING> DELETE 在 _ 中 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
結構描述欄位) 時,此參數會指定用於訓練模型的事件類型 (例如,'click' 或 'like')。如果您未提供
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 天自動建立新的解決方案版本。您可以在AutoTrainingConfig
作為解決方案組態的一部分schedulingExpression
中指定一個來變更訓練頻率。如需有關自動訓練的詳細資訊,請參閱設定自動訓練。自動解決方案版本建立會在解決方案後的一小時內開始ACTIVE。如果您在一小時內手動建立解決方案版本,則解決方案會略過第一個自動訓練。
訓練開始後,您可以透過ListSolutionVersionsAPI作業取得解決方案版本的 Amazon 資源名稱 (ARN)。若要取得其狀態,請使用 DescribeSolutionVersion.
類型:布林值
必要:否
- performHPO
-
是否對指定或選定的配方執行超參數優化(HPO)。預設值為
false
。執行 AutoML 時,此參數永遠為
true
,您不應將其設定為false
。類型:布林值
必要:否
- recipeArn
-
用於模型訓練的配方的 Amazon 資源名稱 (ARN)。這是必需的時候
performAutoML
是假的。如需不同 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狀態碼:
- LimitExceededException
-
已超過每秒要求數目的限制。
HTTP狀態碼:
- ResourceAlreadyExistsException
-
指定的資源已存在。
HTTP狀態碼:
- ResourceInUseException
-
指定的資源正在使用中。
HTTP狀態碼:
- ResourceNotFoundException
-
找不到指定的資源。
HTTP狀態碼:
- TooManyTagsException
-
您已超過可套用至此資源的標籤數目上限。
HTTP狀態碼:
另請參閱
有關在其中一種特定語言API中使用此功能的更多信息 AWS SDKs,請參閱下列內容: