Amazon Forecast 不再提供給新客戶。Amazon Forecast 的現有客戶可以繼續正常使用服務。進一步了解"
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
CreatePredictor
注意
此操作會建立舊版預測器,其中不包含 Amazon Forecast 提供的所有預測器功能。若要建立與預測所有層面相容的預測器,請使用 CreateAutoPredictor。
建立 Amazon Forecast 預測器。
重要
Amazon Forecast 不再提供給新客戶。Amazon Forecast 的現有客戶可以繼續正常使用服務。進一步了解"
在請求中,提供資料集群組,並指定演算法,或讓 Amazon Forecast 使用 AutoML 選擇演算法。如果您指定演算法,也可以覆寫演算法特定的超參數。
Amazon Forecast 使用演算法,使用指定資料集群組中資料集的最新版本來訓練預測器。然後,您可以使用 CreateForecast操作產生預測。
若要查看評估指標,請使用 GetAccuracyMetrics 操作。
您可以指定特徵化組態來填充和彙總TARGET_TIME_SERIES
資料集中的資料欄位,以改善模型訓練。如需詳細資訊,請參閱FeaturizationConfig。
對於 RELATED_TIME_SERIES 資料集, CreatePredictor
會驗證建立資料集時DataFrequency
指定的 是否與 相符ForecastFrequency
。TARGET_TIME_SERIES 資料集沒有此限制。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 Resource Name (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 覆寫策略僅適用於私有 Beta 版。請聯絡 AWS Support 或您的 帳戶管理員,以進一步了解 存取權限。用來覆寫預設 AutoML 策略,也就是最佳化預測器準確度。若要套用可將訓練時間降至最低的 AutoML 策略,請使用
LatencyOptimized
。此參數僅適用於使用 AutoML 訓練的預測器。
類型:字串
有效值:
LatencyOptimized | AccuracyOptimized
必要:否
- EncryptionConfig
-
Amazon Forecast 可以擔任的 AWS Key Management Service (KMS) 金鑰和 AWS Identity and Access Management (IAM) 角色來存取金鑰。
類型:EncryptionConfig 物件
必要:否
- EvaluationParameters
-
用來覆寫指定演算法的預設評估參數。Amazon Forecast 透過將資料集分割為訓練資料和測試資料來評估預測器。評估參數會定義如何執行分割和反覆運算的數量。
類型:EvaluationParameters 物件
必要:否
- FeaturizationConfig
-
特徵化組態。
類型:FeaturizationConfig 物件
必要:是
- ForecastHorizon
-
指定模型要訓練的時間步驟數目。預測期間也稱為預測長度。
例如,如果您為每日資料收集設定資料集 (使用 CreateDataset操作的
DataFrequency
參數),並將預測時間範圍設定為 10,則模型會傳回預測 10 天。最大預測時間範圍為 500 個時間步進或 TARGET_TIME_SERIES 資料集長度的 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 演算法。
如果您包含
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
必須為 false。類型:布林值
必要:否
- PerformHPO
-
是否執行超參數最佳化 (HPO)。HPO 會為您的訓練資料尋找最佳的超參數值。執行 HPO 的程序稱為執行超參數調校任務。
預設值為
false
。在此情況下,Amazon Forecast 會使用所選演算法的預設超參數值。若要覆寫預設值,請將
PerformHPO
設定為 ,true
並選擇性地提供HyperParameterTuningJobConfig物件。調校任務會指定要最佳化的指標、哪些超參數參與調校,以及每個可調校超參數的有效範圍。在此情況下,您必須指定演算法,且PerformAutoML
必須為 false。下列演算法支援 HPO:
-
DeepAR+
-
CNN-QR
類型:布林值
必要:否
-
- PredictorName
-
預測器的名稱。
類型:字串
長度限制:長度下限為 1。長度上限為 63。
模式:
^[a-zA-Z][a-zA-Z0-9_]*
必要:是
- Tags
-
您套用至預測器的選用中繼資料,可協助您分類和整理這些中繼資料。每個標籤皆包含由您定義的一個金鑰與一個選用值。
以下基本限制適用於標籤:
-
每個資源的標籤數量上限 - 50。
-
對於每一個資源,每個標籤金鑰必須是唯一的,且每個標籤金鑰只能有一個值。
-
金鑰長度上限 - UTF-8 中的 128 個 Unicode 字元。
-
最大值長度 - UTF-8 中的 256 個 Unicode 字元。
-
如果您的標記結構描述是跨多項服務和資源使用,請記得其他服務可能會有字元使用限制。通常允許的字元包括:可用 UTF-8 表示的英文字母、數字和空格,還有以下字元:+ - = . _ : / @。
-
標籤鍵與值皆區分大小寫。
-
請勿使用
aws:
、AWS:
或任何大寫或小寫的組合,例如保留供 AWS 使用的金鑰字首。您無法編輯或刪除具有此字首的標籤索引鍵。值可以有此字首。如果標籤值具有aws
作為其字首,但金鑰沒有,則預測會將其視為使用者標籤,並將計入 50 個標籤的限制。僅包含 金鑰字首的標籤aws
不會計入每個資源限制的標籤。
類型:Tag 物件陣列
陣列成員:項目數下限為 0。項目數上限為 200。
必要:否
-
- TrainingParameters
-
模型訓練要覆寫的超參數。您可以覆寫的超參數會列在個別演算法中。如需支援的演算法清單,請參閱 Amazon Forecast 演算法。
類型:字串到字串映射
映射項目:0 個項目的最小數量。項目數上限為 100。
金鑰長度限制:長度上限為 256。
金鑰模式:
^[a-zA-Z0-9\-\_\.\/\[\]\,\\]+$
值長度限制:長度上限為 256。
值模式:
^[a-zA-Z0-9\-\_\.\/\[\]\,\"\\\s]+$
必要:否
回應語法
{
"PredictorArn": "string"
}
回應元素
如果動作成功,則服務傳回 HTTP 200 回應。
服務會傳回下列 JSON 格式的資料。
- PredictorArn
-
預測器的 Amazon Resource Name (ARN)。
類型:字串
長度限制:長度上限為 256。
模式:
arn:([a-z\d-]+):forecast:.*:.*:.+
錯誤
- InvalidInputException
-
我們無法處理請求,因為它包含無效值或超過有效範圍的值。
HTTP 狀態碼:400
- LimitExceededException
-
已超過每個帳戶的資源數量限制。
HTTP 狀態碼:400
- ResourceAlreadyExistsException
-
已有具有此名稱的資源。請用不同的名稱再試一次。
HTTP 狀態碼:400
- ResourceInUseException
-
指定的資源正在使用中。
HTTP 狀態碼:400
- ResourceNotFoundException
-
我們找不到具有該 Amazon Resource Name (ARN) 的資源。請檢查 ARN,然後再試一次。
HTTP 狀態碼:400
另請參閱
如需在其中一種語言特定 AWS SDKs中使用此 API 的詳細資訊,請參閱下列內容: