CreateSolution - Amazon Personalize

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

CreateSolution

重要

根據預設,所有新解決方案都會使用自動訓練。透過自動訓練,您會在解決方案處於作用中狀態時產生訓練成本。為了避免不必要的成本,您可以在完成後更新解決方案以關閉自動訓練。如需訓練成本的相關資訊,請參閱 Amazon Personalize 定價

建立用於訓練模型的組態 (建立解決方案版本)。此組態包含用於模型訓練的配方和選用的訓練組態,例如用於訓練和功能轉換參數的欄。如需設定解決方案的詳細資訊,請參閱建立和設定解決方案

根據預設,新的解決方案會每 7 天使用自動訓練來建立解決方案版本。您可以變更訓練頻率。自動建立解決方案版本會在解決方案為 ACTIVE 後的一小時內開始。如果您在一小時內手動建立解決方案版本,解決方案會略過第一個自動訓練。如需詳細資訊,請參閱設定自動訓練

若要關閉自動訓練,請將 performAutoTraining 設定為 false。如果您關閉自動訓練,則必須呼叫 CreateSolutionVersion 操作來手動建立解決方案版本。

訓練開始後,您可以使用 ListSolutionVersions API 操作取得解決方案版本的 Amazon Resource Name (ARN)。若要取得其狀態,請使用 DescribeSolutionVersion

訓練完成後,您可以透過呼叫 GetSolutionMetrics 來評估模型準確性。當您對解決方案版本感到滿意時,您可以使用 CreateCampaign 部署它。行銷活動會透過 GetRecommendations API 向用戶端提供建議。

注意

Amazon Personalize 目前不支援設定 hpoObjective進行解決方案超參數最佳化。

狀態

解決方案可以處於下列其中一種狀態:

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

  • DELETE PENDING > DELETE IN_PROGRESS

若要取得解決方案的狀態,請呼叫 DescribeSolution。如果您使用手動訓練,則在您呼叫 之前,狀態必須為 ACTIVECreateSolutionVersion

請求語法

{ "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" }, "eventsConfig": { "eventParametersList": [ { "eventType": "string", "eventValueThreshold": number, "weight": number } ] }, "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 Resource Name (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 天會自動建立新的解決方案版本。您可以在 schedulingExpression中指定 AutoTrainingConfig作為解決方案組態的一部分,以變更訓練頻率。如需自動訓練的詳細資訊,請參閱設定自動訓練

自動建立解決方案版本會在解決方案為 ACTIVE 後的一小時內開始。如果您在一小時內手動建立解決方案版本,解決方案會略過第一個自動訓練。

訓練開始後,您可以使用 ListSolutionVersions API 操作取得解決方案版本的 Amazon Resource Name (ARN)。若要取得其狀態,請使用 DescribeSolutionVersion

類型:布林值

必要:否

performHPO

是否要在指定或選取的配方上執行超參數最佳化 (HPO)。預設值為 false

執行 AutoML 時,此參數一律為 ,true且您不應將其設定為 false

類型:布林值

必要:否

recipeArn

用於模型訓練之配方的 Amazon Resource Name (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

另請參閱

如需在其中一種語言特定 AWS SDKs中使用此 API 的詳細資訊,請參閱下列內容: