GetMLModel - MachineLearning

GetMLModel

Returns an MLModel that includes detailed metadata, data source information, and the current status of the MLModel.

GetMLModel provides results in normal or verbose format.

Request Syntax

{ "MLModelId": "string", "Verbose": boolean }

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

The request accepts the following data in JSON format.

MLModelId

The ID assigned to the MLModel at creation.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.

Pattern: [a-zA-Z0-9_.-]+

Required: Yes

Verbose

Specifies whether the GetMLModel operation should return Recipe.

If true, Recipe is returned.

If false, Recipe is not returned.

Type: Boolean

Required: No

Response Syntax

{ "ComputeTime": number, "CreatedAt": number, "CreatedByIamUser": "string", "EndpointInfo": { "CreatedAt": number, "EndpointStatus": "string", "EndpointUrl": "string", "PeakRequestsPerSecond": number }, "FinishedAt": number, "InputDataLocationS3": "string", "LastUpdatedAt": number, "LogUri": "string", "Message": "string", "MLModelId": "string", "MLModelType": "string", "Name": "string", "Recipe": "string", "Schema": "string", "ScoreThreshold": number, "ScoreThresholdLastUpdatedAt": number, "SizeInBytes": number, "StartedAt": number, "Status": "string", "TrainingDataSourceId": "string", "TrainingParameters": { "string" : "string" } }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

ComputeTime

The approximate CPU time in milliseconds that Amazon Machine Learning spent processing the MLModel, normalized and scaled on computation resources. ComputeTime is only available if the MLModel is in the COMPLETED state.

Type: Long

CreatedAt

The time that the MLModel was created. The time is expressed in epoch time.

Type: Timestamp

CreatedByIamUser

The AWS user account from which the MLModel was created. The account type can be either an AWS root account or an AWS Identity and Access Management (IAM) user account.

Type: String

Pattern: arn:aws:iam::[0-9]+:((user/.+)|(root))

EndpointInfo

The current endpoint of the MLModel

Type: RealtimeEndpointInfo object

FinishedAt

The epoch time when Amazon Machine Learning marked the MLModel as COMPLETED or FAILED. FinishedAt is only available when the MLModel is in the COMPLETED or FAILED state.

Type: Timestamp

InputDataLocationS3

The location of the data file or directory in Amazon Simple Storage Service (Amazon S3).

Type: String

Length Constraints: Maximum length of 2048.

Pattern: s3://([^/]+)(/.*)?

LastUpdatedAt

The time of the most recent edit to the MLModel. The time is expressed in epoch time.

Type: Timestamp

LogUri

A link to the file that contains logs of the CreateMLModel operation.

Type: String

Message

A description of the most recent details about accessing the MLModel.

Type: String

Length Constraints: Maximum length of 10240.

MLModelId

The MLModel ID, which is same as the MLModelId in the request.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.

Pattern: [a-zA-Z0-9_.-]+

MLModelType

Identifies the MLModel category. The following are the available types:

  • REGRESSION -- Produces a numeric result. For example, "What price should a house be listed at?"

  • BINARY -- Produces one of two possible results. For example, "Is this an e-commerce website?"

  • MULTICLASS -- Produces one of several possible results. For example, "Is this a HIGH, LOW or MEDIUM risk trade?"

Type: String

Valid Values: REGRESSION | BINARY | MULTICLASS

Name

A user-supplied name or description of the MLModel.

Type: String

Length Constraints: Maximum length of 1024.

Recipe

The recipe to use when training the MLModel. The Recipe provides detailed information about the observation data to use during training, and manipulations to perform on the observation data during training.

Note: This parameter is provided as part of the verbose format.

Type: String

Length Constraints: Maximum length of 131071.

Schema

The schema used by all of the data files referenced by the DataSource.

Note: This parameter is provided as part of the verbose format.

Type: String

Length Constraints: Maximum length of 131071.

ScoreThreshold

The scoring threshold is used in binary classification MLModel models. It marks the boundary between a positive prediction and a negative prediction.

Output values greater than or equal to the threshold receive a positive result from the MLModel, such as true. Output values less than the threshold receive a negative response from the MLModel, such as false.

Type: Float

ScoreThresholdLastUpdatedAt

The time of the most recent edit to the ScoreThreshold. The time is expressed in epoch time.

Type: Timestamp

SizeInBytes

Long integer type that is a 64-bit signed number.

Type: Long

StartedAt

The epoch time when Amazon Machine Learning marked the MLModel as INPROGRESS. StartedAt isn't available if the MLModel is in the PENDING state.

Type: Timestamp

Status

The current status of the MLModel. This element can have one of the following values:

  • PENDING - Amazon Machine Learning (Amazon ML) submitted a request to describe a MLModel.

  • INPROGRESS - The request is processing.

  • FAILED - The request did not run to completion. The ML model isn't usable.

  • COMPLETED - The request completed successfully.

  • DELETED - The MLModel is marked as deleted. It isn't usable.

Type: String

Valid Values: PENDING | INPROGRESS | FAILED | COMPLETED | DELETED

TrainingDataSourceId

The ID of the training DataSource.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.

Pattern: [a-zA-Z0-9_.-]+

TrainingParameters

