/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SageMaker { namespace Model { /** *

Stores the configuration information for how a candidate is generated * (optional).

See Also:

AWS * API Reference

*/ class AutoMLCandidateGenerationConfig { public: AWS_SAGEMAKER_API AutoMLCandidateGenerationConfig(); AWS_SAGEMAKER_API AutoMLCandidateGenerationConfig(Aws::Utils::Json::JsonView jsonValue); AWS_SAGEMAKER_API AutoMLCandidateGenerationConfig& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SAGEMAKER_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

A URL to the Amazon S3 data source containing selected features from the * input data source to run an Autopilot job. You can input * FeatureAttributeNames (optional) in JSON format as shown below: *

{ "FeatureAttributeNames":["col1", "col2", ...] }.

*

You can also specify the data type of the feature (optional) in the format * shown below:

{ "FeatureDataTypes":{"col1":"numeric", * "col2":"categorical" ... } }

These column keys may not * include the target column.

In ensembling mode, Autopilot only * supports the following data types: numeric, * categorical, text, and datetime. In HPO * mode, Autopilot can support numeric, categorical, * text, datetime, and sequence.

If * only FeatureDataTypes is provided, the column keys * (col1, col2,..) should be a subset of the column names * in the input data.

If both FeatureDataTypes and * FeatureAttributeNames are provided, then the column keys should be * a subset of the column names provided in FeatureAttributeNames. *

The key name FeatureAttributeNames is fixed. The values * listed in ["col1", "col2", ...] are case sensitive and should be a * list of strings containing unique values that are a subset of the column names * in the input data. The list of columns provided must not include the target * column.

*/ inline const Aws::String& GetFeatureSpecificationS3Uri() const{ return m_featureSpecificationS3Uri; } /** *

A URL to the Amazon S3 data source containing selected features from the * input data source to run an Autopilot job. You can input * FeatureAttributeNames (optional) in JSON format as shown below: *

{ "FeatureAttributeNames":["col1", "col2", ...] }.

*

You can also specify the data type of the feature (optional) in the format * shown below:

{ "FeatureDataTypes":{"col1":"numeric", * "col2":"categorical" ... } }

These column keys may not * include the target column.

In ensembling mode, Autopilot only * supports the following data types: numeric, * categorical, text, and datetime. In HPO * mode, Autopilot can support numeric, categorical, * text, datetime, and sequence.

If * only FeatureDataTypes is provided, the column keys * (col1, col2,..) should be a subset of the column names * in the input data.

If both FeatureDataTypes and * FeatureAttributeNames are provided, then the column keys should be * a subset of the column names provided in FeatureAttributeNames. *

The key name FeatureAttributeNames is fixed. The values * listed in ["col1", "col2", ...] are case sensitive and should be a * list of strings containing unique values that are a subset of the column names * in the input data. The list of columns provided must not include the target * column.

*/ inline bool FeatureSpecificationS3UriHasBeenSet() const { return m_featureSpecificationS3UriHasBeenSet; } /** *

A URL to the Amazon S3 data source containing selected features from the * input data source to run an Autopilot job. You can input * FeatureAttributeNames (optional) in JSON format as shown below: *

{ "FeatureAttributeNames":["col1", "col2", ...] }.

*

You can also specify the data type of the feature (optional) in the format * shown below:

{ "FeatureDataTypes":{"col1":"numeric", * "col2":"categorical" ... } }

These column keys may not * include the target column.

In ensembling mode, Autopilot only * supports the following data types: numeric, * categorical, text, and datetime. In HPO * mode, Autopilot can support numeric, categorical, * text, datetime, and sequence.

If * only FeatureDataTypes is provided, the column keys * (col1, col2,..) should be a subset of the column names * in the input data.

If both FeatureDataTypes and * FeatureAttributeNames are provided, then the column keys should be * a subset of the column names provided in FeatureAttributeNames. *

The key name FeatureAttributeNames is fixed. The values * listed in ["col1", "col2", ...] are case sensitive and should be a * list of strings containing unique values that are a subset of the column names * in the input data. The list of columns provided must not include the target * column.

*/ inline void SetFeatureSpecificationS3Uri(const Aws::String& value) { m_featureSpecificationS3UriHasBeenSet = true; m_featureSpecificationS3Uri = value; } /** *

A URL to the Amazon S3 data source containing selected features from the * input data source to run an Autopilot job. You can input * FeatureAttributeNames (optional) in JSON format as shown below: *

{ "FeatureAttributeNames":["col1", "col2", ...] }.

*

You can also specify the data type of the feature (optional) in the format * shown below:

{ "FeatureDataTypes":{"col1":"numeric", * "col2":"categorical" ... } }

These column keys may not * include the target column.

In ensembling mode, Autopilot only * supports the following data types: numeric, * categorical, text, and datetime. In HPO * mode, Autopilot can support numeric, categorical, * text, datetime, and sequence.

If * only FeatureDataTypes is provided, the column keys * (col1, col2,..) should be a subset of the column names * in the input data.

If both FeatureDataTypes and * FeatureAttributeNames are provided, then the column keys should be * a subset of the column names provided in FeatureAttributeNames. *

The key name FeatureAttributeNames is fixed. The values * listed in ["col1", "col2", ...] are case sensitive and should be a * list of strings containing unique values that are a subset of the column names * in the input data. The list of columns provided must not include the target * column.

*/ inline void SetFeatureSpecificationS3Uri(Aws::String&& value) { m_featureSpecificationS3UriHasBeenSet = true; m_featureSpecificationS3Uri = std::move(value); } /** *

A URL to the Amazon S3 data source containing selected features from the * input data source to run an Autopilot job. You can input * FeatureAttributeNames (optional) in JSON format as shown below: *

{ "FeatureAttributeNames":["col1", "col2", ...] }.

*

You can also specify the data type of the feature (optional) in the format * shown below:

{ "FeatureDataTypes":{"col1":"numeric", * "col2":"categorical" ... } }

These column keys may not * include the target column.

In ensembling mode, Autopilot only * supports the following data types: numeric, * categorical, text, and datetime. In HPO * mode, Autopilot can support numeric, categorical, * text, datetime, and sequence.

If * only FeatureDataTypes is provided, the column keys * (col1, col2,..) should be a subset of the column names * in the input data.

If both FeatureDataTypes and * FeatureAttributeNames are provided, then the column keys should be * a subset of the column names provided in FeatureAttributeNames. *

The key name FeatureAttributeNames is fixed. The values * listed in ["col1", "col2", ...] are case sensitive and should be a * list of strings containing unique values that are a subset of the column names * in the input data. The list of columns provided must not include the target * column.

*/ inline void SetFeatureSpecificationS3Uri(const char* value) { m_featureSpecificationS3UriHasBeenSet = true; m_featureSpecificationS3Uri.assign(value); } /** *

A URL to the Amazon S3 data source containing selected features from the * input data source to run an Autopilot job. You can input * FeatureAttributeNames (optional) in JSON format as shown below: *

{ "FeatureAttributeNames":["col1", "col2", ...] }.

*

You can also specify the data type of the feature (optional) in the format * shown below:

{ "FeatureDataTypes":{"col1":"numeric", * "col2":"categorical" ... } }

These column keys may not * include the target column.

In ensembling mode, Autopilot only * supports the following data types: numeric, * categorical, text, and datetime. In HPO * mode, Autopilot can support numeric, categorical, * text, datetime, and sequence.

If * only FeatureDataTypes is provided, the column keys * (col1, col2,..) should be a subset of the column names * in the input data.

If both FeatureDataTypes and * FeatureAttributeNames are provided, then the column keys should be * a subset of the column names provided in FeatureAttributeNames. *

The key name FeatureAttributeNames is fixed. The values * listed in ["col1", "col2", ...] are case sensitive and should be a * list of strings containing unique values that are a subset of the column names * in the input data. The list of columns provided must not include the target * column.

*/ inline AutoMLCandidateGenerationConfig& WithFeatureSpecificationS3Uri(const Aws::String& value) { SetFeatureSpecificationS3Uri(value); return *this;} /** *

A URL to the Amazon S3 data source containing selected features from the * input data source to run an Autopilot job. You can input * FeatureAttributeNames (optional) in JSON format as shown below: *

{ "FeatureAttributeNames":["col1", "col2", ...] }.

*

You can also specify the data type of the feature (optional) in the format * shown below:

{ "FeatureDataTypes":{"col1":"numeric", * "col2":"categorical" ... } }

These column keys may not * include the target column.

In ensembling mode, Autopilot only * supports the following data types: numeric, * categorical, text, and datetime. In HPO * mode, Autopilot can support numeric, categorical, * text, datetime, and sequence.

If * only FeatureDataTypes is provided, the column keys * (col1, col2,..) should be a subset of the column names * in the input data.

If both FeatureDataTypes and * FeatureAttributeNames are provided, then the column keys should be * a subset of the column names provided in FeatureAttributeNames. *

The key name FeatureAttributeNames is fixed. The values * listed in ["col1", "col2", ...] are case sensitive and should be a * list of strings containing unique values that are a subset of the column names * in the input data. The list of columns provided must not include the target * column.

*/ inline AutoMLCandidateGenerationConfig& WithFeatureSpecificationS3Uri(Aws::String&& value) { SetFeatureSpecificationS3Uri(std::move(value)); return *this;} /** *

A URL to the Amazon S3 data source containing selected features from the * input data source to run an Autopilot job. You can input * FeatureAttributeNames (optional) in JSON format as shown below: *

{ "FeatureAttributeNames":["col1", "col2", ...] }.

*

You can also specify the data type of the feature (optional) in the format * shown below:

{ "FeatureDataTypes":{"col1":"numeric", * "col2":"categorical" ... } }

These column keys may not * include the target column.

In ensembling mode, Autopilot only * supports the following data types: numeric, * categorical, text, and datetime. In HPO * mode, Autopilot can support numeric, categorical, * text, datetime, and sequence.

If * only FeatureDataTypes is provided, the column keys * (col1, col2,..) should be a subset of the column names * in the input data.

If both FeatureDataTypes and * FeatureAttributeNames are provided, then the column keys should be * a subset of the column names provided in FeatureAttributeNames. *

The key name FeatureAttributeNames is fixed. The values * listed in ["col1", "col2", ...] are case sensitive and should be a * list of strings containing unique values that are a subset of the column names * in the input data. The list of columns provided must not include the target * column.

*/ inline AutoMLCandidateGenerationConfig& WithFeatureSpecificationS3Uri(const char* value) { SetFeatureSpecificationS3Uri(value); return *this;} /** *

Stores the configuration information for the selection of algorithms used to * train the model candidates.

The list of available algorithms to choose * from depends on the training mode set in * AutoMLJobConfig.Mode .

  • * AlgorithmsConfig should not be set in AUTO training * mode.

  • When AlgorithmsConfig is provided, one * AutoMLAlgorithms attribute must be set and one only.

    If the * list of algorithms provided as values for AutoMLAlgorithms is * empty, AutoMLCandidateGenerationConfig uses the full set of * algorithms for the given training mode.

  • When * AlgorithmsConfig is not provided, * AutoMLCandidateGenerationConfig uses the full set of algorithms for * the given training mode.

For the list of all algorithms per * training mode, see * AutoMLAlgorithmConfig.

For more information on each algorithm, see * the Algorithm * support section in Autopilot developer guide.

*/ inline const Aws::Vector& GetAlgorithmsConfig() const{ return m_algorithmsConfig; } /** *

Stores the configuration information for the selection of algorithms used to * train the model candidates.

The list of available algorithms to choose * from depends on the training mode set in * AutoMLJobConfig.Mode .

  • * AlgorithmsConfig should not be set in AUTO training * mode.

  • When AlgorithmsConfig is provided, one * AutoMLAlgorithms attribute must be set and one only.

    If the * list of algorithms provided as values for AutoMLAlgorithms is * empty, AutoMLCandidateGenerationConfig uses the full set of * algorithms for the given training mode.

  • When * AlgorithmsConfig is not provided, * AutoMLCandidateGenerationConfig uses the full set of algorithms for * the given training mode.

For the list of all algorithms per * training mode, see * AutoMLAlgorithmConfig.

For more information on each algorithm, see * the Algorithm * support section in Autopilot developer guide.

*/ inline bool AlgorithmsConfigHasBeenSet() const { return m_algorithmsConfigHasBeenSet; } /** *

Stores the configuration information for the selection of algorithms used to * train the model candidates.

The list of available algorithms to choose * from depends on the training mode set in * AutoMLJobConfig.Mode .

  • * AlgorithmsConfig should not be set in AUTO training * mode.

  • When AlgorithmsConfig is provided, one * AutoMLAlgorithms attribute must be set and one only.

    If the * list of algorithms provided as values for AutoMLAlgorithms is * empty, AutoMLCandidateGenerationConfig uses the full set of * algorithms for the given training mode.

  • When * AlgorithmsConfig is not provided, * AutoMLCandidateGenerationConfig uses the full set of algorithms for * the given training mode.

For the list of all algorithms per * training mode, see * AutoMLAlgorithmConfig.

For more information on each algorithm, see * the Algorithm * support section in Autopilot developer guide.

*/ inline void SetAlgorithmsConfig(const Aws::Vector& value) { m_algorithmsConfigHasBeenSet = true; m_algorithmsConfig = value; } /** *

Stores the configuration information for the selection of algorithms used to * train the model candidates.

The list of available algorithms to choose * from depends on the training mode set in * AutoMLJobConfig.Mode .

  • * AlgorithmsConfig should not be set in AUTO training * mode.

  • When AlgorithmsConfig is provided, one * AutoMLAlgorithms attribute must be set and one only.

    If the * list of algorithms provided as values for AutoMLAlgorithms is * empty, AutoMLCandidateGenerationConfig uses the full set of * algorithms for the given training mode.

  • When * AlgorithmsConfig is not provided, * AutoMLCandidateGenerationConfig uses the full set of algorithms for * the given training mode.

For the list of all algorithms per * training mode, see * AutoMLAlgorithmConfig.

For more information on each algorithm, see * the Algorithm * support section in Autopilot developer guide.

*/ inline void SetAlgorithmsConfig(Aws::Vector&& value) { m_algorithmsConfigHasBeenSet = true; m_algorithmsConfig = std::move(value); } /** *

Stores the configuration information for the selection of algorithms used to * train the model candidates.

The list of available algorithms to choose * from depends on the training mode set in * AutoMLJobConfig.Mode .

  • * AlgorithmsConfig should not be set in AUTO training * mode.

  • When AlgorithmsConfig is provided, one * AutoMLAlgorithms attribute must be set and one only.

    If the * list of algorithms provided as values for AutoMLAlgorithms is * empty, AutoMLCandidateGenerationConfig uses the full set of * algorithms for the given training mode.

  • When * AlgorithmsConfig is not provided, * AutoMLCandidateGenerationConfig uses the full set of algorithms for * the given training mode.

For the list of all algorithms per * training mode, see * AutoMLAlgorithmConfig.

For more information on each algorithm, see * the Algorithm * support section in Autopilot developer guide.

*/ inline AutoMLCandidateGenerationConfig& WithAlgorithmsConfig(const Aws::Vector& value) { SetAlgorithmsConfig(value); return *this;} /** *

Stores the configuration information for the selection of algorithms used to * train the model candidates.

The list of available algorithms to choose * from depends on the training mode set in * AutoMLJobConfig.Mode .

  • * AlgorithmsConfig should not be set in AUTO training * mode.

  • When AlgorithmsConfig is provided, one * AutoMLAlgorithms attribute must be set and one only.

    If the * list of algorithms provided as values for AutoMLAlgorithms is * empty, AutoMLCandidateGenerationConfig uses the full set of * algorithms for the given training mode.

  • When * AlgorithmsConfig is not provided, * AutoMLCandidateGenerationConfig uses the full set of algorithms for * the given training mode.

For the list of all algorithms per * training mode, see * AutoMLAlgorithmConfig.

For more information on each algorithm, see * the Algorithm * support section in Autopilot developer guide.

*/ inline AutoMLCandidateGenerationConfig& WithAlgorithmsConfig(Aws::Vector&& value) { SetAlgorithmsConfig(std::move(value)); return *this;} /** *

Stores the configuration information for the selection of algorithms used to * train the model candidates.

The list of available algorithms to choose * from depends on the training mode set in * AutoMLJobConfig.Mode .

  • * AlgorithmsConfig should not be set in AUTO training * mode.

  • When AlgorithmsConfig is provided, one * AutoMLAlgorithms attribute must be set and one only.

    If the * list of algorithms provided as values for AutoMLAlgorithms is * empty, AutoMLCandidateGenerationConfig uses the full set of * algorithms for the given training mode.

  • When * AlgorithmsConfig is not provided, * AutoMLCandidateGenerationConfig uses the full set of algorithms for * the given training mode.

For the list of all algorithms per * training mode, see * AutoMLAlgorithmConfig.

For more information on each algorithm, see * the Algorithm * support section in Autopilot developer guide.

*/ inline AutoMLCandidateGenerationConfig& AddAlgorithmsConfig(const AutoMLAlgorithmConfig& value) { m_algorithmsConfigHasBeenSet = true; m_algorithmsConfig.push_back(value); return *this; } /** *

Stores the configuration information for the selection of algorithms used to * train the model candidates.

The list of available algorithms to choose * from depends on the training mode set in * AutoMLJobConfig.Mode .

  • * AlgorithmsConfig should not be set in AUTO training * mode.

  • When AlgorithmsConfig is provided, one * AutoMLAlgorithms attribute must be set and one only.

    If the * list of algorithms provided as values for AutoMLAlgorithms is * empty, AutoMLCandidateGenerationConfig uses the full set of * algorithms for the given training mode.

  • When * AlgorithmsConfig is not provided, * AutoMLCandidateGenerationConfig uses the full set of algorithms for * the given training mode.

For the list of all algorithms per * training mode, see * AutoMLAlgorithmConfig.

For more information on each algorithm, see * the Algorithm * support section in Autopilot developer guide.

*/ inline AutoMLCandidateGenerationConfig& AddAlgorithmsConfig(AutoMLAlgorithmConfig&& value) { m_algorithmsConfigHasBeenSet = true; m_algorithmsConfig.push_back(std::move(value)); return *this; } private: Aws::String m_featureSpecificationS3Uri; bool m_featureSpecificationS3UriHasBeenSet = false; Aws::Vector m_algorithmsConfig; bool m_algorithmsConfigHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws