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 returnRecipe
.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 theMLModel
is in theCOMPLETED
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
asCOMPLETED
orFAILED
.FinishedAt
is only available when theMLModel
is in theCOMPLETED
orFAILED
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
. TheRecipe
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 asfalse
.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
asINPROGRESS
.StartedAt
isn't available if theMLModel
is in thePENDING
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 aMLModel
. -
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
- TheMLModel
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
to2147483648
. The default value is33554432
. -
sgd.maxPasses
- The number of times that the training process traverses the observations to build theMLModel
. The value is an integer that ranges from1
to100
. The default value is10
. -
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 areauto
andnone
. The default value isnone
. 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 as1.0E-08
.The value is a double that ranges from
0
toMAX_DOUBLE
. The default is to not use L1 normalization. This parameter can't be used whenL2
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 as1.0E-08
.The value is a double that ranges from
0
toMAX_DOUBLE
. The default is to not use L2 normalization. This parameter can't be used whenL1
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: