

 Amazon Forecast 不再提供給新客戶。Amazon Forecast 的現有客戶可以繼續正常使用服務。[進一步了解」](https://aws.amazon.com/blogs/machine-learning/transition-your-amazon-forecast-usage-to-amazon-sagemaker-canvas/)

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

# CreatePredictor
<a name="API_CreatePredictor"></a>

**注意**  
 此操作會建立舊版預測器，其中不包含 Amazon Forecast 提供的所有預測器功能。若要建立與 Forecast 所有層面相容的預測器，請使用 [CreateAutoPredictor](API_CreateAutoPredictor.md)。

建立 Amazon Forecast 預測器。

**重要**  
Amazon Forecast 不再提供給新客戶。Amazon Forecast 的現有客戶可以繼續正常使用服務。[進一步了解」](https://aws.amazon.com/blogs/machine-learning/transition-your-amazon-forecast-usage-to-amazon-sagemaker-canvas/) 

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

Amazon Forecast 使用演算法，在指定的資料集群組中使用最新版本的資料集來訓練預測器。然後，您可以使用 [CreateForecast](API_CreateForecast.md)操作產生預測。

 若要查看評估指標，請使用 [GetAccuracyMetrics](API_GetAccuracyMetrics.md) 操作。

您可以指定特徵化組態來填充和彙總`TARGET_TIME_SERIES`資料集中的資料欄位，以改善模型訓練。如需詳細資訊，請參閱[FeaturizationConfig](API_FeaturizationConfig.md)。

對於 RELATED\$1TIME\$1SERIES 資料集， `CreatePredictor` 會驗證建立資料集時`DataFrequency`指定的 是否與 相符`ForecastFrequency`。TARGET\$1TIME\$1SERIES 資料集沒有此限制。Amazon Forecast 也會驗證分隔符號和時間戳記格式。如需詳細資訊，請參閱[匯入資料集](howitworks-datasets-groups.md)。

根據預設，預測器會在 0.1 (P10)、0.5 (P50) 和 0.9 (P90) 分位數進行訓練和評估。您可以透過設定 來選擇自訂預測類型來訓練和評估您的預測器`ForecastTypes`。

 **AutoML** 

如果您希望 Amazon Forecast 評估每個演算法，並選擇將 最小化的演算法`objective function`，請將 `PerformAutoML`設定為 `true`。`objective function` 定義為預測類型加權損失的平均值。根據預設，這些是 p10、p50 和 p90 分位數損失。如需詳細資訊，請參閱[EvaluationResult](API_EvaluationResult.md)。

啟用 AutoML 時，不允許下列屬性：
+  `AlgorithmArn` 
+  `HPOConfig` 
+  `PerformHPO` 
+  `TrainingParameters` 

若要取得所有預測器的清單，請使用 [ListPredictors](API_ListPredictors.md)操作。

**注意**  
在您可以使用預測器建立預測之前，預測器`Status`的 必須是 `ACTIVE`，表示訓練已完成。若要取得 狀態，請使用 [DescribePredictor](API_DescribePredictor.md)操作。

## 請求語法
<a name="API_CreatePredictor_RequestSyntax"></a>

```
{
   "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" 
   }
}
```

## 請求參數
<a name="API_CreatePredictor_RequestParameters"></a>

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

 ** [AlgorithmArn](#API_CreatePredictor_RequestSyntax) **   <a name="forecast-CreatePredictor-request-AlgorithmArn"></a>
用於模型訓練的演算法 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](#API_CreatePredictor_RequestSyntax) **   <a name="forecast-CreatePredictor-request-AutoMLOverrideStrategy"></a>
 `LatencyOptimized` AutoML 覆寫策略僅適用於私有 Beta 版。請聯絡 AWS Support 或您的客戶經理，以進一步了解 存取權限。
用來覆寫預設 AutoML 策略，也就是最佳化預測器準確度。若要套用可將訓練時間降至最低的 AutoML 策略，請使用 `LatencyOptimized`。  
此參數僅適用於使用 AutoML 訓練的預測器。  
類型：字串  
有效值:`LatencyOptimized | AccuracyOptimized`   
必要：否

 ** [EncryptionConfig](#API_CreatePredictor_RequestSyntax) **   <a name="forecast-CreatePredictor-request-EncryptionConfig"></a>
Amazon Forecast 可以擔任的 AWS Key Management Service (KMS) 金鑰和 AWS Identity and Access Management (IAM) 角色來存取金鑰。  
類型：[EncryptionConfig](API_EncryptionConfig.md) 物件  
必要：否

 ** [EvaluationParameters](#API_CreatePredictor_RequestSyntax) **   <a name="forecast-CreatePredictor-request-EvaluationParameters"></a>
用來覆寫指定演算法的預設評估參數。Amazon Forecast 透過將資料集分割為訓練資料和測試資料來評估預測器。評估參數定義如何執行分割和反覆運算的數量。  
類型：[EvaluationParameters](API_EvaluationParameters.md) 物件  
必要：否

 ** [FeaturizationConfig](#API_CreatePredictor_RequestSyntax) **   <a name="forecast-CreatePredictor-request-FeaturizationConfig"></a>
特徵化組態。  
類型：[FeaturizationConfig](API_FeaturizationConfig.md) 物件  
必要：是

 ** [ForecastHorizon](#API_CreatePredictor_RequestSyntax) **   <a name="forecast-CreatePredictor-request-ForecastHorizon"></a>
指定要訓練模型預測的時間步驟數目。預測期間也稱為預測長度。  
例如，如果您為每日資料收集設定資料集 （使用 [CreateDataset](API_CreateDataset.md)操作的 `DataFrequency` 參數），並將預測期間設定為 10，則模型會傳回預測 10 天。  
最大預測期間是 500 個時間步驟或 TARGET\$1TIME\$1SERIES 資料集長度的 1/3。  
類型：整數  
必要：是

 ** [ForecastTypes](#API_CreatePredictor_RequestSyntax) **   <a name="forecast-CreatePredictor-request-ForecastTypes"></a>
指定用於訓練預測器的預測類型。您最多可以指定五種預測類型。預測類型可以是 0.01 到 0.99 之間的分位數，增量單位為 0.01 或更高。您也可以使用 指定平均預測`mean`。  
預設值為 `["0.10", "0.50", "0.9"]`。  
類型：字串陣列  
陣列成員：項目數下限為 1。項目數上限為 20。  
長度限制：長度下限為 2。長度上限為 4。  
模式：`(^0?\.\d\d?$|^mean$)`  
必要：否

 ** [HPOConfig](#API_CreatePredictor_RequestSyntax) **   <a name="forecast-CreatePredictor-request-HPOConfig"></a>
提供演算法的超參數覆寫值。如果您未提供此參數，Amazon Forecast 會使用預設值。個別演算法會指定哪些超參數支援超參數最佳化 (HPO)。如需詳細資訊，請參閱[Amazon Forecast 演算法](aws-forecast-choosing-recipes.md)。  
如果您包含 `HPOConfig` 物件，則必須`PerformHPO`將 設定為 true。  
類型：[HyperParameterTuningJobConfig](API_HyperParameterTuningJobConfig.md) 物件  
必要：否

 ** [InputDataConfig](#API_CreatePredictor_RequestSyntax) **   <a name="forecast-CreatePredictor-request-InputDataConfig"></a>
描述資料集群組，其中包含用於訓練預測器的資料。  
類型：[InputDataConfig](API_InputDataConfig.md) 物件  
必要：是

 ** [OptimizationMetric](#API_CreatePredictor_RequestSyntax) **   <a name="forecast-CreatePredictor-request-OptimizationMetric"></a>
用於最佳化預測器的準確度指標。預設值為 `AverageWeightedQuantileLoss`。  
類型：字串  
有效值:`WAPE | RMSE | AverageWeightedQuantileLoss | MASE | MAPE`   
必要：否

 ** [PerformAutoML](#API_CreatePredictor_RequestSyntax) **   <a name="forecast-CreatePredictor-request-PerformAutoML"></a>
是否執行 AutoML。當 Amazon Forecast 執行 AutoML 時，它會評估其提供的演算法，並為訓練資料集選擇最佳演算法和組態。  
預設值為 `false`。在這種情況下，您需要指定演算法。  
`PerformAutoML` 設定為 `true`讓 Amazon Forecast 執行 AutoML。如果您不確定哪種演算法適合您的訓練資料，這是不錯的選擇。在此情況下， `PerformHPO` 必須為 false。  
類型：布林值  
必要：否

 ** [PerformHPO](#API_CreatePredictor_RequestSyntax) **   <a name="forecast-CreatePredictor-request-PerformHPO"></a>
是否執行超參數最佳化 (HPO)。HPO 會為您的訓練資料尋找最佳超參數值。執行 HPO 的程序稱為執行超參數調校任務。  
預設值為 `false`。在此情況下，Amazon Forecast 會使用所選演算法的預設超參數值。  
若要覆寫預設值，請將 `PerformHPO` 設定為 ，`true`並選擇性地提供 [HyperParameterTuningJobConfig](API_HyperParameterTuningJobConfig.md) 物件。調校任務會指定要最佳化的指標、哪些超參數參與調校，以及每個可調校超參數的有效範圍。在此情況下，您必須指定演算法，且`PerformAutoML`必須為 false。  
下列演算法支援 HPO：  
+ DeepAR\$1
+ CNN-QR
類型：布林值  
必要：否

 ** [PredictorName](#API_CreatePredictor_RequestSyntax) **   <a name="forecast-CreatePredictor-request-PredictorName"></a>
預測器的名稱。  
類型：字串  
長度限制：長度下限為 1。長度上限為 63。  
模式：`^[a-zA-Z][a-zA-Z0-9_]*`  
必要：是

 ** [Tags](#API_CreatePredictor_RequestSyntax) **   <a name="forecast-CreatePredictor-request-Tags"></a>
您套用至預測器的選用中繼資料，可協助您分類和整理這些中繼資料。每個標籤皆包含由您定義的一個金鑰與一個選用值。  
以下基本限制適用於 標籤：  
+ 每個資源的標籤數量上限 - 50。
+ 針對每一個資源，每個標籤鍵必須是唯一的，且每個標籤鍵只能有一個值。
+ 金鑰長度上限 - UTF-8 中的 128 個 Unicode 字元。
+ 最大值長度 - UTF-8 256 個 Unicode 字元。
+ 如果您的標記結構描述是跨多項服務和資源使用，請記得其他服務可能會有字元使用限制。通常允許的字元為：以 UTF-8 表示的字母、數字和空格，以及下列字元：\$1 - = . \$1 ： / @。
+ 標籤鍵與值皆區分大小寫。
+ 請勿使用 `aws:`、 `AWS:`或任何大寫或小寫的組合，例如金鑰的字首，因為其保留供 AWS 使用。您無法使用此字首編輯或刪除標籤索引鍵。值可以有此字首。如果標籤值具有 `aws` 作為其字首，但金鑰沒有，則預測會將其視為使用者標籤，並計入 50 個標籤的限制。只有 金鑰字首的標籤`aws`不會計入每個資源限制的標籤。
類型：[Tag](API_Tag.md) 物件陣列  
陣列成員：項目數下限為 0。項目數上限為 200。  
必要：否

 ** [TrainingParameters](#API_CreatePredictor_RequestSyntax) **   <a name="forecast-CreatePredictor-request-TrainingParameters"></a>
模型訓練要覆寫的超參數。您可以覆寫的超參數會列在個別演算法中。如需支援的演算法清單，請參閱 [Amazon Forecast 演算法](aws-forecast-choosing-recipes.md)。  
類型：字串到字串映射  
映射項目：最少 0 個項目。項目數上限為 100。  
金鑰長度限制：長度上限為 256。  
金鑰模式：`^[a-zA-Z0-9\-\_\.\/\[\]\,\\]+$`  
值長度限制：長度上限為 256。  
值模式：`^[a-zA-Z0-9\-\_\.\/\[\]\,\"\\\s]+$`  
必要：否

## 回應語法
<a name="API_CreatePredictor_ResponseSyntax"></a>

```
{
   "PredictorArn": "string"
}
```

## 回應元素
<a name="API_CreatePredictor_ResponseElements"></a>

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

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

 ** [PredictorArn](#API_CreatePredictor_ResponseSyntax) **   <a name="forecast-CreatePredictor-response-PredictorArn"></a>
預測器的 Amazon Resource Name (ARN)。  
類型：字串  
長度限制：長度上限為 256。  
模式：`arn:([a-z\d-]+):forecast:.*:.*:.+`

## 錯誤
<a name="API_CreatePredictor_Errors"></a>

 ** InvalidInputException **   
我們無法處理請求，因為它包含無效的值或超過有效範圍的值。  
HTTP 狀態碼：400

 ** LimitExceededException **   
已超過每個帳戶的資源數量限制。  
HTTP 狀態碼：400

 ** ResourceAlreadyExistsException **   
已有具有此名稱的資源。請用不同的名稱再試一次。  
HTTP 狀態碼：400

 ** ResourceInUseException **   
指定的資源正在使用中。  
HTTP 狀態碼：400

 ** ResourceNotFoundException **   
我們找不到具有該 Amazon Resource Name (ARN) 的資源。請檢查 ARN，然後再試一次。  
HTTP 狀態碼：400

## 另請參閱
<a name="API_CreatePredictor_SeeAlso"></a>

如需在其中一種語言特定 AWS SDKs中使用此 API 的詳細資訊，請參閱下列內容：
+  [AWS 命令列界面 V2](https://docs.aws.amazon.com/goto/cli2/forecast-2018-06-26/CreatePredictor) 
+  [AWS 適用於 .NET V4 的 SDK](https://docs.aws.amazon.com/goto/DotNetSDKV4/forecast-2018-06-26/CreatePredictor) 
+  [AWS 適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/goto/SdkForCpp/forecast-2018-06-26/CreatePredictor) 
+  [AWS 適用於 Go 的 SDK v2](https://docs.aws.amazon.com/goto/SdkForGoV2/forecast-2018-06-26/CreatePredictor) 
+  [AWS 適用於 Java V2 的 SDK](https://docs.aws.amazon.com/goto/SdkForJavaV2/forecast-2018-06-26/CreatePredictor) 
+  [AWS 適用於 JavaScript V3 的 SDK](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/forecast-2018-06-26/CreatePredictor) 
+  [AWS 適用於 Kotlin 的 SDK](https://docs.aws.amazon.com/goto/SdkForKotlin/forecast-2018-06-26/CreatePredictor) 
+  [AWS 適用於 PHP V3 的 SDK](https://docs.aws.amazon.com/goto/SdkForPHPV3/forecast-2018-06-26/CreatePredictor) 
+  [AWS 適用於 Python 的 SDK](https://docs.aws.amazon.com/goto/boto3/forecast-2018-06-26/CreatePredictor) 
+  [AWS 適用於 Ruby V3 的 SDK](https://docs.aws.amazon.com/goto/SdkForRubyV3/forecast-2018-06-26/CreatePredictor) 