/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include This object belongs to the CreatePredictor operation. If you
* created your predictor with CreateAutoPredictor, see
* AttributeConfig. In a CreatePredictor operation,
* the specified algorithm trains a model using the specified dataset group. You
* can optionally tell the operation to modify data fields prior to training a
* model. These modifications are referred to as featurization. You
* define featurization using the You can create multiple featurization
* configurations. For example, you might call the FeaturizationConfig
object. You
* specify an array of transformations, one for each field that you want to
* featurize. You then include the FeaturizationConfig
object in your
* CreatePredictor
request. Amazon Forecast applies the featurization
* to the TARGET_TIME_SERIES
and RELATED_TIME_SERIES
* datasets before model training.CreatePredictor
* operation twice by specifying different featurization
* configurations.See Also:
AWS
* API Reference
The frequency of predictions in a forecast.
Valid intervals are an * integer followed by Y (Year), M (Month), W (Week), D (Day), H (Hour), and min * (Minute). For example, "1D" indicates every day and "15min" indicates every 15 * minutes. You cannot specify a value that would overlap with the next larger * frequency. That means, for example, you cannot specify a frequency of 60 * minutes, because that is equivalent to 1 hour. The valid values for each * frequency are the following:
Minute - 1-59
Hour - 1-23
Day - 1-6
Week - 1-4
*Month - 1-11
Year - 1
Thus, * if you want every other week forecasts, specify "2W". Or, if you want quarterly * forecasts, you specify "3M".
The frequency must be greater than or equal * to the TARGET_TIME_SERIES dataset frequency.
When a RELATED_TIME_SERIES * dataset is provided, the frequency must be equal to the TARGET_TIME_SERIES * dataset frequency.
*/ inline const Aws::String& GetForecastFrequency() const{ return m_forecastFrequency; } /** *The frequency of predictions in a forecast.
Valid intervals are an * integer followed by Y (Year), M (Month), W (Week), D (Day), H (Hour), and min * (Minute). For example, "1D" indicates every day and "15min" indicates every 15 * minutes. You cannot specify a value that would overlap with the next larger * frequency. That means, for example, you cannot specify a frequency of 60 * minutes, because that is equivalent to 1 hour. The valid values for each * frequency are the following:
Minute - 1-59
Hour - 1-23
Day - 1-6
Week - 1-4
*Month - 1-11
Year - 1
Thus, * if you want every other week forecasts, specify "2W". Or, if you want quarterly * forecasts, you specify "3M".
The frequency must be greater than or equal * to the TARGET_TIME_SERIES dataset frequency.
When a RELATED_TIME_SERIES * dataset is provided, the frequency must be equal to the TARGET_TIME_SERIES * dataset frequency.
*/ inline bool ForecastFrequencyHasBeenSet() const { return m_forecastFrequencyHasBeenSet; } /** *The frequency of predictions in a forecast.
Valid intervals are an * integer followed by Y (Year), M (Month), W (Week), D (Day), H (Hour), and min * (Minute). For example, "1D" indicates every day and "15min" indicates every 15 * minutes. You cannot specify a value that would overlap with the next larger * frequency. That means, for example, you cannot specify a frequency of 60 * minutes, because that is equivalent to 1 hour. The valid values for each * frequency are the following:
Minute - 1-59
Hour - 1-23
Day - 1-6
Week - 1-4
*Month - 1-11
Year - 1
Thus, * if you want every other week forecasts, specify "2W". Or, if you want quarterly * forecasts, you specify "3M".
The frequency must be greater than or equal * to the TARGET_TIME_SERIES dataset frequency.
When a RELATED_TIME_SERIES * dataset is provided, the frequency must be equal to the TARGET_TIME_SERIES * dataset frequency.
*/ inline void SetForecastFrequency(const Aws::String& value) { m_forecastFrequencyHasBeenSet = true; m_forecastFrequency = value; } /** *The frequency of predictions in a forecast.
Valid intervals are an * integer followed by Y (Year), M (Month), W (Week), D (Day), H (Hour), and min * (Minute). For example, "1D" indicates every day and "15min" indicates every 15 * minutes. You cannot specify a value that would overlap with the next larger * frequency. That means, for example, you cannot specify a frequency of 60 * minutes, because that is equivalent to 1 hour. The valid values for each * frequency are the following:
Minute - 1-59
Hour - 1-23
Day - 1-6
Week - 1-4
*Month - 1-11
Year - 1
Thus, * if you want every other week forecasts, specify "2W". Or, if you want quarterly * forecasts, you specify "3M".
The frequency must be greater than or equal * to the TARGET_TIME_SERIES dataset frequency.
When a RELATED_TIME_SERIES * dataset is provided, the frequency must be equal to the TARGET_TIME_SERIES * dataset frequency.
*/ inline void SetForecastFrequency(Aws::String&& value) { m_forecastFrequencyHasBeenSet = true; m_forecastFrequency = std::move(value); } /** *The frequency of predictions in a forecast.
Valid intervals are an * integer followed by Y (Year), M (Month), W (Week), D (Day), H (Hour), and min * (Minute). For example, "1D" indicates every day and "15min" indicates every 15 * minutes. You cannot specify a value that would overlap with the next larger * frequency. That means, for example, you cannot specify a frequency of 60 * minutes, because that is equivalent to 1 hour. The valid values for each * frequency are the following:
Minute - 1-59
Hour - 1-23
Day - 1-6
Week - 1-4
*Month - 1-11
Year - 1
Thus, * if you want every other week forecasts, specify "2W". Or, if you want quarterly * forecasts, you specify "3M".
The frequency must be greater than or equal * to the TARGET_TIME_SERIES dataset frequency.
When a RELATED_TIME_SERIES * dataset is provided, the frequency must be equal to the TARGET_TIME_SERIES * dataset frequency.
*/ inline void SetForecastFrequency(const char* value) { m_forecastFrequencyHasBeenSet = true; m_forecastFrequency.assign(value); } /** *The frequency of predictions in a forecast.
Valid intervals are an * integer followed by Y (Year), M (Month), W (Week), D (Day), H (Hour), and min * (Minute). For example, "1D" indicates every day and "15min" indicates every 15 * minutes. You cannot specify a value that would overlap with the next larger * frequency. That means, for example, you cannot specify a frequency of 60 * minutes, because that is equivalent to 1 hour. The valid values for each * frequency are the following:
Minute - 1-59
Hour - 1-23
Day - 1-6
Week - 1-4
*Month - 1-11
Year - 1
Thus, * if you want every other week forecasts, specify "2W". Or, if you want quarterly * forecasts, you specify "3M".
The frequency must be greater than or equal * to the TARGET_TIME_SERIES dataset frequency.
When a RELATED_TIME_SERIES * dataset is provided, the frequency must be equal to the TARGET_TIME_SERIES * dataset frequency.
*/ inline FeaturizationConfig& WithForecastFrequency(const Aws::String& value) { SetForecastFrequency(value); return *this;} /** *The frequency of predictions in a forecast.
Valid intervals are an * integer followed by Y (Year), M (Month), W (Week), D (Day), H (Hour), and min * (Minute). For example, "1D" indicates every day and "15min" indicates every 15 * minutes. You cannot specify a value that would overlap with the next larger * frequency. That means, for example, you cannot specify a frequency of 60 * minutes, because that is equivalent to 1 hour. The valid values for each * frequency are the following:
Minute - 1-59
Hour - 1-23
Day - 1-6
Week - 1-4
*Month - 1-11
Year - 1
Thus, * if you want every other week forecasts, specify "2W". Or, if you want quarterly * forecasts, you specify "3M".
The frequency must be greater than or equal * to the TARGET_TIME_SERIES dataset frequency.
When a RELATED_TIME_SERIES * dataset is provided, the frequency must be equal to the TARGET_TIME_SERIES * dataset frequency.
*/ inline FeaturizationConfig& WithForecastFrequency(Aws::String&& value) { SetForecastFrequency(std::move(value)); return *this;} /** *The frequency of predictions in a forecast.
Valid intervals are an * integer followed by Y (Year), M (Month), W (Week), D (Day), H (Hour), and min * (Minute). For example, "1D" indicates every day and "15min" indicates every 15 * minutes. You cannot specify a value that would overlap with the next larger * frequency. That means, for example, you cannot specify a frequency of 60 * minutes, because that is equivalent to 1 hour. The valid values for each * frequency are the following:
Minute - 1-59
Hour - 1-23
Day - 1-6
Week - 1-4
*Month - 1-11
Year - 1
Thus, * if you want every other week forecasts, specify "2W". Or, if you want quarterly * forecasts, you specify "3M".
The frequency must be greater than or equal * to the TARGET_TIME_SERIES dataset frequency.
When a RELATED_TIME_SERIES * dataset is provided, the frequency must be equal to the TARGET_TIME_SERIES * dataset frequency.
*/ inline FeaturizationConfig& WithForecastFrequency(const char* value) { SetForecastFrequency(value); return *this;} /** *An array of dimension (field) names that specify how to group the generated * forecast.
For example, suppose that you are generating a forecast for
* item sales across all of your stores, and your dataset contains a
* store_id
field. If you want the sales forecast for each item by
* store, you would specify store_id
as the dimension.
All
* forecast dimensions specified in the TARGET_TIME_SERIES
dataset
* don't need to be specified in the CreatePredictor
request. All
* forecast dimensions specified in the RELATED_TIME_SERIES
dataset
* must be specified in the CreatePredictor
request.
An array of dimension (field) names that specify how to group the generated * forecast.
For example, suppose that you are generating a forecast for
* item sales across all of your stores, and your dataset contains a
* store_id
field. If you want the sales forecast for each item by
* store, you would specify store_id
as the dimension.
All
* forecast dimensions specified in the TARGET_TIME_SERIES
dataset
* don't need to be specified in the CreatePredictor
request. All
* forecast dimensions specified in the RELATED_TIME_SERIES
dataset
* must be specified in the CreatePredictor
request.
An array of dimension (field) names that specify how to group the generated * forecast.
For example, suppose that you are generating a forecast for
* item sales across all of your stores, and your dataset contains a
* store_id
field. If you want the sales forecast for each item by
* store, you would specify store_id
as the dimension.
All
* forecast dimensions specified in the TARGET_TIME_SERIES
dataset
* don't need to be specified in the CreatePredictor
request. All
* forecast dimensions specified in the RELATED_TIME_SERIES
dataset
* must be specified in the CreatePredictor
request.
An array of dimension (field) names that specify how to group the generated * forecast.
For example, suppose that you are generating a forecast for
* item sales across all of your stores, and your dataset contains a
* store_id
field. If you want the sales forecast for each item by
* store, you would specify store_id
as the dimension.
All
* forecast dimensions specified in the TARGET_TIME_SERIES
dataset
* don't need to be specified in the CreatePredictor
request. All
* forecast dimensions specified in the RELATED_TIME_SERIES
dataset
* must be specified in the CreatePredictor
request.
An array of dimension (field) names that specify how to group the generated * forecast.
For example, suppose that you are generating a forecast for
* item sales across all of your stores, and your dataset contains a
* store_id
field. If you want the sales forecast for each item by
* store, you would specify store_id
as the dimension.
All
* forecast dimensions specified in the TARGET_TIME_SERIES
dataset
* don't need to be specified in the CreatePredictor
request. All
* forecast dimensions specified in the RELATED_TIME_SERIES
dataset
* must be specified in the CreatePredictor
request.
An array of dimension (field) names that specify how to group the generated * forecast.
For example, suppose that you are generating a forecast for
* item sales across all of your stores, and your dataset contains a
* store_id
field. If you want the sales forecast for each item by
* store, you would specify store_id
as the dimension.
All
* forecast dimensions specified in the TARGET_TIME_SERIES
dataset
* don't need to be specified in the CreatePredictor
request. All
* forecast dimensions specified in the RELATED_TIME_SERIES
dataset
* must be specified in the CreatePredictor
request.
An array of dimension (field) names that specify how to group the generated * forecast.
For example, suppose that you are generating a forecast for
* item sales across all of your stores, and your dataset contains a
* store_id
field. If you want the sales forecast for each item by
* store, you would specify store_id
as the dimension.
All
* forecast dimensions specified in the TARGET_TIME_SERIES
dataset
* don't need to be specified in the CreatePredictor
request. All
* forecast dimensions specified in the RELATED_TIME_SERIES
dataset
* must be specified in the CreatePredictor
request.
An array of dimension (field) names that specify how to group the generated * forecast.
For example, suppose that you are generating a forecast for
* item sales across all of your stores, and your dataset contains a
* store_id
field. If you want the sales forecast for each item by
* store, you would specify store_id
as the dimension.
All
* forecast dimensions specified in the TARGET_TIME_SERIES
dataset
* don't need to be specified in the CreatePredictor
request. All
* forecast dimensions specified in the RELATED_TIME_SERIES
dataset
* must be specified in the CreatePredictor
request.
An array of dimension (field) names that specify how to group the generated * forecast.
For example, suppose that you are generating a forecast for
* item sales across all of your stores, and your dataset contains a
* store_id
field. If you want the sales forecast for each item by
* store, you would specify store_id
as the dimension.
All
* forecast dimensions specified in the TARGET_TIME_SERIES
dataset
* don't need to be specified in the CreatePredictor
request. All
* forecast dimensions specified in the RELATED_TIME_SERIES
dataset
* must be specified in the CreatePredictor
request.
An array of featurization (transformation) information for the fields of a * dataset.
*/ inline const Aws::VectorAn array of featurization (transformation) information for the fields of a * dataset.
*/ inline bool FeaturizationsHasBeenSet() const { return m_featurizationsHasBeenSet; } /** *An array of featurization (transformation) information for the fields of a * dataset.
*/ inline void SetFeaturizations(const Aws::VectorAn array of featurization (transformation) information for the fields of a * dataset.
*/ inline void SetFeaturizations(Aws::VectorAn array of featurization (transformation) information for the fields of a * dataset.
*/ inline FeaturizationConfig& WithFeaturizations(const Aws::VectorAn array of featurization (transformation) information for the fields of a * dataset.
*/ inline FeaturizationConfig& WithFeaturizations(Aws::VectorAn array of featurization (transformation) information for the fields of a * dataset.
*/ inline FeaturizationConfig& AddFeaturizations(const Featurization& value) { m_featurizationsHasBeenSet = true; m_featurizations.push_back(value); return *this; } /** *An array of featurization (transformation) information for the fields of a * dataset.
*/ inline FeaturizationConfig& AddFeaturizations(Featurization&& value) { m_featurizationsHasBeenSet = true; m_featurizations.push_back(std::move(value)); return *this; } private: Aws::String m_forecastFrequency; bool m_forecastFrequencyHasBeenSet = false; Aws::Vector