CreatePredictor - Amazon Forecast

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

CreatePredictor

注意

此操作会创建一个不包含 Amazon Forecast 提供的所有预测变量功能的传统预测变量。要创建与 Forecast 所有方面兼容的预测变量,请使用CreateAutoPredictor.

创建Amazon Forecast 指标。

在请求中,提供一个数据集组,然后指定算法或让 Amazon Forecast 使用 AutoML 为您选择算法。如果您指定算法,则还可以覆盖算法特定的超参数。

Amazon Forecast 使用该算法使用指定数据集组中最新版本的数据集来训练预测变量。然后,您可以使用以下命令生成预测CreateForecast操作。

要查看评估指标,请使用 GetAccuracyMetrics 操作。

您可以指定特征配置来填充和聚合中的数据字段TARGET_TIME_SERIES用于改进模型训练的数据集。有关更多信息,请参阅 FeaturizationConfig

对于相关_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,设置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 覆盖策略仅在私人测试版中可用。请联系 AWS Support 或您的客户经理,了解有关访问权限的更多信息。

用于覆盖默认 AutoML 策略,即优化预测器精度。要应用可最大限度地减少训练时间的 AutoML 策略,请使用LatencyOptimized.

此参数仅对使用 AutoML 训练的预测变量有效。

类型: 字符串

有效值: LatencyOptimized | AccuracyOptimized

必需:否

EncryptionConfig

Amazon Cess Management (IAM) 角色。Amazon Forecast Management (IAM) 角色。

类型:EncryptionConfig 对象

必需:否

EvaluationParameters

用于覆盖指定算法的默认评估参数。Amazon Forecast 通过将数据集拆分为训练数据和测试数据来评估预测变量。评估参数定义了如何执行拆分和迭代次数。

类型:EvaluationParameters 对象

必需:否

FeaturizationConfig

功能配置。

类型:FeaturizationConfig 对象

必需:是

ForecastHorizon

指定模型经过训练可以预测的时间步长。预测范围也称为预测长度。

例如,如果您为每日数据收集配置数据集(使用DataFrequency参数CreateDataset操作)并将预测范围设置为 10,该模型返回 10 天的预测。

最大预测范围是 500 个时间步长或 TARGET_TIME_SERIES 数据集长度的 1/3 中的较小值。

类型: 整数

必需:是

ForecastTypes

指定用于训练预测变量的预测类型。您最多可指定五种预测类型。Forecast 类型可以是从 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对象,你必须设置PerformHPOtrue。

类型:HyperParameterTuningJobConfig 对象

必需:否

InputDataConfig

描述包含用于训练预测变量的数据的数据集组。

类型:InputDataConfig 对象

必需:是

OptimizationMetric

用于优化预测变量的精度指标。

类型: 字符串

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

必需:否

PerformAutoML

是否执行 AutoML。当 Amazon Forecast 执行 AutoML 时,它会评估其提供的算法,并为您的训练数据集选择最佳算法和配置。

默认值为 false。在这种情况下,需要指定算法。

设置PerformAutoMLtrue让Amazon Forecast 执行 AutoML。如果您不确定哪种算法适合您的训练数据,这是一个不错的选择。在这种情况下,PerformHPO必须为 false。

类型: 布尔值

必需:否

PerformHPO

是否执行超参数优化 (HPO)。HPO 为您的训练数据找到最佳超参数值。执行 HPO 的过程称为运行超参数调整作业。

默认值为 false。在这种情况下,Amazon Forecast 使用来自所选算法的默认超参数值。

要覆盖默认值,请设置PerformHPOtrue并且,可选,提供HyperParameterTuningJobConfigobtect。调整作业指定要优化的指标、参与调整的超参数以及每个可调超参数的有效范围。在这种情况下,需要指定算法和PerformAutoML必须为 false。

以下算法支持 HPO:

  • DeepAR+

  • CNN-QR

类型: 布尔值

必需:否

PredictorName

预测变量名称。

类型: 字符串

长度约束:最小长度为 1。最大长度为 63。

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

必需:是

Tags

您应用于预测变量的可选元数据,以帮助您对其进行分类和组织的可选元数据。每个标签都包含您定义的一个键和一个可选值。

下面是适用于标签的基本限制:

  • 每个资源的最大标签数-50

  • 对于每个资源,每个标签键都必须是唯一的,每个标签键只能有一个值。

  • 最大键长度-128 个 Unicode 字符(采用 UTF-8 格式)。

  • 最大值长度-256 个 Unicode 字符(采用 UTF-8 格式)。

  • 如果您的标记模式针对多个服务和资源使用,请记得其它服务可能对允许使用的字符有限制。通常允许使用的字符包括:可用 UTF-8 格式表示的字母、数字和空格,以及以下字符:+ - = . _ : / @。

  • 标签键和值区分大小写。

  • 请勿使用aws:,AWS:或任何大写或小写组合(例如,键的前缀),因为它将保留以供 AWS 使用。您无法编辑或删除带此前缀的标签键不能编辑或删除。值可以有这个前缀。如果标签值有aws作为其前缀但密钥不是,则 Forecast 将其视为用户标签,并将计入 50 个标签的限制。仅带有key prefix 的标签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 资源名称 (ARN)。

类型: 字符串

长度约束:长度上限为 256。

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

错误

InvalidInputException

我们无法处理该请求,因为它包含无效值或超出有效范围的值。

HTTP 状态代码:400

LimitExceededException

超过了每个账户的 Resourcess Management(采用)。

HTTP 状态代码:400

ResourceAlreadyExistsException

已经有同名资源了。使用其他名称重试。

HTTP 状态代码:400

ResourceInUseException

指定的资源正在使用中。

HTTP 状态代码:400

ResourceNotFoundException

我们找不到具有该Amazon 资源名称 (ARN) 的资源。检查 ARN 并重试。

HTTP 状态代码:400

另请参阅

有关在特定语言的 AWS 软件开发工具包中使用此 API 的更多信息,请参阅以下内容: