本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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
,請將設定PerformAutoML
為true
。定義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
-
注意
LatencyOptimized
AutoML 覆寫策略僅適用於私有測試版。若要進一步瞭解存取權限,請聯絡 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
。在這種情況下,您需要指定一個算法。設定
PerformAutoML
為true
讓 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 的詳細資訊,請參閱下列內容: