2021/03/30 - Amazon SageMaker Service - 3 updated api methods
Changes Amazon SageMaker Autopilot now supports 1) feature importance reports for AutoML jobs and 2) PartialFailures for AutoML jobs
{'BestCandidate': {'CandidateProperties': {'CandidateArtifactLocations': {'Explainability': 'string'}}}, 'PartialFailureReasons': [{'PartialFailureMessage': 'string'}]}
Returns information about an Amazon SageMaker AutoML job.
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', 'S3Uri': 'string' } }, 'CompressionType': 'None'|'Gzip', 'TargetAttributeName': 'string' }, ], 'OutputDataConfig': { 'KmsKeyId': 'string', 'S3OutputPath': 'string' }, 'RoleArn': 'string', 'AutoMLJobObjective': { 'MetricName': 'Accuracy'|'MSE'|'F1'|'F1macro'|'AUC' }, 'ProblemType': 'BinaryClassification'|'MulticlassClassification'|'Regression', 'AutoMLJobConfig': { 'CompletionCriteria': { 'MaxCandidates': 123, 'MaxRuntimePerTrainingJobInSeconds': 123, 'MaxAutoMLJobRuntimeInSeconds': 123 }, 'SecurityConfig': { 'VolumeKmsKeyId': 'string', 'EnableInterContainerTrafficEncryption': True|False, 'VpcConfig': { 'SecurityGroupIds': [ 'string', ], 'Subnets': [ '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', 'Value': ... }, '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' } } }, 'AutoMLJobStatus': 'Completed'|'InProgress'|'Failed'|'Stopped'|'Stopping', 'AutoMLJobSecondaryStatus': 'Starting'|'AnalyzingData'|'FeatureEngineering'|'ModelTuning'|'MaxCandidatesReached'|'Failed'|'Stopped'|'MaxAutoMLJobRuntimeReached'|'Stopping'|'CandidateDefinitionsGenerated'|'GeneratingExplainabilityReport'|'Completed'|'ExplainabilityError', 'GenerateCandidateDefinitionsOnly': True|False, 'AutoMLJobArtifacts': { 'CandidateDefinitionNotebookLocation': 'string', 'DataExplorationNotebookLocation': 'string' }, 'ResolvedAttributes': { 'AutoMLJobObjective': { 'MetricName': 'Accuracy'|'MSE'|'F1'|'F1macro'|'AUC' }, 'ProblemType': 'BinaryClassification'|'MulticlassClassification'|'Regression', 'CompletionCriteria': { 'MaxCandidates': 123, 'MaxRuntimePerTrainingJobInSeconds': 123, 'MaxAutoMLJobRuntimeInSeconds': 123 } } }
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. For more information, see .
DataSource (dict) --
The data source for an AutoML channel.
S3DataSource (dict) --
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, usually represented by 'y'.
OutputDataConfig (dict) --
Returns the job's output data config.
KmsKeyId (string) --
The AWS 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 AWS 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. 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.
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.
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 (dict) --
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) --
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) --
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 job's FailureReason.
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) --
Returns the job's BestCandidate.
CandidateName (string) --
The candidate name.
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.
ObjectiveStatus (string) --
The objective status.
CandidateSteps (list) --
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) --
The inference containers.
(dict) --
A list of container definitions that describe the different containers that make up an AutoML candidate. For more information, see .
Image (string) --
The ECR path of the container. For more information, see .
ModelDataUrl (string) --
The location of the model artifacts. For more information, see .
Environment (dict) --
Environment variables to set in the container. For more information, see .
(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 AutoML candidate's properties.
CandidateArtifactLocations (dict) --
The S3 prefix to the artifacts generated for an AutoML candidate.
Explainability (string) --
The S3 prefix to the explainability artifacts generated for the AutoML candidate.
AutoMLJobStatus (string) --
Returns the status of the AutoML job's AutoMLJobStatus.
AutoMLJobSecondaryStatus (string) --
Returns the secondary status of the AutoML job.
GenerateCandidateDefinitionsOnly (boolean) --
Returns the job's output from GenerateCandidateDefinitionsOnly.
AutoMLJobArtifacts (dict) --
Returns information on the job's artifacts found in AutoMLJobArtifacts.
CandidateDefinitionNotebookLocation (string) --
The URL to the notebook location.
DataExplorationNotebookLocation (string) --
The URL to the notebook location.
ResolvedAttributes (dict) --
This contains ProblemType, AutoMLJobObjective and CompletionCriteria. If you do not provide these values, they are auto-inferred. If you do provide them, they are the values you provide.
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. 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.
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.
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 .
{'AutoMLJobSummaries': {'PartialFailureReasons': [{'PartialFailureMessage': 'string'}]}}
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 AutoMLJobName.
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', '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 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': {'Explainability': 'string'}}}}
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', 'Value': ... }, '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' } } }, ], 'NextToken': 'string' }
Response Structure
(dict) --
Candidates (list) --
Summaries about the Candidates.
(dict) --
An Autopilot job returns recommendations, or candidates. Each candidate has futher details about the steps involed, and the status.
CandidateName (string) --
The candidate name.
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.
ObjectiveStatus (string) --
The objective status.
CandidateSteps (list) --
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) --
The inference containers.
(dict) --
A list of container definitions that describe the different containers that make up an AutoML candidate. For more information, see .
Image (string) --
The ECR path of the container. For more information, see .
ModelDataUrl (string) --
The location of the model artifacts. For more information, see .
Environment (dict) --
Environment variables to set in the container. For more information, see .
(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 AutoML candidate's properties.
CandidateArtifactLocations (dict) --
The S3 prefix to the artifacts generated for an AutoML candidate.
Explainability (string) --
The S3 prefix to the explainability artifacts generated for the AutoML candidate.
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.