CreateSolution - Amazon Personalize

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

CreateSolution

重要

建立解決方案之後,就無法變更其設定。根據預設,所有新的解決方案都使用自動訓練。透過自動訓練,您可以在解決方案啟用時產生訓練費用。您無法停止解決方案的自動訓練。為避免不必要的成本,請務必在完成後刪除解決方案。如需有關訓練費用的資訊,請參閱 Amazon Personalize 定價

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

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

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

訓練開始後,您可以透過 ListSolutionVersionsAPI 作業取得解決方案版本的 Amazon 資源名稱 (ARN)。若要取得其狀態,請使用 DescribeSolutionVersion.

訓練完成後,您可以透過呼叫來評估模型的準確性GetSolutionMetrics。當您對解決方案版本感到滿意時,請使用 CreateCampaign. 該活動通過 GetRecommendationsAPI 向客戶提供建議。

注意

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

狀態

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

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

  • DELETE PENDING > 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 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 會分析您的訓練資料,並選取最佳的使用者個人化配方和超參數。在這種情況下,您必須省略recipeArn。Amazon Personalize 會針對超參數執行具有不同值的測試,以決定最佳配方。與選取特定配方相比,AutoML 可延長訓練程序。

類型:布林值

必要:否

performAutoTraining

解決方案是否使用自動訓練來建立新的解決方案版本 (訓練模型)。預設值為,True且解決方案每 7 天自動建立新的解決方案版本。您可以在AutoTrainingConfig作為解決方案組態的一部分schedulingExpression中指定一個來變更訓練頻率。如需有關自動訓練的詳細資訊,請參閱設定自動訓練

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

訓練開始後,您可以透過 ListSolutionVersionsAPI 作業取得解決方案版本的 Amazon 資源名稱 (ARN)。若要取得其狀態,請使用 DescribeSolutionVersion.

類型:布林值

必要:否

performHPO

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

執行 AutoML 時,此參數永遠為true,您不應將其設定為false

類型:布林值

必要:否

recipeArn

用於模型訓練的配方的 Amazon 資源名稱 (ARN)。這是必需的時候performAutoML是假的。如需不同 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

另請參閱

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