A list of the training parameters in the MLModel. The list is implemented as a map of key-value pairs.

The following is the current set of training parameters:

  • sgd.maxMLModelSizeInBytes - The maximum allowed size of the model. Depending on the input data, the size of the model might affect its performance.

    The value is an integer that ranges from 100000 to 2147483648. The default value is 33554432.

  • sgd.maxPasses - The number of times that the training process traverses the observations to build the MLModel. The value is an integer that ranges from 1 to 100. The default value is 10.

  • sgd.shuffleType - Whether Amazon ML shuffles the training data. Shuffling data improves a model's ability to find the optimal solution for a variety of data types. The valid values are auto and none. The default value is none. We strongly recommend that you shuffle your data.

  • sgd.l1RegularizationAmount - The coefficient regularization L1 norm. It controls overfitting the data by penalizing large coefficients. This tends to drive coefficients to zero, resulting in a sparse feature set. If you use this parameter, start by specifying a small value, such as 1.0E-08.

    The value is a double that ranges from 0 to MAX_DOUBLE. The default is to not use L1 normalization. This parameter can't be used when L2 is specified. Use this parameter sparingly.

  • sgd.l2RegularizationAmount - The coefficient regularization L2 norm. It controls overfitting the data by penalizing large coefficients. This tends to drive coefficients to small, nonzero values. If you use this parameter, start by specifying a small value, such as 1.0E-08.

    The value is a double that ranges from 0 to MAX_DOUBLE. The default is to not use L2 normalization. This parameter can't be used when L1 is specified. Use this parameter sparingly.

Type: String to string map

Errors

For information about the errors that are common to all actions, see Common Errors.

InternalServerException

An error on the server occurred when trying to process a request.

HTTP Status Code: 500

InvalidInputException

An error on the client occurred. Typically, the cause is an invalid input value.

HTTP Status Code: 400

ResourceNotFoundException

A specified resource cannot be located.

HTTP Status Code: 400

Examples

The following is a sample request and response of the GetMLModel operation.

This example illustrates one usage of GetMLModel.

Sample Request

POST / HTTP/1.1 Host: machinelearning.<region>.<domain> x-amz-Date: <Date> Authorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=contenttype;date;host;user-agent;x-amz-date;x-amz-target;x-amzn-requestid,Signature=<Signature> User-Agent: <UserAgentString> Content-Type: application/x-amz-json-1.1 Content-Length: <PayloadSizeBytes> Connection: Keep-Alive X-Amz-Target: AmazonML_20141212.GetMLModel {"MLModelId": "EXAMPLE-pr-2014-09-12-15-14-04-924", "Verbose": true}

Sample Response

HTTP/1.1 200 OK x-amzn-RequestId: <RequestId> Content-Type: application/x-amz-json-1.1 Content-Length: <PayloadSizeBytes> Date: <Date> { "CreatedAt":1410560408.264, "CreatedByIamUser":"arn:aws:iam::<awsAccountId>:user/user", "HasCalibration":false, "LastUpdatedAt":1410560416.338, "LogUri": "https://s3bucket/locationToLogs/logname.tar.gz", "Name":"Name-ml-model", "Algorithm": "sgd", "MLModelId":"ml-model", "EndpointInfo": { "CreatedAt": 1424378682.266, "EndpointStatus": "READY", "EndpointUrl": "<realtime endpoint from Amazon Machine Learning for ml-model>", "PeakRequestsPerSecond": 200} "MLModelType":"BINARY", "Recipe":"{ \"groups\": {}, \n\"assignments\": {}, \n\"dependencies\": {}, \n\"outputs\": [\n \"'x'\"\n] }\n", "Schema": "{ \"version\":\"1.0\", \"rowId\":null, \"rowWeight\":null, \"targetAttributeName\":\"y\", \"dataFormat\":\"CSV\", \"dataFileContainsHeader\":false, \"attributes\":[{\"attributeName\":\"age\", \"attributeType\":\"NUMERIC\"}, {\"attributeName\":\"job\", \"attributeType\":\"CATEGORICAL\"}, {\"attributeName\":\"contact\", \"attributeType\":\"CATEGORICAL\"}, {\"attributeName\":\"month\", \"attributeType\":\"CATEGORICAL\"}, {\"attributeName\":\"day_of_week\", \"attributeType\":\"CATEGORICAL\"}, {\"attributeName\":\"duration\", \"attributeType\":\"NUMERIC\"}, {\"attributeName\":\"poutcome\", \"attributeType\":\"CATEGORICAL\"}, {\"attributeName\":\"nr_employed\", \"attributeType\":\"NUMERIC\"}, {\"attributeName\":\"y\", \"attributeType\":\"BINARY\"}], \"excludedAttributeNames\":[]}" "SizeInBytes": 400374, "Status":"COMPLETED", "ComputeTime":"185200", "FinishedAt":1410560416.338, "StartedAt":1410560409.264, "TrainingDataSourceId":"EXAMPLE-tr-ds-2014-09-12-15-14-04-989", "TrainingParameters":{ "algorithm":"sgd", "sgd.l1":"0.0", "sgd.l2":"0.0", "sgd.likelihood":"logreg", "sgd.passes":"1" } }

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: