Amazon Forecast 不再向新买家开放。Amazon Forecast 的现有客户可以继续照常使用该服务。了解更多
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
CreatePredictor
注意
此操作创建传统预测器,该预测器不包含 Amazon Forecast 提供的所有预测器功能。要创建与 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 资源名称 (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 覆盖策略仅在私有测试版中可用。请联系 Su AWS pport 或您的客户经理,详细了解访问权限。用于覆盖默认的 AutoML 策略,即优化预测器的准确性。要应用可最大限度地缩短训练时间的 AutoML 策略,请使用
LatencyOptimized
。此参数仅对使用 AutoML 训练的预测器有效。
类型:字符串
有效值:
LatencyOptimized | AccuracyOptimized
必需:否
- EncryptionConfig
-
一个 AWS Key Management Service (KMS) 密钥和 AWS Identity and Access Management (IAM) 角色,Amazon Forecast 可以代入该密钥访问该密钥。
类型: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-二维码
类型:布尔值
必需:否
-
- PredictorName
-
预测器的名称。
类型:字符串
长度限制:最小长度为 1。最大长度为 63。
模式:
^[a-zA-Z][a-zA-Z0-9_]*
必需:是
- Tags
-
您应用于预测器以帮助您对其进行分类和组织的可选元数据。每个标签都包含定义的一个密钥和一个可选值。
下面是适用于标签的基本限制:
-
每个资源的最大标签数 - 50。
-
对于每个资源,每个标签键都必须是唯一的,每个标签键只能有一个值。
-
最大密钥长度--8 中的 128 个 Unicode 字符。UTF
-
最大值长度--8 中的 256 个 Unicode 字符。UTF
-
如果标签方案针对多个服务和资源使用,请记得其它服务可能对允许使用的字符有限制。通常允许的字符有:可用 UTF -8 表示的字母、数字和空格,以及以下字符:+-=。_:/@。
-
标签键和值区分大小写。
-
请勿使用
aws:
AWS:
、或任何大写或小写组合,例如密钥的前缀,因为它是保留供 AWS 使用的。不能编辑或删除带此前缀的标签键。值可以带有该前缀。如果标签值将aws
作为其前缀,但键没有前缀,则 Forecast 会将其视为用户标签,并将计入 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
-
预测变量的亚马逊资源名称 (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
另请参阅
有关API在一种特定语言中使用此功能的更多信息 AWS SDKs,请参阅以下内容: