[ aws . sagemaker ]

create-auto-ml-job

Description

Creates an Autopilot job.

Find the best performing model after you run an Autopilot job by calling . Deploy that model by following the steps described in Step 6.1: Deploy the Model to Amazon SageMaker Hosting Services .

For information about how to use Autopilot, see Automate Model Development with Amazon SageMaker Autopilot .

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.

Synopsis

  create-auto-ml-job
--auto-ml-job-name <value>
--input-data-config <value>
--output-data-config <value>
[--problem-type <value>]
[--auto-ml-job-objective <value>]
[--auto-ml-job-config <value>]
--role-arn <value>
[--generate-candidate-definitions-only | --no-generate-candidate-definitions-only]
[--tags <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]

Options

--auto-ml-job-name (string)

Identifies an Autopilot job. Must be unique to your account and is case-insensitive.

--input-data-config (list)

Similar to InputDataConfig supported by Tuning. Format(s) supported: CSV. Minimum of 500 rows.

(structure)

Similar to Channel. A channel is a named input source that training algorithms can consume. Refer to Channel for detailed descriptions.

DataSource -> (structure)

The data source.

S3DataSource -> (structure)

The Amazon S3 location of the input data.

Note

The input data must be in CSV format and contain at least 500 rows.

S3DataType -> (string)

The data type.

S3Uri -> (string)

The URL to the Amazon S3 data source.

CompressionType -> (string)

You can use Gzip or None. The default value is None.

TargetAttributeName -> (string)

The name of the target variable in supervised learning, a.k.a. ‘y’.

Shorthand Syntax:

DataSource={S3DataSource={S3DataType=string,S3Uri=string}},CompressionType=string,TargetAttributeName=string ...

JSON Syntax:

[
  {
    "DataSource": {
      "S3DataSource": {
        "S3DataType": "ManifestFile"|"S3Prefix",
        "S3Uri": "string"
      }
    },
    "CompressionType": "None"|"Gzip",
    "TargetAttributeName": "string"
  }
  ...
]

--output-data-config (structure)

Similar to OutputDataConfig supported by Tuning. Format(s) supported: CSV.

KmsKeyId -> (string)

The AWS KMS encryption key ID.

S3OutputPath -> (string)

The Amazon S3 output path. Must be 128 characters or less.

Shorthand Syntax:

KmsKeyId=string,S3OutputPath=string

JSON Syntax:

{
  "KmsKeyId": "string",
  "S3OutputPath": "string"
}

--problem-type (string)

Defines the kind of preprocessing and algorithms intended for the candidates. Options include: BinaryClassification, MulticlassClassification, and Regression.

Possible values:

  • BinaryClassification

  • MulticlassClassification

  • Regression

--auto-ml-job-objective (structure)

Defines the objective of a an AutoML job. You provide a AutoMLJobObjective$MetricName and Autopilot infers whether to minimize or maximize it. If a metric is not specified, the most commonly used ObjectiveMetric for problem type is automaically selected.

MetricName -> (string)

The name of the objective metric used to measure the predictive quality of a machine learning system. This metric is optimized during training to provide the best estimate for model parameter values from data.

Here are the options:

  • MSE : The mean squared error (MSE) is the average of the squared differences between the predicted and actual values. It is used for regression. MSE values are always positive, the better a model is at predicting the actual values the smaller the MSE value. When the data contains outliers, they tend to dominate the MSE which might cause subpar prediction performance.

  • Accuracy : The ratio of the number correctly classified items to the total number (correctly and incorrectly) classified. It is used for binary and multiclass classification. Measures how close the predicted class values are to the actual values. Accuracy values vary between zero and one, one being perfect accuracy and zero perfect inaccuracy.

  • F1 : The F1 score is the harmonic mean of the precision and recall. It is used for binary classification into classes traditionally referred to as positive and negative. Predictions are said to be true when they match their actual (correct) class; false when they do not. Precision is the ratio of the true positive predictions to all positive predictions (including the false positives) in a data set and measures the quality of the prediction when it predicts the positive class. Recall (or sensitivity) is the ratio of the true positive predictions to all actual positive instances and measures how completely a model predicts the actual class members in a data set. The standard F1 score weighs precision and recall equally. But which metric is paramount typically depends on specific aspects of a problem. F1 scores vary between zero and one, one being the best possible performance and zero the worst.

  • AUC : The area under the curve (AUC) metric is used to compare and evaluate binary classification by algorithms such as logistic regression that return probabilities. A threshold is needed to map the probabilities into classifications. The relevant curve is the receiver operating characteristic curve that plots the true positive rate (TPR) of predictions (or recall) against the false positive rate (FPR) as a function of the threshold value, above which a prediction is considered positive. Increasing the threshold results in fewer false positives but more false negatives. AUC is the area under this receiver operating characteristic curve and so provides an aggregated measure of the model performance across all possible classification thresholds. The AUC score can also be interpreted as the probability that a randomly selected positive data point is more likely to be predicted positive than a randomly selected negative example. AUC scores vary between zero and one, one being perfect accuracy and one half not better than a random classifier. Values less that one half predict worse than a random predictor and such consistently bad predictors can be inverted to obtain better than random predictors.

  • F1macro : The F1macro score applies F1 scoring to multiclass classification. In this context, you have multiple classes to predict. You just calculate the precision and recall for each class as you did for the positive class in binary classification. Then used these values to calculate the F1 score for each class and average them to obtain the F1macro score. F1macro scores vary between zero and one, one being the best possible performance and zero the worst.

If you do not specify a metric explicitly, the default behavior is to automatically use:

  • MSE : for regression.

  • F1 : for binary classification

  • Accuracy : for multiclass classification.

Shorthand Syntax:

MetricName=string

JSON Syntax:

{
  "MetricName": "Accuracy"|"MSE"|"F1"|"F1macro"|"AUC"
}

--auto-ml-job-config (structure)

Contains CompletionCriteria and SecurityConfig.

CompletionCriteria -> (structure)

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.

MaxRuntimePerTrainingJobInSeconds -> (integer)

The maximum time, in seconds, a job is allowed to run.

MaxAutoMLJobRuntimeInSeconds -> (integer)

The maximum time, in seconds, an AutoML job is allowed to wait for a trial to complete. It must be equal to or greater than MaxRuntimePerTrainingJobInSeconds.

SecurityConfig -> (structure)

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 -> (structure)

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)

JSON Syntax:

{
  "CompletionCriteria": {
    "MaxCandidates": integer,
    "MaxRuntimePerTrainingJobInSeconds": integer,
    "MaxAutoMLJobRuntimeInSeconds": integer
  },
  "SecurityConfig": {
    "VolumeKmsKeyId": "string",
    "EnableInterContainerTrafficEncryption": true|false,
    "VpcConfig": {
      "SecurityGroupIds": ["string", ...],
      "Subnets": ["string", ...]
    }
  }
}

--role-arn (string)

The ARN of the role that is used to access the data.

--generate-candidate-definitions-only | --no-generate-candidate-definitions-only (boolean)

Generates possible candidates without training a model. A candidate is a combination of data preprocessors, algorithms, and algorithm parameter settings.

--tags (list)

Each tag consists of a key and an optional value. Tag keys must be unique per resource.

(structure)

Describes a tag.

Key -> (string)

The tag key.

Value -> (string)

The tag value.

Shorthand Syntax:

Key=string,Value=string ...

JSON Syntax:

[
  {
    "Key": "string",
    "Value": "string"
  }
  ...
]

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

See ‘aws help’ for descriptions of global parameters.

Output

AutoMLJobArn -> (string)

When a job is created, it is assigned a unique ARN.