2023/06/29 - Amazon SageMaker Service - 6 updated api methods
Changes Adding support for timeseries forecasting in the CreateAutoMLJobV2 API.
{'AutoMLJobObjective': {'MetricName': {'AverageWeightedQuantileLoss', 'MAPE', 'MASE', 'WAPE'}}}
Creates an Autopilot job also referred to as Autopilot experiment or AutoML job.
Note
We recommend using the new versions CreateAutoMLJobV2 and DescribeAutoMLJobV2, which offer backward compatibility.
CreateAutoMLJobV2 can manage tabular problem types identical to those of its previous version CreateAutoMLJob , as well as non-tabular problem types such as image or text classification.
Find guidelines about how to migrate a CreateAutoMLJob to CreateAutoMLJobV2 in Migrate a CreateAutoMLJob to CreateAutoMLJobV2.
You can find the best-performing model after you run an AutoML job by calling DescribeAutoMLJobV2 (recommended) or DescribeAutoMLJob.
See also: AWS API Documentation
Request Syntax
client.create_auto_ml_job( AutoMLJobName='string', InputDataConfig=[ { 'DataSource': { 'S3DataSource': { 'S3DataType': 'ManifestFile'|'S3Prefix'|'AugmentedManifestFile', 'S3Uri': 'string' } }, 'CompressionType': 'None'|'Gzip', 'TargetAttributeName': 'string', 'ContentType': 'string', 'ChannelType': 'training'|'validation', 'SampleWeightAttributeName': 'string' }, ], OutputDataConfig={ 'KmsKeyId': 'string', 'S3OutputPath': 'string' }, ProblemType='BinaryClassification'|'MulticlassClassification'|'Regression', AutoMLJobObjective={ 'MetricName': 'Accuracy'|'MSE'|'F1'|'F1macro'|'AUC'|'RMSE'|'MAE'|'R2'|'BalancedAccuracy'|'Precision'|'PrecisionMacro'|'Recall'|'RecallMacro'|'MAPE'|'MASE'|'WAPE'|'AverageWeightedQuantileLoss' }, AutoMLJobConfig={ 'CompletionCriteria': { 'MaxCandidates': 123, 'MaxRuntimePerTrainingJobInSeconds': 123, 'MaxAutoMLJobRuntimeInSeconds': 123 }, 'SecurityConfig': { 'VolumeKmsKeyId': 'string', 'EnableInterContainerTrafficEncryption': True|False, 'VpcConfig': { 'SecurityGroupIds': [ 'string', ], 'Subnets': [ 'string', ] } }, 'DataSplitConfig': { 'ValidationFraction': ... }, 'CandidateGenerationConfig': { 'FeatureSpecificationS3Uri': 'string', 'AlgorithmsConfig': [ { 'AutoMLAlgorithms': [ 'xgboost'|'linear-learner'|'mlp'|'lightgbm'|'catboost'|'randomforest'|'extra-trees'|'nn-torch'|'fastai', ] }, ] }, 'Mode': 'AUTO'|'ENSEMBLING'|'HYPERPARAMETER_TUNING' }, RoleArn='string', GenerateCandidateDefinitionsOnly=True|False, Tags=[ { 'Key': 'string', 'Value': 'string' }, ], ModelDeployConfig={ 'AutoGenerateEndpointName': True|False, 'EndpointName': 'string' } )
string
[REQUIRED]
Identifies an Autopilot job. The name must be unique to your account and is case insensitive.
list
[REQUIRED]
An array of channel objects that describes the input data and its location. Each channel is a named input source. Similar to InputDataConfig supported by HyperParameterTrainingJobDefinition. Format(s) supported: CSV, Parquet. A minimum of 500 rows is required for the training dataset. There is not a minimum number of rows required for the validation dataset.
(dict) --
A channel is a named input source that training algorithms can consume. The validation dataset size is limited to less than 2 GB. The training dataset size must be less than 100 GB. For more information, see Channel.
Note
A validation dataset must contain the same headers as the training dataset.
DataSource (dict) -- [REQUIRED]
The data source for an AutoML channel.
S3DataSource (dict) -- [REQUIRED]
The Amazon S3 location of the input data.
S3DataType (string) -- [REQUIRED]
The data type.
If you choose S3Prefix , S3Uri identifies a key name prefix. SageMaker uses all objects that match the specified key name prefix for model training. The S3Prefix should have the following format: s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER-OR-FILE
If you choose ManifestFile , S3Uri identifies an object that is a manifest file containing a list of object keys that you want SageMaker to use for model training. A ManifestFile should have the format shown below: [ {"prefix": "s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER/DOC-EXAMPLE-PREFIX/"}, "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-1", "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-2", ... "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-N" ]
If you choose AugmentedManifestFile , S3Uri identifies an object that is an augmented manifest file in JSON lines format. This file contains the data you want to use for model training. AugmentedManifestFile is available for V2 API jobs only (for example, for jobs created by calling CreateAutoMLJobV2 ). Here is a minimal, single-record example of an AugmentedManifestFile : {"source-ref": "s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER/cats/cat.jpg", "label-metadata": {"class-name": "cat" } For more information on AugmentedManifestFile , see Provide Dataset Metadata to Training Jobs with an Augmented Manifest File.
S3Uri (string) -- [REQUIRED]
The URL to the Amazon S3 data source. The Uri refers to the Amazon S3 prefix or ManifestFile depending on the data type.
CompressionType (string) --
You can use Gzip or None . The default value is None .
TargetAttributeName (string) -- [REQUIRED]
The name of the target variable in supervised learning, usually represented by 'y'.
ContentType (string) --
The content type of the data from the input source. You can use text/csv;header=present or x-application/vnd.amazon+parquet . The default value is text/csv;header=present .
ChannelType (string) --
The channel type (optional) is an enum string. The default value is training . Channels for training and validation must share the same ContentType and TargetAttributeName . For information on specifying training and validation channel types, see How to specify training and validation datasets.
SampleWeightAttributeName (string) --
If specified, this column name indicates which column of the dataset should be treated as sample weights for use by the objective metric during the training, evaluation, and the selection of the best model. This column is not considered as a predictive feature. For more information on Autopilot metrics, see Metrics and validation.
Sample weights should be numeric, non-negative, with larger values indicating which rows are more important than others. Data points that have invalid or no weight value are excluded.
Support for sample weights is available in Ensembling mode only.
dict
[REQUIRED]
Provides information about encryption and the Amazon S3 output path needed to store artifacts from an AutoML job. Format(s) supported: CSV.
KmsKeyId (string) --
The Key Management Service (KMS) encryption key ID.
S3OutputPath (string) -- [REQUIRED]
The Amazon S3 output path. Must be 128 characters or less.
string
Defines the type of supervised learning problem available for the candidates. For more information, see Amazon SageMaker Autopilot problem types.
dict
Specifies a metric to minimize or maximize as the objective of a job. If not specified, the default objective metric depends on the problem type. See AutoMLJobObjective for the default values.
MetricName (string) -- [REQUIRED]
The name of the objective metric used to measure the predictive quality of a machine learning system. During training, the model's parameters are updated iteratively to optimize its performance based on the feedback provided by the objective metric when evaluating the model on the validation dataset.
For the list of all available metrics supported by Autopilot, see Autopilot metrics.
If you do not specify a metric explicitly, the default behavior is to automatically use:
For tabular problem types:
Regression: MSE .
Binary classification: F1 .
Multiclass classification: Accuracy .
For image or text classification problem types: Accuracy
For time-series forecasting problem types: AverageWeightedQuantileLoss
dict
A collection of settings used to configure an AutoML job.
CompletionCriteria (dict) --
How long an AutoML job is allowed to run, or how many candidates a job is allowed to generate.
MaxCandidates (integer) --
The maximum number of times a training job is allowed to run.
For text and image classification, as well as time-series forecasting problem types, the supported value is 1. For tabular problem types, the maximum value is 750.
MaxRuntimePerTrainingJobInSeconds (integer) --
The maximum time, in seconds, that each training job executed inside hyperparameter tuning is allowed to run as part of a hyperparameter tuning job. For more information, see the StoppingCondition used by the CreateHyperParameterTuningJob action.
For job V2s (jobs created by calling CreateAutoMLJobV2 ), this field controls the runtime of the job candidate.
MaxAutoMLJobRuntimeInSeconds (integer) --
The maximum runtime, in seconds, an AutoML job has to complete.
If an AutoML job exceeds the maximum runtime, the job is stopped automatically and its processing is ended gracefully. The AutoML job identifies the best model whose training was completed and marks it as the best-performing model. Any unfinished steps of the job, such as automatic one-click Autopilot model deployment, are not completed.
SecurityConfig (dict) --
The security configuration for traffic encryption or Amazon VPC settings.
VolumeKmsKeyId (string) --
The key used to encrypt stored data.
EnableInterContainerTrafficEncryption (boolean) --
Whether to use traffic encryption between the container layers.
VpcConfig (dict) --
The VPC configuration.
SecurityGroupIds (list) -- [REQUIRED]
The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for the VPC that is specified in the Subnets field.
(string) --
Subnets (list) -- [REQUIRED]
The ID of the subnets in the VPC to which you want to connect your training job or model. For information about the availability of specific instance types, see Supported Instance Types and Availability Zones.
(string) --
DataSplitConfig (dict) --
The configuration for splitting the input training dataset.
Type: AutoMLDataSplitConfig
ValidationFraction (float) --
The validation fraction (optional) is a float that specifies the portion of the training dataset to be used for validation. The default value is 0.2, and values must be greater than 0 and less than 1. We recommend setting this value to be less than 0.5.
CandidateGenerationConfig (dict) --
The configuration for generating a candidate for an AutoML job (optional).
FeatureSpecificationS3Uri (string) --
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" ... } }
Note
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.
AlgorithmsConfig (list) --
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.
(dict) --
The collection of algorithms run on a dataset for training the model candidates of an Autopilot job.
AutoMLAlgorithms (list) -- [REQUIRED]
The selection of algorithms run on a dataset to train the model candidates of an Autopilot job.
Note
Selected algorithms must belong to the list corresponding to the training mode set in AutoMLJobConfig.Mode ( ENSEMBLING or HYPERPARAMETER_TUNING ). Choose a minimum of 1 algorithm.
In ENSEMBLING mode:
"catboost"
"extra-trees"
"fastai"
"lightgbm"
"linear-learner"
"nn-torch"
"randomforest"
"xgboost"
In HYPERPARAMETER_TUNING mode:
"linear-learner"
"mlp"
"xgboost"
(string) --
Mode (string) --
The method that Autopilot uses to train the data. You can either specify the mode manually or let Autopilot choose for you based on the dataset size by selecting AUTO . In AUTO mode, Autopilot chooses ENSEMBLING for datasets smaller than 100 MB, and HYPERPARAMETER_TUNING for larger ones.
The ENSEMBLING mode uses a multi-stack ensemble model to predict classification and regression tasks directly from your dataset. This machine learning mode combines several base models to produce an optimal predictive model. It then uses a stacking ensemble method to combine predictions from contributing members. A multi-stack ensemble model can provide better performance over a single model by combining the predictive capabilities of multiple models. See Autopilot algorithm support for a list of algorithms supported by ENSEMBLING mode.
The HYPERPARAMETER_TUNING (HPO) mode uses the best hyperparameters to train the best version of a model. HPO automatically selects an algorithm for the type of problem you want to solve. Then HPO finds the best hyperparameters according to your objective metric. See Autopilot algorithm support for a list of algorithms supported by HYPERPARAMETER_TUNING mode.
string
[REQUIRED]
The ARN of the role that is used to access the data.
boolean
Generates possible candidates without training the models. A candidate is a combination of data preprocessors, algorithms, and algorithm parameter settings.
list
An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in different ways, for example, by purpose, owner, or environment. For more information, see Tagging Amazon Web ServicesResources. Tag keys must be unique per resource.
(dict) --
A tag object that consists of a key and an optional value, used to manage metadata for SageMaker Amazon Web Services resources.
You can add tags to notebook instances, training jobs, hyperparameter tuning jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, and endpoints. For more information on adding tags to SageMaker resources, see AddTags.
For more information on adding metadata to your Amazon Web Services resources with tagging, see Tagging Amazon Web Services resources. For advice on best practices for managing Amazon Web Services resources with tagging, see Tagging Best Practices: Implement an Effective Amazon Web Services Resource Tagging Strategy.
Key (string) -- [REQUIRED]
The tag key. Tag keys must be unique per resource.
Value (string) -- [REQUIRED]
The tag value.
dict
Specifies how to generate the endpoint name for an automatic one-click Autopilot model deployment.
AutoGenerateEndpointName (boolean) --
Set to True to automatically generate an endpoint name for a one-click Autopilot model deployment; set to False otherwise. The default value is False .
Note
If you set AutoGenerateEndpointName to True , do not specify the EndpointName ; otherwise a 400 error is thrown.
EndpointName (string) --
Specifies the endpoint name to use for a one-click Autopilot model deployment if the endpoint name is not generated automatically.
Note
Specify the EndpointName if and only if you set AutoGenerateEndpointName to False ; otherwise a 400 error is thrown.
dict
Response Syntax
{ 'AutoMLJobArn': 'string' }
Response Structure
(dict) --
AutoMLJobArn (string) --
The unique ARN assigned to the AutoML job when it is created.
{'AutoMLJobObjective': {'MetricName': {'AverageWeightedQuantileLoss', 'MAPE', 'MASE', 'WAPE'}}, 'AutoMLProblemTypeConfig': {'TimeSeriesForecastingJobConfig': {'CompletionCriteria': {'MaxAutoMLJobRuntimeInSeconds': 'integer', 'MaxCandidates': 'integer', 'MaxRuntimePerTrainingJobInSeconds': 'integer'}, 'FeatureSpecificationS3Uri': 'string', 'ForecastFrequency': 'string', 'ForecastHorizon': 'integer', 'ForecastQuantiles': ['string'], 'TimeSeriesConfig': {'GroupingAttributeNames': ['string'], 'ItemIdentifierAttributeName': 'string', 'TargetAttributeName': 'string', 'TimestampAttributeName': 'string'}, 'Transformations': {'Aggregation': {'string': 'sum ' '| ' 'avg ' '| ' 'first ' '| ' 'min ' '| ' 'max'}, 'Filling': {'string': {'frontfill | middlefill | backfill | futurefill | frontfill_value | middlefill_value | backfill_value | futurefill_value': 'string'}}}}}}
Creates an Autopilot job also referred to as Autopilot experiment or AutoML job V2.
Note
CreateAutoMLJobV2 and DescribeAutoMLJobV2 are new versions of CreateAutoMLJob and DescribeAutoMLJob which offer backward compatibility.
CreateAutoMLJobV2 can manage tabular problem types identical to those of its previous version CreateAutoMLJob , as well as non-tabular problem types such as image or text classification.
Find guidelines about how to migrate a CreateAutoMLJob to CreateAutoMLJobV2 in Migrate a CreateAutoMLJob to CreateAutoMLJobV2.
For the list of available problem types supported by CreateAutoMLJobV2 , see AutoMLProblemTypeConfig.
You can find the best-performing model after you run an AutoML job V2 by calling DescribeAutoMLJobV2.
See also: AWS API Documentation
Request Syntax
client.create_auto_ml_job_v2( AutoMLJobName='string', AutoMLJobInputDataConfig=[ { 'ChannelType': 'training'|'validation', 'ContentType': 'string', 'CompressionType': 'None'|'Gzip', 'DataSource': { 'S3DataSource': { 'S3DataType': 'ManifestFile'|'S3Prefix'|'AugmentedManifestFile', 'S3Uri': 'string' } } }, ], OutputDataConfig={ 'KmsKeyId': 'string', 'S3OutputPath': 'string' }, AutoMLProblemTypeConfig={ 'ImageClassificationJobConfig': { 'CompletionCriteria': { 'MaxCandidates': 123, 'MaxRuntimePerTrainingJobInSeconds': 123, 'MaxAutoMLJobRuntimeInSeconds': 123 } }, 'TextClassificationJobConfig': { 'CompletionCriteria': { 'MaxCandidates': 123, 'MaxRuntimePerTrainingJobInSeconds': 123, 'MaxAutoMLJobRuntimeInSeconds': 123 }, 'ContentColumn': 'string', 'TargetLabelColumn': 'string' }, 'TabularJobConfig': { 'CandidateGenerationConfig': { 'AlgorithmsConfig': [ { 'AutoMLAlgorithms': [ 'xgboost'|'linear-learner'|'mlp'|'lightgbm'|'catboost'|'randomforest'|'extra-trees'|'nn-torch'|'fastai', ] }, ] }, 'CompletionCriteria': { 'MaxCandidates': 123, 'MaxRuntimePerTrainingJobInSeconds': 123, 'MaxAutoMLJobRuntimeInSeconds': 123 }, 'FeatureSpecificationS3Uri': 'string', 'Mode': 'AUTO'|'ENSEMBLING'|'HYPERPARAMETER_TUNING', 'GenerateCandidateDefinitionsOnly': True|False, 'ProblemType': 'BinaryClassification'|'MulticlassClassification'|'Regression', 'TargetAttributeName': 'string', 'SampleWeightAttributeName': 'string' }, 'TimeSeriesForecastingJobConfig': { 'FeatureSpecificationS3Uri': 'string', 'CompletionCriteria': { 'MaxCandidates': 123, 'MaxRuntimePerTrainingJobInSeconds': 123, 'MaxAutoMLJobRuntimeInSeconds': 123 }, 'ForecastFrequency': 'string', 'ForecastHorizon': 123, 'ForecastQuantiles': [ 'string', ], 'Transformations': { 'Filling': { 'string': { 'string': 'string' } }, 'Aggregation': { 'string': 'sum'|'avg'|'first'|'min'|'max' } }, 'TimeSeriesConfig': { 'TargetAttributeName': 'string', 'TimestampAttributeName': 'string', 'ItemIdentifierAttributeName': 'string', 'GroupingAttributeNames': [ 'string', ] } } }, RoleArn='string', Tags=[ { 'Key': 'string', 'Value': 'string' }, ], SecurityConfig={ 'VolumeKmsKeyId': 'string', 'EnableInterContainerTrafficEncryption': True|False, 'VpcConfig': { 'SecurityGroupIds': [ 'string', ], 'Subnets': [ 'string', ] } }, AutoMLJobObjective={ 'MetricName': 'Accuracy'|'MSE'|'F1'|'F1macro'|'AUC'|'RMSE'|'MAE'|'R2'|'BalancedAccuracy'|'Precision'|'PrecisionMacro'|'Recall'|'RecallMacro'|'MAPE'|'MASE'|'WAPE'|'AverageWeightedQuantileLoss' }, ModelDeployConfig={ 'AutoGenerateEndpointName': True|False, 'EndpointName': 'string' }, DataSplitConfig={ 'ValidationFraction': ... } )
string
[REQUIRED]
Identifies an Autopilot job. The name must be unique to your account and is case insensitive.
list
[REQUIRED]
An array of channel objects describing the input data and their location. Each channel is a named input source. Similar to the InputDataConfig attribute in the CreateAutoMLJob input parameters. The supported formats depend on the problem type:
For tabular problem types: S3Prefix , ManifestFile .
For image classification: S3Prefix , ManifestFile , AugmentedManifestFile .
For text classification: S3Prefix .
For time-series forecasting: S3Prefix .
(dict) --
A channel is a named input source that training algorithms can consume. This channel is used for AutoML jobs V2 (jobs created by calling CreateAutoMLJobV2 ).
ChannelType (string) --
The type of channel. Defines whether the data are used for training or validation. The default value is training . Channels for training and validation must share the same ContentType
Note
The type of channel defaults to training for the time-series forecasting problem type.
ContentType (string) --
The content type of the data from the input source. The following are the allowed content types for different problems:
For tabular problem types: text/csv;header=present or x-application/vnd.amazon+parquet . The default value is text/csv;header=present .
For image classification: image/png , image/jpeg , or image/* . The default value is image/* .
For text classification: text/csv;header=present or x-application/vnd.amazon+parquet . The default value is text/csv;header=present .
For time-series forecasting: text/csv;header=present or x-application/vnd.amazon+parquet . The default value is text/csv;header=present .
CompressionType (string) --
The allowed compression types depend on the input format and problem type. We allow the compression type Gzip for S3Prefix inputs on tabular data only. For all other inputs, the compression type should be None . If no compression type is provided, we default to None .
DataSource (dict) --
The data source for an AutoML channel (Required).
S3DataSource (dict) -- [REQUIRED]
The Amazon S3 location of the input data.
S3DataType (string) -- [REQUIRED]
The data type.
If you choose S3Prefix , S3Uri identifies a key name prefix. SageMaker uses all objects that match the specified key name prefix for model training. The S3Prefix should have the following format: s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER-OR-FILE
If you choose ManifestFile , S3Uri identifies an object that is a manifest file containing a list of object keys that you want SageMaker to use for model training. A ManifestFile should have the format shown below: [ {"prefix": "s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER/DOC-EXAMPLE-PREFIX/"}, "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-1", "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-2", ... "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-N" ]
If you choose AugmentedManifestFile , S3Uri identifies an object that is an augmented manifest file in JSON lines format. This file contains the data you want to use for model training. AugmentedManifestFile is available for V2 API jobs only (for example, for jobs created by calling CreateAutoMLJobV2 ). Here is a minimal, single-record example of an AugmentedManifestFile : {"source-ref": "s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER/cats/cat.jpg", "label-metadata": {"class-name": "cat" } For more information on AugmentedManifestFile , see Provide Dataset Metadata to Training Jobs with an Augmented Manifest File.
S3Uri (string) -- [REQUIRED]
The URL to the Amazon S3 data source. The Uri refers to the Amazon S3 prefix or ManifestFile depending on the data type.
dict
[REQUIRED]
Provides information about encryption and the Amazon S3 output path needed to store artifacts from an AutoML job.
KmsKeyId (string) --
The Key Management Service (KMS) encryption key ID.
S3OutputPath (string) -- [REQUIRED]
The Amazon S3 output path. Must be 128 characters or less.
dict
[REQUIRED]
Defines the configuration settings of one of the supported problem types.
Note
This is a Tagged Union structure. Only one of the following top level keys can be set: ImageClassificationJobConfig, TextClassificationJobConfig, TabularJobConfig, TimeSeriesForecastingJobConfig.
ImageClassificationJobConfig (dict) --
Settings used to configure an AutoML job V2 for the image classification problem type.
CompletionCriteria (dict) --
How long a job is allowed to run, or how many candidates a job is allowed to generate.
MaxCandidates (integer) --
The maximum number of times a training job is allowed to run.
For text and image classification, as well as time-series forecasting problem types, the supported value is 1. For tabular problem types, the maximum value is 750.
MaxRuntimePerTrainingJobInSeconds (integer) --
The maximum time, in seconds, that each training job executed inside hyperparameter tuning is allowed to run as part of a hyperparameter tuning job. For more information, see the StoppingCondition used by the CreateHyperParameterTuningJob action.
For job V2s (jobs created by calling CreateAutoMLJobV2 ), this field controls the runtime of the job candidate.
MaxAutoMLJobRuntimeInSeconds (integer) --
The maximum runtime, in seconds, an AutoML job has to complete.
If an AutoML job exceeds the maximum runtime, the job is stopped automatically and its processing is ended gracefully. The AutoML job identifies the best model whose training was completed and marks it as the best-performing model. Any unfinished steps of the job, such as automatic one-click Autopilot model deployment, are not completed.
TextClassificationJobConfig (dict) --
Settings used to configure an AutoML job V2 for the text classification problem type.
CompletionCriteria (dict) --
How long a job is allowed to run, or how many candidates a job is allowed to generate.
MaxCandidates (integer) --
The maximum number of times a training job is allowed to run.
For text and image classification, as well as time-series forecasting problem types, the supported value is 1. For tabular problem types, the maximum value is 750.
MaxRuntimePerTrainingJobInSeconds (integer) --
The maximum time, in seconds, that each training job executed inside hyperparameter tuning is allowed to run as part of a hyperparameter tuning job. For more information, see the StoppingCondition used by the CreateHyperParameterTuningJob action.
For job V2s (jobs created by calling CreateAutoMLJobV2 ), this field controls the runtime of the job candidate.
MaxAutoMLJobRuntimeInSeconds (integer) --
The maximum runtime, in seconds, an AutoML job has to complete.
If an AutoML job exceeds the maximum runtime, the job is stopped automatically and its processing is ended gracefully. The AutoML job identifies the best model whose training was completed and marks it as the best-performing model. Any unfinished steps of the job, such as automatic one-click Autopilot model deployment, are not completed.
ContentColumn (string) --
The name of the column used to provide the sentences to be classified. It should not be the same as the target column (Required).
TargetLabelColumn (string) --
The name of the column used to provide the class labels. It should not be same as the content column (Required).
TabularJobConfig (dict) --
Settings used to configure an AutoML job V2 for a tabular problem type (regression, classification).
CandidateGenerationConfig (dict) --
The configuration information of how model candidates are generated.
AlgorithmsConfig (list) --
Stores the configuration information for the selection of algorithms used to train model candidates on tabular data.
The list of available algorithms to choose from depends on the training mode set in TabularJobConfig.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, CandidateGenerationConfig uses the full set of algorithms for the given training mode.
When AlgorithmsConfig is not provided, CandidateGenerationConfig uses the full set of algorithms for the given training mode.
For the list of all algorithms per problem type and training mode, see AutoMLAlgorithmConfig.
For more information on each algorithm, see the Algorithm support section in Autopilot developer guide.
(dict) --
The collection of algorithms run on a dataset for training the model candidates of an Autopilot job.
AutoMLAlgorithms (list) -- [REQUIRED]
The selection of algorithms run on a dataset to train the model candidates of an Autopilot job.
Note
Selected algorithms must belong to the list corresponding to the training mode set in AutoMLJobConfig.Mode ( ENSEMBLING or HYPERPARAMETER_TUNING ). Choose a minimum of 1 algorithm.
In ENSEMBLING mode:
"catboost"
"extra-trees"
"fastai"
"lightgbm"
"linear-learner"
"nn-torch"
"randomforest"
"xgboost"
In HYPERPARAMETER_TUNING mode:
"linear-learner"
"mlp"
"xgboost"
(string) --
CompletionCriteria (dict) --
How long a job is allowed to run, or how many candidates a job is allowed to generate.
MaxCandidates (integer) --
The maximum number of times a training job is allowed to run.
For text and image classification, as well as time-series forecasting problem types, the supported value is 1. For tabular problem types, the maximum value is 750.
MaxRuntimePerTrainingJobInSeconds (integer) --
The maximum time, in seconds, that each training job executed inside hyperparameter tuning is allowed to run as part of a hyperparameter tuning job. For more information, see the StoppingCondition used by the CreateHyperParameterTuningJob action.
For job V2s (jobs created by calling CreateAutoMLJobV2 ), this field controls the runtime of the job candidate.
MaxAutoMLJobRuntimeInSeconds (integer) --
The maximum runtime, in seconds, an AutoML job has to complete.
If an AutoML job exceeds the maximum runtime, the job is stopped automatically and its processing is ended gracefully. The AutoML job identifies the best model whose training was completed and marks it as the best-performing model. Any unfinished steps of the job, such as automatic one-click Autopilot model deployment, are not completed.
FeatureSpecificationS3Uri (string) --
A URL to the Amazon S3 data source containing selected features from the input data source to run an Autopilot job V2. 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" ... } }
Note
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.
Mode (string) --
The method that Autopilot uses to train the data. You can either specify the mode manually or let Autopilot choose for you based on the dataset size by selecting AUTO . In AUTO mode, Autopilot chooses ENSEMBLING for datasets smaller than 100 MB, and HYPERPARAMETER_TUNING for larger ones.
The ENSEMBLING mode uses a multi-stack ensemble model to predict classification and regression tasks directly from your dataset. This machine learning mode combines several base models to produce an optimal predictive model. It then uses a stacking ensemble method to combine predictions from contributing members. A multi-stack ensemble model can provide better performance over a single model by combining the predictive capabilities of multiple models. See Autopilot algorithm support for a list of algorithms supported by ENSEMBLING mode.
The HYPERPARAMETER_TUNING (HPO) mode uses the best hyperparameters to train the best version of a model. HPO automatically selects an algorithm for the type of problem you want to solve. Then HPO finds the best hyperparameters according to your objective metric. See Autopilot algorithm support for a list of algorithms supported by HYPERPARAMETER_TUNING mode.
GenerateCandidateDefinitionsOnly (boolean) --
Generates possible candidates without training the models. A model candidate is a combination of data preprocessors, algorithms, and algorithm parameter settings.
ProblemType (string) --
The type of supervised learning problem available for the model candidates of the AutoML job V2. For more information, see Amazon SageMaker Autopilot problem types.
Note
You must either specify the type of supervised learning problem in ProblemType and provide the AutoMLJobObjective metric, or none at all.
TargetAttributeName (string) -- [REQUIRED]
The name of the target variable in supervised learning, usually represented by 'y'.
SampleWeightAttributeName (string) --
If specified, this column name indicates which column of the dataset should be treated as sample weights for use by the objective metric during the training, evaluation, and the selection of the best model. This column is not considered as a predictive feature. For more information on Autopilot metrics, see Metrics and validation.
Sample weights should be numeric, non-negative, with larger values indicating which rows are more important than others. Data points that have invalid or no weight value are excluded.
Support for sample weights is available in Ensembling mode only.
TimeSeriesForecastingJobConfig (dict) --
Settings used to configure an AutoML job V2 for a time-series forecasting problem type.
FeatureSpecificationS3Uri (string) --
A URL to the Amazon S3 data source containing additional selected features that complement the target, itemID, timestamp, and grouped columns set in TimeSeriesConfig . When not provided, the AutoML job V2 includes all the columns from the original dataset that are not already declared in TimeSeriesConfig . If provided, the AutoML job V2 only considers these additional columns as a complement to the ones declared in TimeSeriesConfig .
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" ... } }
Autopilot supports the following data types: numeric , categorical , text , and datetime .
Note
These column keys must not include any column set in TimeSeriesConfig .
When not provided, the AutoML job V2 includes all the columns from the original dataset that are not already declared in TimeSeriesConfig . If provided, the AutoML job V2 only considers these additional columns as a complement to the ones declared in TimeSeriesConfig .
Autopilot supports the following data types: numeric , categorical , text , and datetime .
CompletionCriteria (dict) --
How long a job is allowed to run, or how many candidates a job is allowed to generate.
MaxCandidates (integer) --
The maximum number of times a training job is allowed to run.
For text and image classification, as well as time-series forecasting problem types, the supported value is 1. For tabular problem types, the maximum value is 750.
MaxRuntimePerTrainingJobInSeconds (integer) --
The maximum time, in seconds, that each training job executed inside hyperparameter tuning is allowed to run as part of a hyperparameter tuning job. For more information, see the StoppingCondition used by the CreateHyperParameterTuningJob action.
For job V2s (jobs created by calling CreateAutoMLJobV2 ), this field controls the runtime of the job candidate.
MaxAutoMLJobRuntimeInSeconds (integer) --
The maximum runtime, in seconds, an AutoML job has to complete.
If an AutoML job exceeds the maximum runtime, the job is stopped automatically and its processing is ended gracefully. The AutoML job identifies the best model whose training was completed and marks it as the best-performing model. Any unfinished steps of the job, such as automatic one-click Autopilot model deployment, are not completed.
ForecastFrequency (string) -- [REQUIRED]
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. The value of a frequency must not overlap with the next larger frequency. For example, you must use a frequency of 1H instead of 60min .
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
ForecastHorizon (integer) -- [REQUIRED]
The number of time-steps that the model predicts. The forecast horizon is also called the prediction length. The maximum forecast horizon is the lesser of 500 time-steps or 1/4 of the time-steps in the dataset.
ForecastQuantiles (list) --
The quantiles used to train the model for forecasts at a specified quantile. You can specify quantiles from 0.01 (p1) to 0.99 (p99), by increments of 0.01 or higher. Up to five forecast quantiles can be specified. When ForecastQuantiles is not provided, the AutoML job uses the quantiles p10, p50, and p90 as default.
(string) --
Transformations (dict) --
The transformations modifying specific attributes of the time-series, such as filling strategies for missing values.
Filling (dict) --
A key value pair defining the filling method for a column, where the key is the column name and the value is an object which defines the filling logic. You can specify multiple filling methods for a single column.
The supported filling methods and their corresponding options are:
frontfill : none (Supported only for target column)
middlefill : zero , value , median , mean , min , max
backfill : zero , value , median , mean , min , max
futurefill : zero , value , median , mean , min , max
To set a filling method to a specific value, set the fill parameter to the chosen filling method value (for example "backfill" : "value" ), and define the filling value in an additional parameter prefixed with "_value". For example, to set backfill to a value of 2 , you must include two parameters: "backfill": "value" and "backfill_value":"2" .
(string) --
(dict) --
(string) --
(string) --
Aggregation (dict) --
A key value pair defining the aggregation method for a column, where the key is the column name and the value is the aggregation method.
The supported aggregation methods are sum (default), avg , first , min , max .
Note
Aggregation is only supported for the target column.
(string) --
(string) --
TimeSeriesConfig (dict) -- [REQUIRED]
The collection of components that defines the time-series.
TargetAttributeName (string) -- [REQUIRED]
The name of the column representing the target variable that you want to predict for each item in your dataset. The data type of the target variable must be numerical.
TimestampAttributeName (string) -- [REQUIRED]
The name of the column indicating a point in time at which the target value of a given item is recorded.
ItemIdentifierAttributeName (string) -- [REQUIRED]
The name of the column that represents the set of item identifiers for which you want to predict the target value.
GroupingAttributeNames (list) --
A set of columns names that can be grouped with the item identifier column to create a composite key for which a target value is predicted.
(string) --
string
[REQUIRED]
The ARN of the role that is used to access the data.
list
An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in different ways, such as by purpose, owner, or environment. For more information, see Tagging Amazon Web ServicesResources. Tag keys must be unique per resource.
(dict) --
A tag object that consists of a key and an optional value, used to manage metadata for SageMaker Amazon Web Services resources.
You can add tags to notebook instances, training jobs, hyperparameter tuning jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, and endpoints. For more information on adding tags to SageMaker resources, see AddTags.
For more information on adding metadata to your Amazon Web Services resources with tagging, see Tagging Amazon Web Services resources. For advice on best practices for managing Amazon Web Services resources with tagging, see Tagging Best Practices: Implement an Effective Amazon Web Services Resource Tagging Strategy.
Key (string) -- [REQUIRED]
The tag key. Tag keys must be unique per resource.
Value (string) -- [REQUIRED]
The tag value.
dict
The security configuration for traffic encryption or Amazon VPC settings.
VolumeKmsKeyId (string) --
The key used to encrypt stored data.
EnableInterContainerTrafficEncryption (boolean) --
Whether to use traffic encryption between the container layers.
VpcConfig (dict) --
The VPC configuration.
SecurityGroupIds (list) -- [REQUIRED]
The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for the VPC that is specified in the Subnets field.
(string) --
Subnets (list) -- [REQUIRED]
The ID of the subnets in the VPC to which you want to connect your training job or model. For information about the availability of specific instance types, see Supported Instance Types and Availability Zones.
(string) --
dict
Specifies a metric to minimize or maximize as the objective of a job. If not specified, the default objective metric depends on the problem type. For the list of default values per problem type, see AutoMLJobObjective.
Note
For tabular problem types, you must either provide both the AutoMLJobObjective and indicate the type of supervised learning problem in AutoMLProblemTypeConfig ( TabularJobConfig.ProblemType ), or none at all.
MetricName (string) -- [REQUIRED]
The name of the objective metric used to measure the predictive quality of a machine learning system. During training, the model's parameters are updated iteratively to optimize its performance based on the feedback provided by the objective metric when evaluating the model on the validation dataset.
For the list of all available metrics supported by Autopilot, see Autopilot metrics.
If you do not specify a metric explicitly, the default behavior is to automatically use:
For tabular problem types:
Regression: MSE .
Binary classification: F1 .
Multiclass classification: Accuracy .
For image or text classification problem types: Accuracy
For time-series forecasting problem types: AverageWeightedQuantileLoss
dict
Specifies how to generate the endpoint name for an automatic one-click Autopilot model deployment.
AutoGenerateEndpointName (boolean) --
Set to True to automatically generate an endpoint name for a one-click Autopilot model deployment; set to False otherwise. The default value is False .
Note
If you set AutoGenerateEndpointName to True , do not specify the EndpointName ; otherwise a 400 error is thrown.
EndpointName (string) --
Specifies the endpoint name to use for a one-click Autopilot model deployment if the endpoint name is not generated automatically.
Note
Specify the EndpointName if and only if you set AutoGenerateEndpointName to False ; otherwise a 400 error is thrown.
dict
This structure specifies how to split the data into train and validation datasets.
The validation and training datasets must contain the same headers. For jobs created by calling CreateAutoMLJob , the validation dataset must be less than 2 GB in size.
Note
This attribute must not be set for the time-series forecasting problem type, as Autopilot automatically splits the input dataset into training and validation sets.
ValidationFraction (float) --
The validation fraction (optional) is a float that specifies the portion of the training dataset to be used for validation. The default value is 0.2, and values must be greater than 0 and less than 1. We recommend setting this value to be less than 0.5.
dict
Response Syntax
{ 'AutoMLJobArn': 'string' }
Response Structure
(dict) --
AutoMLJobArn (string) --
The unique ARN assigned to the AutoMLJob when it is created.
{'AutoMLJobObjective': {'MetricName': {'AverageWeightedQuantileLoss', 'MAPE', 'MASE', 'WAPE'}}, 'AutoMLJobSecondaryStatus': {'PreTraining'}, 'BestCandidate': {'CandidateProperties': {'CandidateArtifactLocations': {'BacktestResults': 'string'}, 'CandidateMetrics': {'MetricName': {'AverageWeightedQuantileLoss', 'MAPE', 'MASE', 'WAPE'}, 'StandardMetricName': {'AverageWeightedQuantileLoss', 'MAPE', 'MASE', 'WAPE'}}}, 'FinalAutoMLJobObjectiveMetric': {'MetricName': {'AverageWeightedQuantileLoss', 'MAPE', 'MASE', 'WAPE'}, 'StandardMetricName': {'AverageWeightedQuantileLoss', 'MAPE', 'MASE', 'WAPE'}}}, 'ResolvedAttributes': {'AutoMLJobObjective': {'MetricName': {'AverageWeightedQuantileLoss', 'MAPE', 'MASE', 'WAPE'}}}}
Returns information about an AutoML job created by calling CreateAutoMLJob.
Note
AutoML jobs created by calling CreateAutoMLJobV2 cannot be described by DescribeAutoMLJob .
See also: AWS API Documentation
Request Syntax
client.describe_auto_ml_job( AutoMLJobName='string' )
string
[REQUIRED]
Requests information about an AutoML job using its unique name.
dict
Response Syntax
{ 'AutoMLJobName': 'string', 'AutoMLJobArn': 'string', 'InputDataConfig': [ { 'DataSource': { 'S3DataSource': { 'S3DataType': 'ManifestFile'|'S3Prefix'|'AugmentedManifestFile', 'S3Uri': 'string' } }, 'CompressionType': 'None'|'Gzip', 'TargetAttributeName': 'string', 'ContentType': 'string', 'ChannelType': 'training'|'validation', 'SampleWeightAttributeName': 'string' }, ], 'OutputDataConfig': { 'KmsKeyId': 'string', 'S3OutputPath': 'string' }, 'RoleArn': 'string', 'AutoMLJobObjective': { 'MetricName': 'Accuracy'|'MSE'|'F1'|'F1macro'|'AUC'|'RMSE'|'MAE'|'R2'|'BalancedAccuracy'|'Precision'|'PrecisionMacro'|'Recall'|'RecallMacro'|'MAPE'|'MASE'|'WAPE'|'AverageWeightedQuantileLoss' }, 'ProblemType': 'BinaryClassification'|'MulticlassClassification'|'Regression', 'AutoMLJobConfig': { 'CompletionCriteria': { 'MaxCandidates': 123, 'MaxRuntimePerTrainingJobInSeconds': 123, 'MaxAutoMLJobRuntimeInSeconds': 123 }, 'SecurityConfig': { 'VolumeKmsKeyId': 'string', 'EnableInterContainerTrafficEncryption': True|False, 'VpcConfig': { 'SecurityGroupIds': [ 'string', ], 'Subnets': [ 'string', ] } }, 'DataSplitConfig': { 'ValidationFraction': ... }, 'CandidateGenerationConfig': { 'FeatureSpecificationS3Uri': 'string', 'AlgorithmsConfig': [ { 'AutoMLAlgorithms': [ 'xgboost'|'linear-learner'|'mlp'|'lightgbm'|'catboost'|'randomforest'|'extra-trees'|'nn-torch'|'fastai', ] }, ] }, 'Mode': 'AUTO'|'ENSEMBLING'|'HYPERPARAMETER_TUNING' }, 'CreationTime': datetime(2015, 1, 1), 'EndTime': datetime(2015, 1, 1), 'LastModifiedTime': datetime(2015, 1, 1), 'FailureReason': 'string', 'PartialFailureReasons': [ { 'PartialFailureMessage': 'string' }, ], 'BestCandidate': { 'CandidateName': 'string', 'FinalAutoMLJobObjectiveMetric': { 'Type': 'Maximize'|'Minimize', 'MetricName': 'Accuracy'|'MSE'|'F1'|'F1macro'|'AUC'|'RMSE'|'MAE'|'R2'|'BalancedAccuracy'|'Precision'|'PrecisionMacro'|'Recall'|'RecallMacro'|'MAPE'|'MASE'|'WAPE'|'AverageWeightedQuantileLoss', 'Value': ..., 'StandardMetricName': 'Accuracy'|'MSE'|'F1'|'F1macro'|'AUC'|'RMSE'|'MAE'|'R2'|'BalancedAccuracy'|'Precision'|'PrecisionMacro'|'Recall'|'RecallMacro'|'MAPE'|'MASE'|'WAPE'|'AverageWeightedQuantileLoss' }, 'ObjectiveStatus': 'Succeeded'|'Pending'|'Failed', 'CandidateSteps': [ { 'CandidateStepType': 'AWS::SageMaker::TrainingJob'|'AWS::SageMaker::TransformJob'|'AWS::SageMaker::ProcessingJob', 'CandidateStepArn': 'string', 'CandidateStepName': 'string' }, ], 'CandidateStatus': 'Completed'|'InProgress'|'Failed'|'Stopped'|'Stopping', 'InferenceContainers': [ { 'Image': 'string', 'ModelDataUrl': 'string', 'Environment': { 'string': 'string' } }, ], 'CreationTime': datetime(2015, 1, 1), 'EndTime': datetime(2015, 1, 1), 'LastModifiedTime': datetime(2015, 1, 1), 'FailureReason': 'string', 'CandidateProperties': { 'CandidateArtifactLocations': { 'Explainability': 'string', 'ModelInsights': 'string', 'BacktestResults': 'string' }, 'CandidateMetrics': [ { 'MetricName': 'Accuracy'|'MSE'|'F1'|'F1macro'|'AUC'|'RMSE'|'MAE'|'R2'|'BalancedAccuracy'|'Precision'|'PrecisionMacro'|'Recall'|'RecallMacro'|'MAPE'|'MASE'|'WAPE'|'AverageWeightedQuantileLoss', 'Value': ..., 'Set': 'Train'|'Validation'|'Test', 'StandardMetricName': 'Accuracy'|'MSE'|'F1'|'F1macro'|'AUC'|'RMSE'|'MAE'|'R2'|'BalancedAccuracy'|'Precision'|'PrecisionMacro'|'Recall'|'RecallMacro'|'LogLoss'|'InferenceLatency'|'MAPE'|'MASE'|'WAPE'|'AverageWeightedQuantileLoss' }, ] }, 'InferenceContainerDefinitions': { 'string': [ { 'Image': 'string', 'ModelDataUrl': 'string', 'Environment': { 'string': 'string' } }, ] } }, 'AutoMLJobStatus': 'Completed'|'InProgress'|'Failed'|'Stopped'|'Stopping', 'AutoMLJobSecondaryStatus': 'Starting'|'AnalyzingData'|'FeatureEngineering'|'ModelTuning'|'MaxCandidatesReached'|'Failed'|'Stopped'|'MaxAutoMLJobRuntimeReached'|'Stopping'|'CandidateDefinitionsGenerated'|'GeneratingExplainabilityReport'|'Completed'|'ExplainabilityError'|'DeployingModel'|'ModelDeploymentError'|'GeneratingModelInsightsReport'|'ModelInsightsError'|'TrainingModels'|'PreTraining', 'GenerateCandidateDefinitionsOnly': True|False, 'AutoMLJobArtifacts': { 'CandidateDefinitionNotebookLocation': 'string', 'DataExplorationNotebookLocation': 'string' }, 'ResolvedAttributes': { 'AutoMLJobObjective': { 'MetricName': 'Accuracy'|'MSE'|'F1'|'F1macro'|'AUC'|'RMSE'|'MAE'|'R2'|'BalancedAccuracy'|'Precision'|'PrecisionMacro'|'Recall'|'RecallMacro'|'MAPE'|'MASE'|'WAPE'|'AverageWeightedQuantileLoss' }, 'ProblemType': 'BinaryClassification'|'MulticlassClassification'|'Regression', 'CompletionCriteria': { 'MaxCandidates': 123, 'MaxRuntimePerTrainingJobInSeconds': 123, 'MaxAutoMLJobRuntimeInSeconds': 123 } }, 'ModelDeployConfig': { 'AutoGenerateEndpointName': True|False, 'EndpointName': 'string' }, 'ModelDeployResult': { 'EndpointName': 'string' } }
Response Structure
(dict) --
AutoMLJobName (string) --
Returns the name of the AutoML job.
AutoMLJobArn (string) --
Returns the ARN of the AutoML job.
InputDataConfig (list) --
Returns the input data configuration for the AutoML job.
(dict) --
A channel is a named input source that training algorithms can consume. The validation dataset size is limited to less than 2 GB. The training dataset size must be less than 100 GB. For more information, see Channel.
Note
A validation dataset must contain the same headers as the training dataset.
DataSource (dict) --
The data source for an AutoML channel.
S3DataSource (dict) --
The Amazon S3 location of the input data.
S3DataType (string) --
The data type.
If you choose S3Prefix , S3Uri identifies a key name prefix. SageMaker uses all objects that match the specified key name prefix for model training. The S3Prefix should have the following format: s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER-OR-FILE
If you choose ManifestFile , S3Uri identifies an object that is a manifest file containing a list of object keys that you want SageMaker to use for model training. A ManifestFile should have the format shown below: [ {"prefix": "s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER/DOC-EXAMPLE-PREFIX/"}, "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-1", "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-2", ... "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-N" ]
If you choose AugmentedManifestFile , S3Uri identifies an object that is an augmented manifest file in JSON lines format. This file contains the data you want to use for model training. AugmentedManifestFile is available for V2 API jobs only (for example, for jobs created by calling CreateAutoMLJobV2 ). Here is a minimal, single-record example of an AugmentedManifestFile : {"source-ref": "s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER/cats/cat.jpg", "label-metadata": {"class-name": "cat" } For more information on AugmentedManifestFile , see Provide Dataset Metadata to Training Jobs with an Augmented Manifest File.
S3Uri (string) --
The URL to the Amazon S3 data source. The Uri refers to the Amazon S3 prefix or ManifestFile depending on the data type.
CompressionType (string) --
You can use Gzip or None . The default value is None .
TargetAttributeName (string) --
The name of the target variable in supervised learning, usually represented by 'y'.
ContentType (string) --
The content type of the data from the input source. You can use text/csv;header=present or x-application/vnd.amazon+parquet . The default value is text/csv;header=present .
ChannelType (string) --
The channel type (optional) is an enum string. The default value is training . Channels for training and validation must share the same ContentType and TargetAttributeName . For information on specifying training and validation channel types, see How to specify training and validation datasets.
SampleWeightAttributeName (string) --
If specified, this column name indicates which column of the dataset should be treated as sample weights for use by the objective metric during the training, evaluation, and the selection of the best model. This column is not considered as a predictive feature. For more information on Autopilot metrics, see Metrics and validation.
Sample weights should be numeric, non-negative, with larger values indicating which rows are more important than others. Data points that have invalid or no weight value are excluded.
Support for sample weights is available in Ensembling mode only.
OutputDataConfig (dict) --
Returns the job's output data config.
KmsKeyId (string) --
The Key Management Service (KMS) encryption key ID.
S3OutputPath (string) --
The Amazon S3 output path. Must be 128 characters or less.
RoleArn (string) --
The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that has read permission to the input data location and write permission to the output data location in Amazon S3.
AutoMLJobObjective (dict) --
Returns the job's objective.
MetricName (string) --
The name of the objective metric used to measure the predictive quality of a machine learning system. During training, the model's parameters are updated iteratively to optimize its performance based on the feedback provided by the objective metric when evaluating the model on the validation dataset.
For the list of all available metrics supported by Autopilot, see Autopilot metrics.
If you do not specify a metric explicitly, the default behavior is to automatically use:
For tabular problem types:
Regression: MSE .
Binary classification: F1 .
Multiclass classification: Accuracy .
For image or text classification problem types: Accuracy
For time-series forecasting problem types: AverageWeightedQuantileLoss
ProblemType (string) --
Returns the job's problem type.
AutoMLJobConfig (dict) --
Returns the configuration for the AutoML job.
CompletionCriteria (dict) --
How long an AutoML job is allowed to run, or how many candidates a job is allowed to generate.
MaxCandidates (integer) --
The maximum number of times a training job is allowed to run.
For text and image classification, as well as time-series forecasting problem types, the supported value is 1. For tabular problem types, the maximum value is 750.
MaxRuntimePerTrainingJobInSeconds (integer) --
The maximum time, in seconds, that each training job executed inside hyperparameter tuning is allowed to run as part of a hyperparameter tuning job. For more information, see the StoppingCondition used by the CreateHyperParameterTuningJob action.
For job V2s (jobs created by calling CreateAutoMLJobV2 ), this field controls the runtime of the job candidate.
MaxAutoMLJobRuntimeInSeconds (integer) --
The maximum runtime, in seconds, an AutoML job has to complete.
If an AutoML job exceeds the maximum runtime, the job is stopped automatically and its processing is ended gracefully. The AutoML job identifies the best model whose training was completed and marks it as the best-performing model. Any unfinished steps of the job, such as automatic one-click Autopilot model deployment, are not completed.
SecurityConfig (dict) --
The security configuration for traffic encryption or Amazon VPC settings.
VolumeKmsKeyId (string) --
The key used to encrypt stored data.
EnableInterContainerTrafficEncryption (boolean) --
Whether to use traffic encryption between the container layers.
VpcConfig (dict) --
The VPC configuration.
SecurityGroupIds (list) --
The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for the VPC that is specified in the Subnets field.
(string) --
Subnets (list) --
The ID of the subnets in the VPC to which you want to connect your training job or model. For information about the availability of specific instance types, see Supported Instance Types and Availability Zones.
(string) --
DataSplitConfig (dict) --
The configuration for splitting the input training dataset.
Type: AutoMLDataSplitConfig
ValidationFraction (float) --
The validation fraction (optional) is a float that specifies the portion of the training dataset to be used for validation. The default value is 0.2, and values must be greater than 0 and less than 1. We recommend setting this value to be less than 0.5.
CandidateGenerationConfig (dict) --
The configuration for generating a candidate for an AutoML job (optional).
FeatureSpecificationS3Uri (string) --
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" ... } }
Note
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.
AlgorithmsConfig (list) --
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.
(dict) --
The collection of algorithms run on a dataset for training the model candidates of an Autopilot job.
AutoMLAlgorithms (list) --
The selection of algorithms run on a dataset to train the model candidates of an Autopilot job.
Note
Selected algorithms must belong to the list corresponding to the training mode set in AutoMLJobConfig.Mode ( ENSEMBLING or HYPERPARAMETER_TUNING ). Choose a minimum of 1 algorithm.
In ENSEMBLING mode:
"catboost"
"extra-trees"
"fastai"
"lightgbm"
"linear-learner"
"nn-torch"
"randomforest"
"xgboost"
In HYPERPARAMETER_TUNING mode:
"linear-learner"
"mlp"
"xgboost"
(string) --
Mode (string) --
The method that Autopilot uses to train the data. You can either specify the mode manually or let Autopilot choose for you based on the dataset size by selecting AUTO . In AUTO mode, Autopilot chooses ENSEMBLING for datasets smaller than 100 MB, and HYPERPARAMETER_TUNING for larger ones.
The ENSEMBLING mode uses a multi-stack ensemble model to predict classification and regression tasks directly from your dataset. This machine learning mode combines several base models to produce an optimal predictive model. It then uses a stacking ensemble method to combine predictions from contributing members. A multi-stack ensemble model can provide better performance over a single model by combining the predictive capabilities of multiple models. See Autopilot algorithm support for a list of algorithms supported by ENSEMBLING mode.
The HYPERPARAMETER_TUNING (HPO) mode uses the best hyperparameters to train the best version of a model. HPO automatically selects an algorithm for the type of problem you want to solve. Then HPO finds the best hyperparameters according to your objective metric. See Autopilot algorithm support for a list of algorithms supported by HYPERPARAMETER_TUNING mode.
CreationTime (datetime) --
Returns the creation time of the AutoML job.
EndTime (datetime) --
Returns the end time of the AutoML job.
LastModifiedTime (datetime) --
Returns the job's last modified time.
FailureReason (string) --
Returns the failure reason for an AutoML job, when applicable.
PartialFailureReasons (list) --
Returns a list of reasons for partial failures within an AutoML job.
(dict) --
The reason for a partial failure of an AutoML job.
PartialFailureMessage (string) --
The message containing the reason for a partial failure of an AutoML job.
BestCandidate (dict) --
The best model candidate selected by SageMaker Autopilot using both the best objective metric and lowest InferenceLatency for an experiment.
CandidateName (string) --
The name of the candidate.
FinalAutoMLJobObjectiveMetric (dict) --
The best candidate result from an AutoML training job.
Type (string) --
The type of metric with the best result.
MetricName (string) --
The name of the metric with the best result. For a description of the possible objective metrics, see AutoMLJobObjective$MetricName.
Value (float) --
The value of the metric with the best result.
StandardMetricName (string) --
The name of the standard metric. For a description of the standard metrics, see Autopilot candidate metrics.
ObjectiveStatus (string) --
The objective's status.
CandidateSteps (list) --
Information about the candidate's steps.
(dict) --
Information about the steps for a candidate and what step it is working on.
CandidateStepType (string) --
Whether the candidate is at the transform, training, or processing step.
CandidateStepArn (string) --
The ARN for the candidate's step.
CandidateStepName (string) --
The name for the candidate's step.
CandidateStatus (string) --
The candidate's status.
InferenceContainers (list) --
Information about the recommended inference container definitions.
(dict) --
A list of container definitions that describe the different containers that make up an AutoML candidate. For more information, see ContainerDefinition.
Image (string) --
The Amazon Elastic Container Registry (Amazon ECR) path of the container. For more information, see ContainerDefinition.
ModelDataUrl (string) --
The location of the model artifacts. For more information, see ContainerDefinition.
Environment (dict) --
The environment variables to set in the container. For more information, see ContainerDefinition.
(string) --
(string) --
CreationTime (datetime) --
The creation time.
EndTime (datetime) --
The end time.
LastModifiedTime (datetime) --
The last modified time.
FailureReason (string) --
The failure reason.
CandidateProperties (dict) --
The properties of an AutoML candidate job.
CandidateArtifactLocations (dict) --
The Amazon S3 prefix to the artifacts generated for an AutoML candidate.
Explainability (string) --
The Amazon S3 prefix to the explainability artifacts generated for the AutoML candidate.
ModelInsights (string) --
The Amazon S3 prefix to the model insight artifacts generated for the AutoML candidate.
BacktestResults (string) --
The Amazon S3 prefix to the accuracy metrics and the inference results observed over the testing window. Available only for the time-series forecasting problem type.
CandidateMetrics (list) --
Information about the candidate metrics for an AutoML job.
(dict) --
Information about the metric for a candidate produced by an AutoML job.
MetricName (string) --
The name of the metric.
Value (float) --
The value of the metric.
Set (string) --
The dataset split from which the AutoML job produced the metric.
StandardMetricName (string) --
The name of the standard metric.
Note
For definitions of the standard metrics, see Autopilot candidate metrics.
InferenceContainerDefinitions (dict) --
The mapping of all supported processing unit (CPU, GPU, etc...) to inference container definitions for the candidate. This field is populated for the AutoML jobs V2 (for example, for jobs created by calling CreateAutoMLJobV2 ) related to image or text classification problem types only.
(string) --
Processing unit for an inference container. Currently Autopilot only supports CPU or GPU .
(list) --
Information about the recommended inference container definitions.
(dict) --
A list of container definitions that describe the different containers that make up an AutoML candidate. For more information, see ContainerDefinition.
Image (string) --
The Amazon Elastic Container Registry (Amazon ECR) path of the container. For more information, see ContainerDefinition.
ModelDataUrl (string) --
The location of the model artifacts. For more information, see ContainerDefinition.
Environment (dict) --
The environment variables to set in the container. For more information, see ContainerDefinition.
(string) --
(string) --
AutoMLJobStatus (string) --
Returns the status of the AutoML job.
AutoMLJobSecondaryStatus (string) --
Returns the secondary status of the AutoML job.
GenerateCandidateDefinitionsOnly (boolean) --
Indicates whether the output for an AutoML job generates candidate definitions only.
AutoMLJobArtifacts (dict) --
Returns information on the job's artifacts found in AutoMLJobArtifacts .
CandidateDefinitionNotebookLocation (string) --
The URL of the notebook location.
DataExplorationNotebookLocation (string) --
The URL of the notebook location.
ResolvedAttributes (dict) --
Contains ProblemType , AutoMLJobObjective , and CompletionCriteria . If you do not provide these values, they are inferred.
AutoMLJobObjective (dict) --
Specifies a metric to minimize or maximize as the objective of a job.
MetricName (string) --
The name of the objective metric used to measure the predictive quality of a machine learning system. During training, the model's parameters are updated iteratively to optimize its performance based on the feedback provided by the objective metric when evaluating the model on the validation dataset.
For the list of all available metrics supported by Autopilot, see Autopilot metrics.
If you do not specify a metric explicitly, the default behavior is to automatically use:
For tabular problem types:
Regression: MSE .
Binary classification: F1 .
Multiclass classification: Accuracy .
For image or text classification problem types: Accuracy
For time-series forecasting problem types: AverageWeightedQuantileLoss
ProblemType (string) --
The problem type.
CompletionCriteria (dict) --
How long a job is allowed to run, or how many candidates a job is allowed to generate.
MaxCandidates (integer) --
The maximum number of times a training job is allowed to run.
For text and image classification, as well as time-series forecasting problem types, the supported value is 1. For tabular problem types, the maximum value is 750.
MaxRuntimePerTrainingJobInSeconds (integer) --
The maximum time, in seconds, that each training job executed inside hyperparameter tuning is allowed to run as part of a hyperparameter tuning job. For more information, see the StoppingCondition used by the CreateHyperParameterTuningJob action.
For job V2s (jobs created by calling CreateAutoMLJobV2 ), this field controls the runtime of the job candidate.
MaxAutoMLJobRuntimeInSeconds (integer) --
The maximum runtime, in seconds, an AutoML job has to complete.
If an AutoML job exceeds the maximum runtime, the job is stopped automatically and its processing is ended gracefully. The AutoML job identifies the best model whose training was completed and marks it as the best-performing model. Any unfinished steps of the job, such as automatic one-click Autopilot model deployment, are not completed.
ModelDeployConfig (dict) --
Indicates whether the model was deployed automatically to an endpoint and the name of that endpoint if deployed automatically.
AutoGenerateEndpointName (boolean) --
Set to True to automatically generate an endpoint name for a one-click Autopilot model deployment; set to False otherwise. The default value is False .
Note
If you set AutoGenerateEndpointName to True , do not specify the EndpointName ; otherwise a 400 error is thrown.
EndpointName (string) --
Specifies the endpoint name to use for a one-click Autopilot model deployment if the endpoint name is not generated automatically.
Note
Specify the EndpointName if and only if you set AutoGenerateEndpointName to False ; otherwise a 400 error is thrown.
ModelDeployResult (dict) --
Provides information about endpoint for the model deployment.
EndpointName (string) --
The name of the endpoint to which the model has been deployed.
Note
If model deployment fails, this field is omitted from the response.
{'AutoMLJobObjective': {'MetricName': {'AverageWeightedQuantileLoss', 'MAPE', 'MASE', 'WAPE'}}, 'AutoMLJobSecondaryStatus': {'PreTraining'}, 'AutoMLProblemTypeConfig': {'TimeSeriesForecastingJobConfig': {'CompletionCriteria': {'MaxAutoMLJobRuntimeInSeconds': 'integer', 'MaxCandidates': 'integer', 'MaxRuntimePerTrainingJobInSeconds': 'integer'}, 'FeatureSpecificationS3Uri': 'string', 'ForecastFrequency': 'string', 'ForecastHorizon': 'integer', 'ForecastQuantiles': ['string'], 'TimeSeriesConfig': {'GroupingAttributeNames': ['string'], 'ItemIdentifierAttributeName': 'string', 'TargetAttributeName': 'string', 'TimestampAttributeName': 'string'}, 'Transformations': {'Aggregation': {'string': 'sum ' '| ' 'avg ' '| ' 'first ' '| ' 'min ' '| ' 'max'}, 'Filling': {'string': {'frontfill | middlefill | backfill | futurefill | frontfill_value | middlefill_value | backfill_value | futurefill_value': 'string'}}}}}, 'AutoMLProblemTypeConfigName': {'TimeSeriesForecasting'}, 'BestCandidate': {'CandidateProperties': {'CandidateArtifactLocations': {'BacktestResults': 'string'}, 'CandidateMetrics': {'MetricName': {'AverageWeightedQuantileLoss', 'MAPE', 'MASE', 'WAPE'}, 'StandardMetricName': {'AverageWeightedQuantileLoss', 'MAPE', 'MASE', 'WAPE'}}}, 'FinalAutoMLJobObjectiveMetric': {'MetricName': {'AverageWeightedQuantileLoss', 'MAPE', 'MASE', 'WAPE'}, 'StandardMetricName': {'AverageWeightedQuantileLoss', 'MAPE', 'MASE', 'WAPE'}}}, 'ResolvedAttributes': {'AutoMLJobObjective': {'MetricName': {'AverageWeightedQuantileLoss', 'MAPE', 'MASE', 'WAPE'}}}}
Returns information about an AutoML job created by calling CreateAutoMLJobV2 or CreateAutoMLJob.
See also: AWS API Documentation
Request Syntax
client.describe_auto_ml_job_v2( AutoMLJobName='string' )
string
[REQUIRED]
Requests information about an AutoML job V2 using its unique name.
dict
Response Syntax
{ 'AutoMLJobName': 'string', 'AutoMLJobArn': 'string', 'AutoMLJobInputDataConfig': [ { 'ChannelType': 'training'|'validation', 'ContentType': 'string', 'CompressionType': 'None'|'Gzip', 'DataSource': { 'S3DataSource': { 'S3DataType': 'ManifestFile'|'S3Prefix'|'AugmentedManifestFile', 'S3Uri': 'string' } } }, ], 'OutputDataConfig': { 'KmsKeyId': 'string', 'S3OutputPath': 'string' }, 'RoleArn': 'string', 'AutoMLJobObjective': { 'MetricName': 'Accuracy'|'MSE'|'F1'|'F1macro'|'AUC'|'RMSE'|'MAE'|'R2'|'BalancedAccuracy'|'Precision'|'PrecisionMacro'|'Recall'|'RecallMacro'|'MAPE'|'MASE'|'WAPE'|'AverageWeightedQuantileLoss' }, 'AutoMLProblemTypeConfig': { 'ImageClassificationJobConfig': { 'CompletionCriteria': { 'MaxCandidates': 123, 'MaxRuntimePerTrainingJobInSeconds': 123, 'MaxAutoMLJobRuntimeInSeconds': 123 } }, 'TextClassificationJobConfig': { 'CompletionCriteria': { 'MaxCandidates': 123, 'MaxRuntimePerTrainingJobInSeconds': 123, 'MaxAutoMLJobRuntimeInSeconds': 123 }, 'ContentColumn': 'string', 'TargetLabelColumn': 'string' }, 'TabularJobConfig': { 'CandidateGenerationConfig': { 'AlgorithmsConfig': [ { 'AutoMLAlgorithms': [ 'xgboost'|'linear-learner'|'mlp'|'lightgbm'|'catboost'|'randomforest'|'extra-trees'|'nn-torch'|'fastai', ] }, ] }, 'CompletionCriteria': { 'MaxCandidates': 123, 'MaxRuntimePerTrainingJobInSeconds': 123, 'MaxAutoMLJobRuntimeInSeconds': 123 }, 'FeatureSpecificationS3Uri': 'string', 'Mode': 'AUTO'|'ENSEMBLING'|'HYPERPARAMETER_TUNING', 'GenerateCandidateDefinitionsOnly': True|False, 'ProblemType': 'BinaryClassification'|'MulticlassClassification'|'Regression', 'TargetAttributeName': 'string', 'SampleWeightAttributeName': 'string' }, 'TimeSeriesForecastingJobConfig': { 'FeatureSpecificationS3Uri': 'string', 'CompletionCriteria': { 'MaxCandidates': 123, 'MaxRuntimePerTrainingJobInSeconds': 123, 'MaxAutoMLJobRuntimeInSeconds': 123 }, 'ForecastFrequency': 'string', 'ForecastHorizon': 123, 'ForecastQuantiles': [ 'string', ], 'Transformations': { 'Filling': { 'string': { 'string': 'string' } }, 'Aggregation': { 'string': 'sum'|'avg'|'first'|'min'|'max' } }, 'TimeSeriesConfig': { 'TargetAttributeName': 'string', 'TimestampAttributeName': 'string', 'ItemIdentifierAttributeName': 'string', 'GroupingAttributeNames': [ 'string', ] } } }, 'CreationTime': datetime(2015, 1, 1), 'EndTime': datetime(2015, 1, 1), 'LastModifiedTime': datetime(2015, 1, 1), 'FailureReason': 'string', 'PartialFailureReasons': [ { 'PartialFailureMessage': 'string' }, ], 'BestCandidate': { 'CandidateName': 'string', 'FinalAutoMLJobObjectiveMetric': { 'Type': 'Maximize'|'Minimize', 'MetricName': 'Accuracy'|'MSE'|'F1'|'F1macro'|'AUC'|'RMSE'|'MAE'|'R2'|'BalancedAccuracy'|'Precision'|'PrecisionMacro'|'Recall'|'RecallMacro'|'MAPE'|'MASE'|'WAPE'|'AverageWeightedQuantileLoss', 'Value': ..., 'StandardMetricName': 'Accuracy'|'MSE'|'F1'|'F1macro'|'AUC'|'RMSE'|'MAE'|'R2'|'BalancedAccuracy'|'Precision'|'PrecisionMacro'|'Recall'|'RecallMacro'|'MAPE'|'MASE'|'WAPE'|'AverageWeightedQuantileLoss' }, 'ObjectiveStatus': 'Succeeded'|'Pending'|'Failed', 'CandidateSteps': [ { 'CandidateStepType': 'AWS::SageMaker::TrainingJob'|'AWS::SageMaker::TransformJob'|'AWS::SageMaker::ProcessingJob', 'CandidateStepArn': 'string', 'CandidateStepName': 'string' }, ], 'CandidateStatus': 'Completed'|'InProgress'|'Failed'|'Stopped'|'Stopping', 'InferenceContainers': [ { 'Image': 'string', 'ModelDataUrl': 'string', 'Environment': { 'string': 'string' } }, ], 'CreationTime': datetime(2015, 1, 1), 'EndTime': datetime(2015, 1, 1), 'LastModifiedTime': datetime(2015, 1, 1), 'FailureReason': 'string', 'CandidateProperties': { 'CandidateArtifactLocations': { 'Explainability': 'string', 'ModelInsights': 'string', 'BacktestResults': 'string' }, 'CandidateMetrics': [ { 'MetricName': 'Accuracy'|'MSE'|'F1'|'F1macro'|'AUC'|'RMSE'|'MAE'|'R2'|'BalancedAccuracy'|'Precision'|'PrecisionMacro'|'Recall'|'RecallMacro'|'MAPE'|'MASE'|'WAPE'|'AverageWeightedQuantileLoss', 'Value': ..., 'Set': 'Train'|'Validation'|'Test', 'StandardMetricName': 'Accuracy'|'MSE'|'F1'|'F1macro'|'AUC'|'RMSE'|'MAE'|'R2'|'BalancedAccuracy'|'Precision'|'PrecisionMacro'|'Recall'|'RecallMacro'|'LogLoss'|'InferenceLatency'|'MAPE'|'MASE'|'WAPE'|'AverageWeightedQuantileLoss' }, ] }, 'InferenceContainerDefinitions': { 'string': [ { 'Image': 'string', 'ModelDataUrl': 'string', 'Environment': { 'string': 'string' } }, ] } }, 'AutoMLJobStatus': 'Completed'|'InProgress'|'Failed'|'Stopped'|'Stopping', 'AutoMLJobSecondaryStatus': 'Starting'|'AnalyzingData'|'FeatureEngineering'|'ModelTuning'|'MaxCandidatesReached'|'Failed'|'Stopped'|'MaxAutoMLJobRuntimeReached'|'Stopping'|'CandidateDefinitionsGenerated'|'GeneratingExplainabilityReport'|'Completed'|'ExplainabilityError'|'DeployingModel'|'ModelDeploymentError'|'GeneratingModelInsightsReport'|'ModelInsightsError'|'TrainingModels'|'PreTraining', 'ModelDeployConfig': { 'AutoGenerateEndpointName': True|False, 'EndpointName': 'string' }, 'ModelDeployResult': { 'EndpointName': 'string' }, 'DataSplitConfig': { 'ValidationFraction': ... }, 'SecurityConfig': { 'VolumeKmsKeyId': 'string', 'EnableInterContainerTrafficEncryption': True|False, 'VpcConfig': { 'SecurityGroupIds': [ 'string', ], 'Subnets': [ 'string', ] } }, 'AutoMLJobArtifacts': { 'CandidateDefinitionNotebookLocation': 'string', 'DataExplorationNotebookLocation': 'string' }, 'ResolvedAttributes': { 'AutoMLJobObjective': { 'MetricName': 'Accuracy'|'MSE'|'F1'|'F1macro'|'AUC'|'RMSE'|'MAE'|'R2'|'BalancedAccuracy'|'Precision'|'PrecisionMacro'|'Recall'|'RecallMacro'|'MAPE'|'MASE'|'WAPE'|'AverageWeightedQuantileLoss' }, 'CompletionCriteria': { 'MaxCandidates': 123, 'MaxRuntimePerTrainingJobInSeconds': 123, 'MaxAutoMLJobRuntimeInSeconds': 123 }, 'AutoMLProblemTypeResolvedAttributes': { 'TabularResolvedAttributes': { 'ProblemType': 'BinaryClassification'|'MulticlassClassification'|'Regression' } } }, 'AutoMLProblemTypeConfigName': 'ImageClassification'|'TextClassification'|'Tabular'|'TimeSeriesForecasting' }
Response Structure
(dict) --
AutoMLJobName (string) --
Returns the name of the AutoML job V2.
AutoMLJobArn (string) --
Returns the Amazon Resource Name (ARN) of the AutoML job V2.
AutoMLJobInputDataConfig (list) --
Returns an array of channel objects describing the input data and their location.
(dict) --
A channel is a named input source that training algorithms can consume. This channel is used for AutoML jobs V2 (jobs created by calling CreateAutoMLJobV2 ).
ChannelType (string) --
The type of channel. Defines whether the data are used for training or validation. The default value is training . Channels for training and validation must share the same ContentType
Note
The type of channel defaults to training for the time-series forecasting problem type.
ContentType (string) --
The content type of the data from the input source. The following are the allowed content types for different problems:
For tabular problem types: text/csv;header=present or x-application/vnd.amazon+parquet . The default value is text/csv;header=present .
For image classification: image/png , image/jpeg , or image/* . The default value is image/* .
For text classification: text/csv;header=present or x-application/vnd.amazon+parquet . The default value is text/csv;header=present .
For time-series forecasting: text/csv;header=present or x-application/vnd.amazon+parquet . The default value is text/csv;header=present .
CompressionType (string) --
The allowed compression types depend on the input format and problem type. We allow the compression type Gzip for S3Prefix inputs on tabular data only. For all other inputs, the compression type should be None . If no compression type is provided, we default to None .
DataSource (dict) --
The data source for an AutoML channel (Required).
S3DataSource (dict) --
The Amazon S3 location of the input data.
S3DataType (string) --
The data type.
If you choose S3Prefix , S3Uri identifies a key name prefix. SageMaker uses all objects that match the specified key name prefix for model training. The S3Prefix should have the following format: s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER-OR-FILE
If you choose ManifestFile , S3Uri identifies an object that is a manifest file containing a list of object keys that you want SageMaker to use for model training. A ManifestFile should have the format shown below: [ {"prefix": "s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER/DOC-EXAMPLE-PREFIX/"}, "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-1", "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-2", ... "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-N" ]
If you choose AugmentedManifestFile , S3Uri identifies an object that is an augmented manifest file in JSON lines format. This file contains the data you want to use for model training. AugmentedManifestFile is available for V2 API jobs only (for example, for jobs created by calling CreateAutoMLJobV2 ). Here is a minimal, single-record example of an AugmentedManifestFile : {"source-ref": "s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER/cats/cat.jpg", "label-metadata": {"class-name": "cat" } For more information on AugmentedManifestFile , see Provide Dataset Metadata to Training Jobs with an Augmented Manifest File.
S3Uri (string) --
The URL to the Amazon S3 data source. The Uri refers to the Amazon S3 prefix or ManifestFile depending on the data type.
OutputDataConfig (dict) --
Returns the job's output data config.
KmsKeyId (string) --
The Key Management Service (KMS) encryption key ID.
S3OutputPath (string) --
The Amazon S3 output path. Must be 128 characters or less.
RoleArn (string) --
The ARN of the Identity and Access Management role that has read permission to the input data location and write permission to the output data location in Amazon S3.
AutoMLJobObjective (dict) --
Returns the job's objective.
MetricName (string) --
The name of the objective metric used to measure the predictive quality of a machine learning system. During training, the model's parameters are updated iteratively to optimize its performance based on the feedback provided by the objective metric when evaluating the model on the validation dataset.
For the list of all available metrics supported by Autopilot, see Autopilot metrics.
If you do not specify a metric explicitly, the default behavior is to automatically use:
For tabular problem types:
Regression: MSE .
Binary classification: F1 .
Multiclass classification: Accuracy .
For image or text classification problem types: Accuracy
For time-series forecasting problem types: AverageWeightedQuantileLoss
AutoMLProblemTypeConfig (dict) --
Returns the configuration settings of the problem type set for the AutoML job V2.
Note
This is a Tagged Union structure. Only one of the following top level keys will be set: ImageClassificationJobConfig, TextClassificationJobConfig, TabularJobConfig, TimeSeriesForecastingJobConfig. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:
'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
ImageClassificationJobConfig (dict) --
Settings used to configure an AutoML job V2 for the image classification problem type.
CompletionCriteria (dict) --
How long a job is allowed to run, or how many candidates a job is allowed to generate.
MaxCandidates (integer) --
The maximum number of times a training job is allowed to run.
For text and image classification, as well as time-series forecasting problem types, the supported value is 1. For tabular problem types, the maximum value is 750.
MaxRuntimePerTrainingJobInSeconds (integer) --
The maximum time, in seconds, that each training job executed inside hyperparameter tuning is allowed to run as part of a hyperparameter tuning job. For more information, see the StoppingCondition used by the CreateHyperParameterTuningJob action.
For job V2s (jobs created by calling CreateAutoMLJobV2 ), this field controls the runtime of the job candidate.
MaxAutoMLJobRuntimeInSeconds (integer) --
The maximum runtime, in seconds, an AutoML job has to complete.
If an AutoML job exceeds the maximum runtime, the job is stopped automatically and its processing is ended gracefully. The AutoML job identifies the best model whose training was completed and marks it as the best-performing model. Any unfinished steps of the job, such as automatic one-click Autopilot model deployment, are not completed.
TextClassificationJobConfig (dict) --
Settings used to configure an AutoML job V2 for the text classification problem type.
CompletionCriteria (dict) --
How long a job is allowed to run, or how many candidates a job is allowed to generate.
MaxCandidates (integer) --
The maximum number of times a training job is allowed to run.
For text and image classification, as well as time-series forecasting problem types, the supported value is 1. For tabular problem types, the maximum value is 750.
MaxRuntimePerTrainingJobInSeconds (integer) --
The maximum time, in seconds, that each training job executed inside hyperparameter tuning is allowed to run as part of a hyperparameter tuning job. For more information, see the StoppingCondition used by the CreateHyperParameterTuningJob action.
For job V2s (jobs created by calling CreateAutoMLJobV2 ), this field controls the runtime of the job candidate.
MaxAutoMLJobRuntimeInSeconds (integer) --
The maximum runtime, in seconds, an AutoML job has to complete.
If an AutoML job exceeds the maximum runtime, the job is stopped automatically and its processing is ended gracefully. The AutoML job identifies the best model whose training was completed and marks it as the best-performing model. Any unfinished steps of the job, such as automatic one-click Autopilot model deployment, are not completed.
ContentColumn (string) --
The name of the column used to provide the sentences to be classified. It should not be the same as the target column (Required).
TargetLabelColumn (string) --
The name of the column used to provide the class labels. It should not be same as the content column (Required).
TabularJobConfig (dict) --
Settings used to configure an AutoML job V2 for a tabular problem type (regression, classification).
CandidateGenerationConfig (dict) --
The configuration information of how model candidates are generated.
AlgorithmsConfig (list) --
Stores the configuration information for the selection of algorithms used to train model candidates on tabular data.
The list of available algorithms to choose from depends on the training mode set in TabularJobConfig.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, CandidateGenerationConfig uses the full set of algorithms for the given training mode.
When AlgorithmsConfig is not provided, CandidateGenerationConfig uses the full set of algorithms for the given training mode.
For the list of all algorithms per problem type and training mode, see AutoMLAlgorithmConfig.
For more information on each algorithm, see the Algorithm support section in Autopilot developer guide.
(dict) --
The collection of algorithms run on a dataset for training the model candidates of an Autopilot job.
AutoMLAlgorithms (list) --
The selection of algorithms run on a dataset to train the model candidates of an Autopilot job.
Note
Selected algorithms must belong to the list corresponding to the training mode set in AutoMLJobConfig.Mode ( ENSEMBLING or HYPERPARAMETER_TUNING ). Choose a minimum of 1 algorithm.
In ENSEMBLING mode:
"catboost"
"extra-trees"
"fastai"
"lightgbm"
"linear-learner"
"nn-torch"
"randomforest"
"xgboost"
In HYPERPARAMETER_TUNING mode:
"linear-learner"
"mlp"
"xgboost"
(string) --
CompletionCriteria (dict) --
How long a job is allowed to run, or how many candidates a job is allowed to generate.
MaxCandidates (integer) --
The maximum number of times a training job is allowed to run.
For text and image classification, as well as time-series forecasting problem types, the supported value is 1. For tabular problem types, the maximum value is 750.
MaxRuntimePerTrainingJobInSeconds (integer) --
The maximum time, in seconds, that each training job executed inside hyperparameter tuning is allowed to run as part of a hyperparameter tuning job. For more information, see the StoppingCondition used by the CreateHyperParameterTuningJob action.
For job V2s (jobs created by calling CreateAutoMLJobV2 ), this field controls the runtime of the job candidate.
MaxAutoMLJobRuntimeInSeconds (integer) --
The maximum runtime, in seconds, an AutoML job has to complete.
If an AutoML job exceeds the maximum runtime, the job is stopped automatically and its processing is ended gracefully. The AutoML job identifies the best model whose training was completed and marks it as the best-performing model. Any unfinished steps of the job, such as automatic one-click Autopilot model deployment, are not completed.
FeatureSpecificationS3Uri (string) --
A URL to the Amazon S3 data source containing selected features from the input data source to run an Autopilot job V2. 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" ... } }
Note
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.
Mode (string) --
The method that Autopilot uses to train the data. You can either specify the mode manually or let Autopilot choose for you based on the dataset size by selecting AUTO . In AUTO mode, Autopilot chooses ENSEMBLING for datasets smaller than 100 MB, and HYPERPARAMETER_TUNING for larger ones.
The ENSEMBLING mode uses a multi-stack ensemble model to predict classification and regression tasks directly from your dataset. This machine learning mode combines several base models to produce an optimal predictive model. It then uses a stacking ensemble method to combine predictions from contributing members. A multi-stack ensemble model can provide better performance over a single model by combining the predictive capabilities of multiple models. See Autopilot algorithm support for a list of algorithms supported by ENSEMBLING mode.
The HYPERPARAMETER_TUNING (HPO) mode uses the best hyperparameters to train the best version of a model. HPO automatically selects an algorithm for the type of problem you want to solve. Then HPO finds the best hyperparameters according to your objective metric. See Autopilot algorithm support for a list of algorithms supported by HYPERPARAMETER_TUNING mode.
GenerateCandidateDefinitionsOnly (boolean) --
Generates possible candidates without training the models. A model candidate is a combination of data preprocessors, algorithms, and algorithm parameter settings.
ProblemType (string) --
The type of supervised learning problem available for the model candidates of the AutoML job V2. For more information, see Amazon SageMaker Autopilot problem types.
Note
You must either specify the type of supervised learning problem in ProblemType and provide the AutoMLJobObjective metric, or none at all.
TargetAttributeName (string) --
The name of the target variable in supervised learning, usually represented by 'y'.
SampleWeightAttributeName (string) --
If specified, this column name indicates which column of the dataset should be treated as sample weights for use by the objective metric during the training, evaluation, and the selection of the best model. This column is not considered as a predictive feature. For more information on Autopilot metrics, see Metrics and validation.
Sample weights should be numeric, non-negative, with larger values indicating which rows are more important than others. Data points that have invalid or no weight value are excluded.
Support for sample weights is available in Ensembling mode only.
TimeSeriesForecastingJobConfig (dict) --
Settings used to configure an AutoML job V2 for a time-series forecasting problem type.
FeatureSpecificationS3Uri (string) --
A URL to the Amazon S3 data source containing additional selected features that complement the target, itemID, timestamp, and grouped columns set in TimeSeriesConfig . When not provided, the AutoML job V2 includes all the columns from the original dataset that are not already declared in TimeSeriesConfig . If provided, the AutoML job V2 only considers these additional columns as a complement to the ones declared in TimeSeriesConfig .
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" ... } }
Autopilot supports the following data types: numeric , categorical , text , and datetime .
Note
These column keys must not include any column set in TimeSeriesConfig .
When not provided, the AutoML job V2 includes all the columns from the original dataset that are not already declared in TimeSeriesConfig . If provided, the AutoML job V2 only considers these additional columns as a complement to the ones declared in TimeSeriesConfig .
Autopilot supports the following data types: numeric , categorical , text , and datetime .
CompletionCriteria (dict) --
How long a job is allowed to run, or how many candidates a job is allowed to generate.
MaxCandidates (integer) --
The maximum number of times a training job is allowed to run.
For text and image classification, as well as time-series forecasting problem types, the supported value is 1. For tabular problem types, the maximum value is 750.
MaxRuntimePerTrainingJobInSeconds (integer) --
The maximum time, in seconds, that each training job executed inside hyperparameter tuning is allowed to run as part of a hyperparameter tuning job. For more information, see the StoppingCondition used by the CreateHyperParameterTuningJob action.
For job V2s (jobs created by calling CreateAutoMLJobV2 ), this field controls the runtime of the job candidate.
MaxAutoMLJobRuntimeInSeconds (integer) --
The maximum runtime, in seconds, an AutoML job has to complete.
If an AutoML job exceeds the maximum runtime, the job is stopped automatically and its processing is ended gracefully. The AutoML job identifies the best model whose training was completed and marks it as the best-performing model. Any unfinished steps of the job, such as automatic one-click Autopilot model deployment, are not completed.
ForecastFrequency (string) --
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. The value of a frequency must not overlap with the next larger frequency. For example, you must use a frequency of 1H instead of 60min .
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
ForecastHorizon (integer) --
The number of time-steps that the model predicts. The forecast horizon is also called the prediction length. The maximum forecast horizon is the lesser of 500 time-steps or 1/4 of the time-steps in the dataset.
ForecastQuantiles (list) --
The quantiles used to train the model for forecasts at a specified quantile. You can specify quantiles from 0.01 (p1) to 0.99 (p99), by increments of 0.01 or higher. Up to five forecast quantiles can be specified. When ForecastQuantiles is not provided, the AutoML job uses the quantiles p10, p50, and p90 as default.
(string) --
Transformations (dict) --
The transformations modifying specific attributes of the time-series, such as filling strategies for missing values.
Filling (dict) --
A key value pair defining the filling method for a column, where the key is the column name and the value is an object which defines the filling logic. You can specify multiple filling methods for a single column.
The supported filling methods and their corresponding options are:
frontfill : none (Supported only for target column)
middlefill : zero , value , median , mean , min , max
backfill : zero , value , median , mean , min , max
futurefill : zero , value , median , mean , min , max
To set a filling method to a specific value, set the fill parameter to the chosen filling method value (for example "backfill" : "value" ), and define the filling value in an additional parameter prefixed with "_value". For example, to set backfill to a value of 2 , you must include two parameters: "backfill": "value" and "backfill_value":"2" .
(string) --
(dict) --
(string) --
(string) --
Aggregation (dict) --
A key value pair defining the aggregation method for a column, where the key is the column name and the value is the aggregation method.
The supported aggregation methods are sum (default), avg , first , min , max .
Note
Aggregation is only supported for the target column.
(string) --
(string) --
TimeSeriesConfig (dict) --
The collection of components that defines the time-series.
TargetAttributeName (string) --
The name of the column representing the target variable that you want to predict for each item in your dataset. The data type of the target variable must be numerical.
TimestampAttributeName (string) --
The name of the column indicating a point in time at which the target value of a given item is recorded.
ItemIdentifierAttributeName (string) --
The name of the column that represents the set of item identifiers for which you want to predict the target value.
GroupingAttributeNames (list) --
A set of columns names that can be grouped with the item identifier column to create a composite key for which a target value is predicted.
(string) --
CreationTime (datetime) --
Returns the creation time of the AutoML job V2.
EndTime (datetime) --
Returns the end time of the AutoML job V2.
LastModifiedTime (datetime) --
Returns the job's last modified time.
FailureReason (string) --
Returns the reason for the failure of the AutoML job V2, when applicable.
PartialFailureReasons (list) --
Returns a list of reasons for partial failures within an AutoML job V2.
(dict) --
The reason for a partial failure of an AutoML job.
PartialFailureMessage (string) --
The message containing the reason for a partial failure of an AutoML job.
BestCandidate (dict) --
Information about the candidate produced by an AutoML training job V2, including its status, steps, and other properties.
CandidateName (string) --
The name of the candidate.
FinalAutoMLJobObjectiveMetric (dict) --
The best candidate result from an AutoML training job.
Type (string) --
The type of metric with the best result.
MetricName (string) --
The name of the metric with the best result. For a description of the possible objective metrics, see AutoMLJobObjective$MetricName.
Value (float) --
The value of the metric with the best result.
StandardMetricName (string) --
The name of the standard metric. For a description of the standard metrics, see Autopilot candidate metrics.
ObjectiveStatus (string) --
The objective's status.
CandidateSteps (list) --
Information about the candidate's steps.
(dict) --
Information about the steps for a candidate and what step it is working on.
CandidateStepType (string) --
Whether the candidate is at the transform, training, or processing step.
CandidateStepArn (string) --
The ARN for the candidate's step.
CandidateStepName (string) --
The name for the candidate's step.
CandidateStatus (string) --
The candidate's status.
InferenceContainers (list) --
Information about the recommended inference container definitions.
(dict) --
A list of container definitions that describe the different containers that make up an AutoML candidate. For more information, see ContainerDefinition.
Image (string) --
The Amazon Elastic Container Registry (Amazon ECR) path of the container. For more information, see ContainerDefinition.
ModelDataUrl (string) --
The location of the model artifacts. For more information, see ContainerDefinition.
Environment (dict) --
The environment variables to set in the container. For more information, see ContainerDefinition.
(string) --
(string) --
CreationTime (datetime) --
The creation time.
EndTime (datetime) --
The end time.
LastModifiedTime (datetime) --
The last modified time.
FailureReason (string) --
The failure reason.
CandidateProperties (dict) --
The properties of an AutoML candidate job.
CandidateArtifactLocations (dict) --
The Amazon S3 prefix to the artifacts generated for an AutoML candidate.
Explainability (string) --
The Amazon S3 prefix to the explainability artifacts generated for the AutoML candidate.
ModelInsights (string) --
The Amazon S3 prefix to the model insight artifacts generated for the AutoML candidate.
BacktestResults (string) --
The Amazon S3 prefix to the accuracy metrics and the inference results observed over the testing window. Available only for the time-series forecasting problem type.
CandidateMetrics (list) --
Information about the candidate metrics for an AutoML job.
(dict) --
Information about the metric for a candidate produced by an AutoML job.
MetricName (string) --
The name of the metric.
Value (float) --
The value of the metric.
Set (string) --
The dataset split from which the AutoML job produced the metric.
StandardMetricName (string) --
The name of the standard metric.
Note
For definitions of the standard metrics, see Autopilot candidate metrics.
InferenceContainerDefinitions (dict) --
The mapping of all supported processing unit (CPU, GPU, etc...) to inference container definitions for the candidate. This field is populated for the AutoML jobs V2 (for example, for jobs created by calling CreateAutoMLJobV2 ) related to image or text classification problem types only.
(string) --
Processing unit for an inference container. Currently Autopilot only supports CPU or GPU .
(list) --
Information about the recommended inference container definitions.
(dict) --
A list of container definitions that describe the different containers that make up an AutoML candidate. For more information, see ContainerDefinition.
Image (string) --
The Amazon Elastic Container Registry (Amazon ECR) path of the container. For more information, see ContainerDefinition.
ModelDataUrl (string) --
The location of the model artifacts. For more information, see ContainerDefinition.
Environment (dict) --
The environment variables to set in the container. For more information, see ContainerDefinition.
(string) --
(string) --
AutoMLJobStatus (string) --
Returns the status of the AutoML job V2.
AutoMLJobSecondaryStatus (string) --
Returns the secondary status of the AutoML job V2.
ModelDeployConfig (dict) --
Indicates whether the model was deployed automatically to an endpoint and the name of that endpoint if deployed automatically.
AutoGenerateEndpointName (boolean) --
Set to True to automatically generate an endpoint name for a one-click Autopilot model deployment; set to False otherwise. The default value is False .
Note
If you set AutoGenerateEndpointName to True , do not specify the EndpointName ; otherwise a 400 error is thrown.
EndpointName (string) --
Specifies the endpoint name to use for a one-click Autopilot model deployment if the endpoint name is not generated automatically.
Note
Specify the EndpointName if and only if you set AutoGenerateEndpointName to False ; otherwise a 400 error is thrown.
ModelDeployResult (dict) --
Provides information about endpoint for the model deployment.
EndpointName (string) --
The name of the endpoint to which the model has been deployed.
Note
If model deployment fails, this field is omitted from the response.
DataSplitConfig (dict) --
Returns the configuration settings of how the data are split into train and validation datasets.
ValidationFraction (float) --
The validation fraction (optional) is a float that specifies the portion of the training dataset to be used for validation. The default value is 0.2, and values must be greater than 0 and less than 1. We recommend setting this value to be less than 0.5.
SecurityConfig (dict) --
Returns the security configuration for traffic encryption or Amazon VPC settings.
VolumeKmsKeyId (string) --
The key used to encrypt stored data.
EnableInterContainerTrafficEncryption (boolean) --
Whether to use traffic encryption between the container layers.
VpcConfig (dict) --
The VPC configuration.
SecurityGroupIds (list) --
The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for the VPC that is specified in the Subnets field.
(string) --
Subnets (list) --
The ID of the subnets in the VPC to which you want to connect your training job or model. For information about the availability of specific instance types, see Supported Instance Types and Availability Zones.
(string) --
AutoMLJobArtifacts (dict) --
The artifacts that are generated during an AutoML job.
CandidateDefinitionNotebookLocation (string) --
The URL of the notebook location.
DataExplorationNotebookLocation (string) --
The URL of the notebook location.
ResolvedAttributes (dict) --
Returns the resolved attributes used by the AutoML job V2.
AutoMLJobObjective (dict) --
Specifies a metric to minimize or maximize as the objective of a job.
MetricName (string) --
The name of the objective metric used to measure the predictive quality of a machine learning system. During training, the model's parameters are updated iteratively to optimize its performance based on the feedback provided by the objective metric when evaluating the model on the validation dataset.
For the list of all available metrics supported by Autopilot, see Autopilot metrics.
If you do not specify a metric explicitly, the default behavior is to automatically use:
For tabular problem types:
Regression: MSE .
Binary classification: F1 .
Multiclass classification: Accuracy .
For image or text classification problem types: Accuracy
For time-series forecasting problem types: AverageWeightedQuantileLoss
CompletionCriteria (dict) --
How long a job is allowed to run, or how many candidates a job is allowed to generate.
MaxCandidates (integer) --
The maximum number of times a training job is allowed to run.
For text and image classification, as well as time-series forecasting problem types, the supported value is 1. For tabular problem types, the maximum value is 750.
MaxRuntimePerTrainingJobInSeconds (integer) --
The maximum time, in seconds, that each training job executed inside hyperparameter tuning is allowed to run as part of a hyperparameter tuning job. For more information, see the StoppingCondition used by the CreateHyperParameterTuningJob action.
For job V2s (jobs created by calling CreateAutoMLJobV2 ), this field controls the runtime of the job candidate.
MaxAutoMLJobRuntimeInSeconds (integer) --
The maximum runtime, in seconds, an AutoML job has to complete.
If an AutoML job exceeds the maximum runtime, the job is stopped automatically and its processing is ended gracefully. The AutoML job identifies the best model whose training was completed and marks it as the best-performing model. Any unfinished steps of the job, such as automatic one-click Autopilot model deployment, are not completed.
AutoMLProblemTypeResolvedAttributes (dict) --
Defines the resolved attributes specific to a problem type.
Note
This is a Tagged Union structure. Only one of the following top level keys will be set: TabularResolvedAttributes. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:
'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
TabularResolvedAttributes (dict) --
Defines the resolved attributes for the TABULAR problem type.
ProblemType (string) --
The type of supervised learning problem available for the model candidates of the AutoML job V2 (Binary Classification, Multiclass Classification, Regression). For more information, see Amazon SageMaker Autopilot problem types.
AutoMLProblemTypeConfigName (string) --
Returns the name of the problem type configuration set for the AutoML job V2.
{'AutoMLJobSummaries': {'AutoMLJobSecondaryStatus': {'PreTraining'}}}
Request a list of jobs.
See also: AWS API Documentation
Request Syntax
client.list_auto_ml_jobs( CreationTimeAfter=datetime(2015, 1, 1), CreationTimeBefore=datetime(2015, 1, 1), LastModifiedTimeAfter=datetime(2015, 1, 1), LastModifiedTimeBefore=datetime(2015, 1, 1), NameContains='string', StatusEquals='Completed'|'InProgress'|'Failed'|'Stopped'|'Stopping', SortOrder='Ascending'|'Descending', SortBy='Name'|'CreationTime'|'Status', MaxResults=123, NextToken='string' )
datetime
Request a list of jobs, using a filter for time.
datetime
Request a list of jobs, using a filter for time.
datetime
Request a list of jobs, using a filter for time.
datetime
Request a list of jobs, using a filter for time.
string
Request a list of jobs, using a search filter for name.
string
Request a list of jobs, using a filter for status.
string
The sort order for the results. The default is Descending .
string
The parameter by which to sort the results. The default is Name .
integer
Request a list of jobs up to a specified limit.
string
If the previous response was truncated, you receive this token. Use it in your next request to receive the next set of results.
dict
Response Syntax
{ 'AutoMLJobSummaries': [ { 'AutoMLJobName': 'string', 'AutoMLJobArn': 'string', 'AutoMLJobStatus': 'Completed'|'InProgress'|'Failed'|'Stopped'|'Stopping', 'AutoMLJobSecondaryStatus': 'Starting'|'AnalyzingData'|'FeatureEngineering'|'ModelTuning'|'MaxCandidatesReached'|'Failed'|'Stopped'|'MaxAutoMLJobRuntimeReached'|'Stopping'|'CandidateDefinitionsGenerated'|'GeneratingExplainabilityReport'|'Completed'|'ExplainabilityError'|'DeployingModel'|'ModelDeploymentError'|'GeneratingModelInsightsReport'|'ModelInsightsError'|'TrainingModels'|'PreTraining', 'CreationTime': datetime(2015, 1, 1), 'EndTime': datetime(2015, 1, 1), 'LastModifiedTime': datetime(2015, 1, 1), 'FailureReason': 'string', 'PartialFailureReasons': [ { 'PartialFailureMessage': 'string' }, ] }, ], 'NextToken': 'string' }
Response Structure
(dict) --
AutoMLJobSummaries (list) --
Returns a summary list of jobs.
(dict) --
Provides a summary about an AutoML job.
AutoMLJobName (string) --
The name of the AutoML job you are requesting.
AutoMLJobArn (string) --
The ARN of the AutoML job.
AutoMLJobStatus (string) --
The status of the AutoML job.
AutoMLJobSecondaryStatus (string) --
The secondary status of the AutoML job.
CreationTime (datetime) --
When the AutoML job was created.
EndTime (datetime) --
The end time of an AutoML job.
LastModifiedTime (datetime) --
When the AutoML job was last modified.
FailureReason (string) --
The failure reason of an AutoML job.
PartialFailureReasons (list) --
The list of reasons for partial failures within an AutoML job.
(dict) --
The reason for a partial failure of an AutoML job.
PartialFailureMessage (string) --
The message containing the reason for a partial failure of an AutoML job.
NextToken (string) --
If the previous response was truncated, you receive this token. Use it in your next request to receive the next set of results.
{'Candidates': {'CandidateProperties': {'CandidateArtifactLocations': {'BacktestResults': 'string'}, 'CandidateMetrics': {'MetricName': {'AverageWeightedQuantileLoss', 'MAPE', 'MASE', 'WAPE'}, 'StandardMetricName': {'AverageWeightedQuantileLoss', 'MAPE', 'MASE', 'WAPE'}}}, 'FinalAutoMLJobObjectiveMetric': {'MetricName': {'AverageWeightedQuantileLoss', 'MAPE', 'MASE', 'WAPE'}, 'StandardMetricName': {'AverageWeightedQuantileLoss', 'MAPE', 'MASE', 'WAPE'}}}}
List the candidates created for the job.
See also: AWS API Documentation
Request Syntax
client.list_candidates_for_auto_ml_job( AutoMLJobName='string', StatusEquals='Completed'|'InProgress'|'Failed'|'Stopped'|'Stopping', CandidateNameEquals='string', SortOrder='Ascending'|'Descending', SortBy='CreationTime'|'Status'|'FinalObjectiveMetricValue', MaxResults=123, NextToken='string' )
string
[REQUIRED]
List the candidates created for the job by providing the job's name.
string
List the candidates for the job and filter by status.
string
List the candidates for the job and filter by candidate name.
string
The sort order for the results. The default is Ascending .
string
The parameter by which to sort the results. The default is Descending .
integer
List the job's candidates up to a specified limit.
string
If the previous response was truncated, you receive this token. Use it in your next request to receive the next set of results.
dict
Response Syntax
{ 'Candidates': [ { 'CandidateName': 'string', 'FinalAutoMLJobObjectiveMetric': { 'Type': 'Maximize'|'Minimize', 'MetricName': 'Accuracy'|'MSE'|'F1'|'F1macro'|'AUC'|'RMSE'|'MAE'|'R2'|'BalancedAccuracy'|'Precision'|'PrecisionMacro'|'Recall'|'RecallMacro'|'MAPE'|'MASE'|'WAPE'|'AverageWeightedQuantileLoss', 'Value': ..., 'StandardMetricName': 'Accuracy'|'MSE'|'F1'|'F1macro'|'AUC'|'RMSE'|'MAE'|'R2'|'BalancedAccuracy'|'Precision'|'PrecisionMacro'|'Recall'|'RecallMacro'|'MAPE'|'MASE'|'WAPE'|'AverageWeightedQuantileLoss' }, 'ObjectiveStatus': 'Succeeded'|'Pending'|'Failed', 'CandidateSteps': [ { 'CandidateStepType': 'AWS::SageMaker::TrainingJob'|'AWS::SageMaker::TransformJob'|'AWS::SageMaker::ProcessingJob', 'CandidateStepArn': 'string', 'CandidateStepName': 'string' }, ], 'CandidateStatus': 'Completed'|'InProgress'|'Failed'|'Stopped'|'Stopping', 'InferenceContainers': [ { 'Image': 'string', 'ModelDataUrl': 'string', 'Environment': { 'string': 'string' } }, ], 'CreationTime': datetime(2015, 1, 1), 'EndTime': datetime(2015, 1, 1), 'LastModifiedTime': datetime(2015, 1, 1), 'FailureReason': 'string', 'CandidateProperties': { 'CandidateArtifactLocations': { 'Explainability': 'string', 'ModelInsights': 'string', 'BacktestResults': 'string' }, 'CandidateMetrics': [ { 'MetricName': 'Accuracy'|'MSE'|'F1'|'F1macro'|'AUC'|'RMSE'|'MAE'|'R2'|'BalancedAccuracy'|'Precision'|'PrecisionMacro'|'Recall'|'RecallMacro'|'MAPE'|'MASE'|'WAPE'|'AverageWeightedQuantileLoss', 'Value': ..., 'Set': 'Train'|'Validation'|'Test', 'StandardMetricName': 'Accuracy'|'MSE'|'F1'|'F1macro'|'AUC'|'RMSE'|'MAE'|'R2'|'BalancedAccuracy'|'Precision'|'PrecisionMacro'|'Recall'|'RecallMacro'|'LogLoss'|'InferenceLatency'|'MAPE'|'MASE'|'WAPE'|'AverageWeightedQuantileLoss' }, ] }, 'InferenceContainerDefinitions': { 'string': [ { 'Image': 'string', 'ModelDataUrl': 'string', 'Environment': { 'string': 'string' } }, ] } }, ], 'NextToken': 'string' }
Response Structure
(dict) --
Candidates (list) --
Summaries about the AutoMLCandidates .
(dict) --
Information about a candidate produced by an AutoML training job, including its status, steps, and other properties.
CandidateName (string) --
The name of the candidate.
FinalAutoMLJobObjectiveMetric (dict) --
The best candidate result from an AutoML training job.
Type (string) --
The type of metric with the best result.
MetricName (string) --
The name of the metric with the best result. For a description of the possible objective metrics, see AutoMLJobObjective$MetricName.
Value (float) --
The value of the metric with the best result.
StandardMetricName (string) --
The name of the standard metric. For a description of the standard metrics, see Autopilot candidate metrics.
ObjectiveStatus (string) --
The objective's status.
CandidateSteps (list) --
Information about the candidate's steps.
(dict) --
Information about the steps for a candidate and what step it is working on.
CandidateStepType (string) --
Whether the candidate is at the transform, training, or processing step.
CandidateStepArn (string) --
The ARN for the candidate's step.
CandidateStepName (string) --
The name for the candidate's step.
CandidateStatus (string) --
The candidate's status.
InferenceContainers (list) --
Information about the recommended inference container definitions.
(dict) --
A list of container definitions that describe the different containers that make up an AutoML candidate. For more information, see ContainerDefinition.
Image (string) --
The Amazon Elastic Container Registry (Amazon ECR) path of the container. For more information, see ContainerDefinition.
ModelDataUrl (string) --
The location of the model artifacts. For more information, see ContainerDefinition.
Environment (dict) --
The environment variables to set in the container. For more information, see ContainerDefinition.
(string) --
(string) --
CreationTime (datetime) --
The creation time.
EndTime (datetime) --
The end time.
LastModifiedTime (datetime) --
The last modified time.
FailureReason (string) --
The failure reason.
CandidateProperties (dict) --
The properties of an AutoML candidate job.
CandidateArtifactLocations (dict) --
The Amazon S3 prefix to the artifacts generated for an AutoML candidate.
Explainability (string) --
The Amazon S3 prefix to the explainability artifacts generated for the AutoML candidate.
ModelInsights (string) --
The Amazon S3 prefix to the model insight artifacts generated for the AutoML candidate.
BacktestResults (string) --
The Amazon S3 prefix to the accuracy metrics and the inference results observed over the testing window. Available only for the time-series forecasting problem type.
CandidateMetrics (list) --
Information about the candidate metrics for an AutoML job.
(dict) --
Information about the metric for a candidate produced by an AutoML job.
MetricName (string) --
The name of the metric.
Value (float) --
The value of the metric.
Set (string) --
The dataset split from which the AutoML job produced the metric.
StandardMetricName (string) --
The name of the standard metric.
Note
For definitions of the standard metrics, see Autopilot candidate metrics.
InferenceContainerDefinitions (dict) --
The mapping of all supported processing unit (CPU, GPU, etc...) to inference container definitions for the candidate. This field is populated for the AutoML jobs V2 (for example, for jobs created by calling CreateAutoMLJobV2 ) related to image or text classification problem types only.
(string) --
Processing unit for an inference container. Currently Autopilot only supports CPU or GPU .
(list) --
Information about the recommended inference container definitions.
(dict) --
A list of container definitions that describe the different containers that make up an AutoML candidate. For more information, see ContainerDefinition.
Image (string) --
The Amazon Elastic Container Registry (Amazon ECR) path of the container. For more information, see ContainerDefinition.
ModelDataUrl (string) --
The location of the model artifacts. For more information, see ContainerDefinition.
Environment (dict) --
The environment variables to set in the container. For more information, see ContainerDefinition.
(string) --
(string) --
NextToken (string) --
If the previous response was truncated, you receive this token. Use it in your next request to receive the next set of results.