CreatePredictor - Amazon Forecast

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

CreatePredictor

注意

此作業會建立舊式預測值,該預測值不包含 Amazon 預測提供的所有預測值功能。若要建立與 Forecast 各個方面相容的預測值,請使用CreateAutoPredictor

創建一個 Amazon Forecast 預測器。

在請求中提供資料集群組,然後指定演算法,或讓 Amazon Forecast 使用 AutoML 為您選擇演算法。如果您指定演算法,也可以覆寫演算法特定的超參數。

Amazon Forecast 測使用演算法,使用指定資料集群組中最新版本的資料集來訓練預測值。然後,您可以使用該CreateForecast作業產生預測。

若要查看評估指標,請使用 GetAccuracyMetrics 操作。

您可以指定特徵化設定來填入和彙總資料TARGET_TIME_SERIES集中的資料欄位,以改善模型訓練。如需詳細資訊,請參閱 FeaturizationConfig

對於 RELAITED_TIME_SERIES 資料集,請CreatePredictor驗證建立資料集時DataFrequency指定的符合. ForecastFrequency 目標時間系列資料集沒有此限制。Amazon Forecast 還會驗證分隔符號和時間戳記格式。如需詳細資訊,請參閱 匯入資料集

預設情況下,預測值會以 0.1 (P10)、0.5 (P50) 和 0.9 (P90) 分位數進行訓練和評估。您可以選擇自訂預測類型來訓練和評估您的預測值,方法是ForecastTypes設定.

AutoML

如果您希望 Amazon Forecast 評估每個演算法,並選擇最小化的演算法objective function,請將設定PerformAutoMLtrue。定義objective function為比預測類型加權損失的平均值。默認情況下,這些是 p10,p50 和 p90 分位數損失。如需詳細資訊,請參閱 EvaluationResult

啟用 AutoML 時,將不允許下列屬性:

  • AlgorithmArn

  • HPOConfig

  • PerformHPO

  • TrainingParameters

若要取得所有預測值的清單,請使用此ListPredictors作業。

注意

在您可以使用預測值建立預測Status之前,預測值必須是ACTIVE,表示訓練已完成。若要取得狀態,請使用DescribePredictor作業。

請求語法

{ "AlgorithmArn": "string", "AutoMLOverrideStrategy": "string", "EncryptionConfig": { "KMSKeyArn": "string", "RoleArn": "string" }, "EvaluationParameters": { "BackTestWindowOffset": number, "NumberOfBacktestWindows": number }, "FeaturizationConfig": { "Featurizations": [ { "AttributeName": "string", "FeaturizationPipeline": [ { "FeaturizationMethodName": "string", "FeaturizationMethodParameters": { "string" : "string" } } ] } ], "ForecastDimensions": [ "string" ], "ForecastFrequency": "string" }, "ForecastHorizon": number, "ForecastTypes": [ "string" ], "HPOConfig": { "ParameterRanges": { "CategoricalParameterRanges": [ { "Name": "string", "Values": [ "string" ] } ], "ContinuousParameterRanges": [ { "MaxValue": number, "MinValue": number, "Name": "string", "ScalingType": "string" } ], "IntegerParameterRanges": [ { "MaxValue": number, "MinValue": number, "Name": "string", "ScalingType": "string" } ] } }, "InputDataConfig": { "DatasetGroupArn": "string", "SupplementaryFeatures": [ { "Name": "string", "Value": "string" } ] }, "OptimizationMetric": "string", "PerformAutoML": boolean, "PerformHPO": boolean, "PredictorName": "string", "Tags": [ { "Key": "string", "Value": "string" } ], "TrainingParameters": { "string" : "string" } }

請求參數

請求接受採用 JSON 格式的下列資料。

AlgorithmArn

用於模型訓練的演算法的 Amazon 資源名稱 (ARN)。如果PerformAutoML未設定為,則為必要true

支持的算法:
  • arn:aws:forecast:::algorithm/ARIMA

  • arn:aws:forecast:::algorithm/CNN-QR

  • arn:aws:forecast:::algorithm/Deep_AR_Plus

  • arn:aws:forecast:::algorithm/ETS

  • arn:aws:forecast:::algorithm/NPTS

  • arn:aws:forecast:::algorithm/Prophet

類型:字串

長度限制:長度上限為 256。

模式:arn:([a-z\d-]+):forecast:.*:.*:.+

必要:否

AutoMLOverrideStrategy
注意

LatencyOptimizedAutoML 覆寫策略僅適用於私有測試版。若要進一步瞭解存取權限,請聯絡 Sup AWS port 或您的客戶經理。

用於覆寫預設 AutoML 策略,此策略是最佳化預測值準確度。若要套用 AutoML 策略以最小化訓練時間,請使用LatencyOptimized

此參數僅適用於使用 AutoML 訓練的預測值。

類型:字串

有效值:LatencyOptimized | AccuracyOptimized

必要:否

EncryptionConfig

Amazon Forecast 可以承擔存取金鑰的 AWS Key Management Service AWS Identity and Access Management (KMS) 金鑰和 (IAM) 角色。

類型:EncryptionConfig 物件

必要:否

EvaluationParameters

用於覆寫指定演算法的預設評估參數。Amazon Forecast 會將資料集分割為訓練資料並測試資料來評估預測值。評估參數定義如何執行拆分和迭代次數。

類型:EvaluationParameters 物件

必要:否

FeaturizationConfig

特徵化組態。

類型:FeaturizationConfig 物件

必要:是

ForecastHorizon

指定模型訓練要預測的時間步長數。預測期間也稱為預測長度。

例如,如果您設定每日資料收集的資料集 (使用CreateDataset作業的DataFrequency參數),並將預測總時程設定為 10,則模型會傳回 10 天的預測值。

最大預測時程是 500 個時間步長或「目標 _ 時間 _ 系列」資料集長度的 1/3 中較小者。

類型:整數

必要:是

ForecastTypes

指定用於訓練預測值的預測類型。您最多可以指定五種預測類型。預測類型可以是 0.01 到 0.99 之間的分位數,增量單位為 0.01 或更高。您也可以使用指定平均預測mean

預設值為 ["0.10", "0.50", "0.9"]

類型:字串陣列

陣列成員:項目數下限為 1。項目數上限為 20。

長度約束:最小長度為 2。長度上限為 4。

模式:(^0?\.\d\d?$|^mean$)

必要:否

HPOConfig

提供演算法的超參數覆寫值。如果您未提供此參數,Amazon Forecast 會使用預設值。個別演算法會指定哪些超參數支援超參數最佳化 (HPO)。如需詳細資訊,請參閱 Amazon Forecast Forecast

如果您包含了HPOConfig物件,則必須設PerformHPO定為 true。

類型:HyperParameterTuningJobConfig 物件

必要:否

InputDataConfig

描述包含用來訓練預測值之資料的資料集群組。

類型:InputDataConfig 物件

必要:是

OptimizationMetric

用於最佳化預測值的準確度量。預設值為 AverageWeightedQuantileLoss

類型:字串

有效值:WAPE | RMSE | AverageWeightedQuantileLoss | MASE | MAPE

必要:否

PerformAutoML

是否執行 AutoML。Amazon Forecast 執行 AutoML 時,它會評估其提供的演算法,並為您的訓練資料集選擇最佳演算法和組態。

預設值為 false。在這種情況下,您需要指定一個算法。

設定PerformAutoMLtrue讓 Amazon Forecast 執行 AutoML。如果您不確定哪種算法適合您的訓練資料,這是一個不錯的選擇。在這種情況下,PerformHPO必須是假的。

類型:布林值

必要:否

PerformHPO

是否要執行超參數最佳化 (HPO)。HPO 會為您的訓練資料尋找最佳的超參數值。執行 HPO 的程序稱為執行超參數調整工作。

預設值為 false。在這種情況下,Amazon Forecast 會使用所選演算法中的預設超參數值。

若要覆寫預設值,PerformHPO請設定為true和 (選擇性) 提供HyperParameterTuningJobConfig物件。調整工作會指定要最佳化的測量結果、哪些超參數會參與調整,以及每個可調整超參數的有效範圍。在這種情況下,您需要指定一個算法,並且PerformAutoML必須為 false。

下列演算法支援 HPO:

  • DeepAR+

  • CNN 二維

類型:布林值

必要:否

PredictorName

預測值的名稱。

類型:字串

長度限制:長度下限為 1。長度上限為 63。

模式:^[a-zA-Z][a-zA-Z0-9_]*

必要:是

Tags

套用至預測值的選擇性中繼資料,以協助您分類和組織這些中繼資料。每個標籤皆包含由您定義的一個金鑰與一個選用值。

以下基本限制適用於標籤:

  • 每個資源的最大標籤數量-50。

  • 對於每一個資源,每個標籤金鑰必須是唯一的,且每個標籤金鑰只能有一個值。

  • 金鑰長度上限-UTF-8 中 128 個萬國碼字元。

  • 最大值長度-UTF-8 中 256 個萬國碼字元。

  • 如果您的標記結構描述是跨多項服務和資源使用,請記得其他服務可能會有字元使用限制。通常允許的字元包括:可用 UTF-8 表示的英文字母、數字和空格,還有以下字元:+ - = . _ : / @。

  • 標籤鍵與值皆區分大小寫。

  • 請勿使用aws:AWS:、或任何大寫或小寫的組合,例如索引鍵的前置字元,因為它會保留供 AWS 使用。您無法使用此字首編輯或刪除標籤關鍵字。值可以有這個前綴。如果標籤值aws作為其前綴,但鍵沒有,則 Forecast 將其視為使用者標記,並將計入 50 個標籤的限制。只有 key prefix 的標籤aws不會計入每個資源限制的標籤。

類型:Tag 物件陣列

陣列成員:項目數下限為 0。項目數上限為 200。

必要:否

TrainingParameters

要覆寫模型訓練的超參數。您可以覆寫的超參數會列在個別演算法中。如需支援演算法的清單,請參閱Amazon Forecast Forecast

類型:字串到字串映射

地圖項目:0 個項目的最小數目。項目數上限為 100。

鍵長度限制:最大長度為 256。

金鑰模式:^[a-zA-Z0-9\-\_\.\/\[\]\,\\]+$

值長度限制:最大長度 256。

值模式:^[a-zA-Z0-9\-\_\.\/\[\]\,\"\\\s]+$

必要:否

回應語法

{ "PredictorArn": "string" }

回應元素

如果動作成功,則服務傳回 HTTP 200 回應。

服務會傳回下列 JSON 格式的資料。

PredictorArn

預測值的 Amazon 資源名稱(ARN)。

類型:字串

長度限制:長度上限為 256。

模式:arn:([a-z\d-]+):forecast:.*:.*:.+

錯誤

InvalidInputException

我們無法處理要求,因為它包含無效值或超出有效範圍的值。

HTTP 狀態碼:400

LimitExceededException

已超過每個帳號的資源數量限制。

HTTP 狀態碼:400

ResourceAlreadyExistsException

已有具有此名稱的資源。請使用不同的名稱再試一次。

HTTP 狀態碼:400

ResourceInUseException

指定的資源正在使用中。

HTTP 狀態碼:400

ResourceNotFoundException

我們找不到具有該 Amazon 資源名稱(ARN)的資源。請檢查 ARN,然後再試一次。

HTTP 狀態碼:400

另請參閱

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