| Index: third_party/gsutil/third_party/boto/boto/machinelearning/layer1.py
|
| diff --git a/third_party/gsutil/third_party/boto/boto/machinelearning/layer1.py b/third_party/gsutil/third_party/boto/boto/machinelearning/layer1.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..0768fb1ea9c238ff056c2fec20d513d6f80bf3de
|
| --- /dev/null
|
| +++ b/third_party/gsutil/third_party/boto/boto/machinelearning/layer1.py
|
| @@ -0,0 +1,1408 @@
|
| +# Copyright (c) 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved
|
| +#
|
| +# Permission is hereby granted, free of charge, to any person obtaining a
|
| +# copy of this software and associated documentation files (the
|
| +# "Software"), to deal in the Software without restriction, including
|
| +# without limitation the rights to use, copy, modify, merge, publish, dis-
|
| +# tribute, sublicense, and/or sell copies of the Software, and to permit
|
| +# persons to whom the Software is furnished to do so, subject to the fol-
|
| +# lowing conditions:
|
| +#
|
| +# The above copyright notice and this permission notice shall be included
|
| +# in all copies or substantial portions of the Software.
|
| +#
|
| +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
| +# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
|
| +# ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
|
| +# SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
| +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
| +# IN THE SOFTWARE.
|
| +#
|
| +
|
| +import boto
|
| +from boto.compat import json, urlsplit
|
| +from boto.connection import AWSQueryConnection
|
| +from boto.regioninfo import RegionInfo
|
| +from boto.exception import JSONResponseError
|
| +from boto.machinelearning import exceptions
|
| +
|
| +
|
| +class MachineLearningConnection(AWSQueryConnection):
|
| + """
|
| + Definition of the public APIs exposed by Amazon Machine Learning
|
| + """
|
| + APIVersion = "2014-12-12"
|
| + AuthServiceName = 'machinelearning'
|
| + DefaultRegionName = "us-east-1"
|
| + DefaultRegionEndpoint = "machinelearning.us-east-1.amazonaws.com"
|
| + ServiceName = "MachineLearning"
|
| + TargetPrefix = "AmazonML_20141212"
|
| + ResponseError = JSONResponseError
|
| +
|
| + _faults = {
|
| + "InternalServerException": exceptions.InternalServerException,
|
| + "LimitExceededException": exceptions.LimitExceededException,
|
| + "ResourceNotFoundException": exceptions.ResourceNotFoundException,
|
| + "IdempotentParameterMismatchException": exceptions.IdempotentParameterMismatchException,
|
| + "PredictorNotMountedException": exceptions.PredictorNotMountedException,
|
| + "InvalidInputException": exceptions.InvalidInputException,
|
| + }
|
| +
|
| +
|
| + def __init__(self, **kwargs):
|
| + region = kwargs.pop('region', None)
|
| + if not region:
|
| + region = RegionInfo(self, self.DefaultRegionName,
|
| + self.DefaultRegionEndpoint)
|
| +
|
| + if 'host' not in kwargs or kwargs['host'] is None:
|
| + kwargs['host'] = region.endpoint
|
| +
|
| + super(MachineLearningConnection, self).__init__(**kwargs)
|
| + self.region = region
|
| + self.auth_region_name = self.region.name
|
| +
|
| + def _required_auth_capability(self):
|
| + return ['hmac-v4']
|
| +
|
| + def create_batch_prediction(self, batch_prediction_id, ml_model_id,
|
| + batch_prediction_data_source_id, output_uri,
|
| + batch_prediction_name=None):
|
| + """
|
| + Generates predictions for a group of observations. The
|
| + observations to process exist in one or more data files
|
| + referenced by a `DataSource`. This operation creates a new
|
| + `BatchPrediction`, and uses an `MLModel` and the data files
|
| + referenced by the `DataSource` as information sources.
|
| +
|
| + `CreateBatchPrediction` is an asynchronous operation. In
|
| + response to `CreateBatchPrediction`, Amazon Machine Learning
|
| + (Amazon ML) immediately returns and sets the `BatchPrediction`
|
| + status to `PENDING`. After the `BatchPrediction` completes,
|
| + Amazon ML sets the status to `COMPLETED`.
|
| +
|
| + You can poll for status updates by using the
|
| + GetBatchPrediction operation and checking the `Status`
|
| + parameter of the result. After the `COMPLETED` status appears,
|
| + the results are available in the location specified by the
|
| + `OutputUri` parameter.
|
| +
|
| + :type batch_prediction_id: string
|
| + :param batch_prediction_id: A user-supplied ID that uniquely identifies
|
| + the `BatchPrediction`.
|
| +
|
| + :type batch_prediction_name: string
|
| + :param batch_prediction_name: A user-supplied name or description of
|
| + the `BatchPrediction`. `BatchPredictionName` can only use the UTF-8
|
| + character set.
|
| +
|
| + :type ml_model_id: string
|
| + :param ml_model_id: The ID of the `MLModel` that will generate
|
| + predictions for the group of observations.
|
| +
|
| + :type batch_prediction_data_source_id: string
|
| + :param batch_prediction_data_source_id: The ID of the `DataSource` that
|
| + points to the group of observations to predict.
|
| +
|
| + :type output_uri: string
|
| + :param output_uri: The location of an Amazon Simple Storage Service
|
| + (Amazon S3) bucket or directory to store the batch prediction
|
| + results. The following substrings are not allowed in the s3 key
|
| + portion of the "outputURI" field: ':', '//', '/./', '/../'.
|
| + Amazon ML needs permissions to store and retrieve the logs on your
|
| + behalf. For information about how to set permissions, see the
|
| + `Amazon Machine Learning Developer Guide`_.
|
| +
|
| + """
|
| + params = {
|
| + 'BatchPredictionId': batch_prediction_id,
|
| + 'MLModelId': ml_model_id,
|
| + 'BatchPredictionDataSourceId': batch_prediction_data_source_id,
|
| + 'OutputUri': output_uri,
|
| + }
|
| + if batch_prediction_name is not None:
|
| + params['BatchPredictionName'] = batch_prediction_name
|
| + return self.make_request(action='CreateBatchPrediction',
|
| + body=json.dumps(params))
|
| +
|
| + def create_data_source_from_rds(self, data_source_id, rds_data, role_arn,
|
| + data_source_name=None,
|
| + compute_statistics=None):
|
| + """
|
| + Creates a `DataSource` object from an ` Amazon Relational
|
| + Database Service`_ (Amazon RDS). A `DataSource` references
|
| + data that can be used to perform CreateMLModel,
|
| + CreateEvaluation, or CreateBatchPrediction operations.
|
| +
|
| + `CreateDataSourceFromRDS` is an asynchronous operation. In
|
| + response to `CreateDataSourceFromRDS`, Amazon Machine Learning
|
| + (Amazon ML) immediately returns and sets the `DataSource`
|
| + status to `PENDING`. After the `DataSource` is created and
|
| + ready for use, Amazon ML sets the `Status` parameter to
|
| + `COMPLETED`. `DataSource` in `COMPLETED` or `PENDING` status
|
| + can only be used to perform CreateMLModel, CreateEvaluation,
|
| + or CreateBatchPrediction operations.
|
| +
|
| + If Amazon ML cannot accept the input source, it sets the
|
| + `Status` parameter to `FAILED` and includes an error message
|
| + in the `Message` attribute of the GetDataSource operation
|
| + response.
|
| +
|
| + :type data_source_id: string
|
| + :param data_source_id: A user-supplied ID that uniquely identifies the
|
| + `DataSource`. Typically, an Amazon Resource Number (ARN) becomes
|
| + the ID for a `DataSource`.
|
| +
|
| + :type data_source_name: string
|
| + :param data_source_name: A user-supplied name or description of the
|
| + `DataSource`.
|
| +
|
| + :type rds_data: dict
|
| + :param rds_data:
|
| + The data specification of an Amazon RDS `DataSource`:
|
| +
|
| +
|
| + + DatabaseInformation -
|
| +
|
| + + `DatabaseName ` - Name of the Amazon RDS database.
|
| + + ` InstanceIdentifier ` - Unique identifier for the Amazon RDS
|
| + database instance.
|
| +
|
| + + DatabaseCredentials - AWS Identity and Access Management (IAM)
|
| + credentials that are used to connect to the Amazon RDS database.
|
| + + ResourceRole - Role (DataPipelineDefaultResourceRole) assumed by an
|
| + Amazon Elastic Compute Cloud (EC2) instance to carry out the copy
|
| + task from Amazon RDS to Amazon S3. For more information, see `Role
|
| + templates`_ for data pipelines.
|
| + + ServiceRole - Role (DataPipelineDefaultRole) assumed by the AWS Data
|
| + Pipeline service to monitor the progress of the copy task from
|
| + Amazon RDS to Amazon Simple Storage Service (S3). For more
|
| + information, see `Role templates`_ for data pipelines.
|
| + + SecurityInfo - Security information to use to access an Amazon RDS
|
| + instance. You need to set up appropriate ingress rules for the
|
| + security entity IDs provided to allow access to the Amazon RDS
|
| + instance. Specify a [ `SubnetId`, `SecurityGroupIds`] pair for a
|
| + VPC-based Amazon RDS instance.
|
| + + SelectSqlQuery - Query that is used to retrieve the observation data
|
| + for the `Datasource`.
|
| + + S3StagingLocation - Amazon S3 location for staging RDS data. The data
|
| + retrieved from Amazon RDS using `SelectSqlQuery` is stored in this
|
| + location.
|
| + + DataSchemaUri - Amazon S3 location of the `DataSchema`.
|
| + + DataSchema - A JSON string representing the schema. This is not
|
| + required if `DataSchemaUri` is specified.
|
| + + DataRearrangement - A JSON string representing the splitting
|
| + requirement of a `Datasource`. Sample - ` "{\"randomSeed\":\"some-
|
| + random-seed\",
|
| + \"splitting\":{\"percentBegin\":10,\"percentEnd\":60}}"`
|
| +
|
| + :type role_arn: string
|
| + :param role_arn: The role that Amazon ML assumes on behalf of the user
|
| + to create and activate a data pipeline in the users account and
|
| + copy data (using the `SelectSqlQuery`) query from Amazon RDS to
|
| + Amazon S3.
|
| +
|
| + :type compute_statistics: boolean
|
| + :param compute_statistics: The compute statistics for a `DataSource`.
|
| + The statistics are generated from the observation data referenced
|
| + by a `DataSource`. Amazon ML uses the statistics internally during
|
| + an `MLModel` training. This parameter must be set to `True` if the
|
| + ``DataSource `` needs to be used for `MLModel` training.
|
| +
|
| + """
|
| + params = {
|
| + 'DataSourceId': data_source_id,
|
| + 'RDSData': rds_data,
|
| + 'RoleARN': role_arn,
|
| + }
|
| + if data_source_name is not None:
|
| + params['DataSourceName'] = data_source_name
|
| + if compute_statistics is not None:
|
| + params['ComputeStatistics'] = compute_statistics
|
| + return self.make_request(action='CreateDataSourceFromRDS',
|
| + body=json.dumps(params))
|
| +
|
| + def create_data_source_from_redshift(self, data_source_id, data_spec,
|
| + role_arn, data_source_name=None,
|
| + compute_statistics=None):
|
| + """
|
| + Creates a `DataSource` from `Amazon Redshift`_. A `DataSource`
|
| + references data that can be used to perform either
|
| + CreateMLModel, CreateEvaluation or CreateBatchPrediction
|
| + operations.
|
| +
|
| + `CreateDataSourceFromRedshift` is an asynchronous operation.
|
| + In response to `CreateDataSourceFromRedshift`, Amazon Machine
|
| + Learning (Amazon ML) immediately returns and sets the
|
| + `DataSource` status to `PENDING`. After the `DataSource` is
|
| + created and ready for use, Amazon ML sets the `Status`
|
| + parameter to `COMPLETED`. `DataSource` in `COMPLETED` or
|
| + `PENDING` status can only be used to perform CreateMLModel,
|
| + CreateEvaluation, or CreateBatchPrediction operations.
|
| +
|
| + If Amazon ML cannot accept the input source, it sets the
|
| + `Status` parameter to `FAILED` and includes an error message
|
| + in the `Message` attribute of the GetDataSource operation
|
| + response.
|
| +
|
| + The observations should exist in the database hosted on an
|
| + Amazon Redshift cluster and should be specified by a
|
| + `SelectSqlQuery`. Amazon ML executes ` Unload`_ command in
|
| + Amazon Redshift to transfer the result set of `SelectSqlQuery`
|
| + to `S3StagingLocation.`
|
| +
|
| + After the `DataSource` is created, it's ready for use in
|
| + evaluations and batch predictions. If you plan to use the
|
| + `DataSource` to train an `MLModel`, the `DataSource` requires
|
| + another item -- a recipe. A recipe describes the observation
|
| + variables that participate in training an `MLModel`. A recipe
|
| + describes how each input variable will be used in training.
|
| + Will the variable be included or excluded from training? Will
|
| + the variable be manipulated, for example, combined with
|
| + another variable or split apart into word combinations? The
|
| + recipe provides answers to these questions. For more
|
| + information, see the Amazon Machine Learning Developer Guide.
|
| +
|
| + :type data_source_id: string
|
| + :param data_source_id: A user-supplied ID that uniquely identifies the
|
| + `DataSource`.
|
| +
|
| + :type data_source_name: string
|
| + :param data_source_name: A user-supplied name or description of the
|
| + `DataSource`.
|
| +
|
| + :type data_spec: dict
|
| + :param data_spec:
|
| + The data specification of an Amazon Redshift `DataSource`:
|
| +
|
| +
|
| + + DatabaseInformation -
|
| +
|
| + + `DatabaseName ` - Name of the Amazon Redshift database.
|
| + + ` ClusterIdentifier ` - Unique ID for the Amazon Redshift cluster.
|
| +
|
| + + DatabaseCredentials - AWS Identity abd Access Management (IAM)
|
| + credentials that are used to connect to the Amazon Redshift
|
| + database.
|
| + + SelectSqlQuery - Query that is used to retrieve the observation data
|
| + for the `Datasource`.
|
| + + S3StagingLocation - Amazon Simple Storage Service (Amazon S3)
|
| + location for staging Amazon Redshift data. The data retrieved from
|
| + Amazon Relational Database Service (Amazon RDS) using
|
| + `SelectSqlQuery` is stored in this location.
|
| + + DataSchemaUri - Amazon S3 location of the `DataSchema`.
|
| + + DataSchema - A JSON string representing the schema. This is not
|
| + required if `DataSchemaUri` is specified.
|
| + + DataRearrangement - A JSON string representing the splitting
|
| + requirement of a `Datasource`. Sample - ` "{\"randomSeed\":\"some-
|
| + random-seed\",
|
| + \"splitting\":{\"percentBegin\":10,\"percentEnd\":60}}"`
|
| +
|
| + :type role_arn: string
|
| + :param role_arn: A fully specified role Amazon Resource Name (ARN).
|
| + Amazon ML assumes the role on behalf of the user to create the
|
| + following:
|
| +
|
| +
|
| + + A security group to allow Amazon ML to execute the `SelectSqlQuery`
|
| + query on an Amazon Redshift cluster
|
| + + An Amazon S3 bucket policy to grant Amazon ML read/write permissions
|
| + on the `S3StagingLocation`
|
| +
|
| + :type compute_statistics: boolean
|
| + :param compute_statistics: The compute statistics for a `DataSource`.
|
| + The statistics are generated from the observation data referenced
|
| + by a `DataSource`. Amazon ML uses the statistics internally during
|
| + `MLModel` training. This parameter must be set to `True` if the
|
| + ``DataSource `` needs to be used for `MLModel` training
|
| +
|
| + """
|
| + params = {
|
| + 'DataSourceId': data_source_id,
|
| + 'DataSpec': data_spec,
|
| + 'RoleARN': role_arn,
|
| + }
|
| + if data_source_name is not None:
|
| + params['DataSourceName'] = data_source_name
|
| + if compute_statistics is not None:
|
| + params['ComputeStatistics'] = compute_statistics
|
| + return self.make_request(action='CreateDataSourceFromRedshift',
|
| + body=json.dumps(params))
|
| +
|
| + def create_data_source_from_s3(self, data_source_id, data_spec,
|
| + data_source_name=None,
|
| + compute_statistics=None):
|
| + """
|
| + Creates a `DataSource` object. A `DataSource` references data
|
| + that can be used to perform CreateMLModel, CreateEvaluation,
|
| + or CreateBatchPrediction operations.
|
| +
|
| + `CreateDataSourceFromS3` is an asynchronous operation. In
|
| + response to `CreateDataSourceFromS3`, Amazon Machine Learning
|
| + (Amazon ML) immediately returns and sets the `DataSource`
|
| + status to `PENDING`. After the `DataSource` is created and
|
| + ready for use, Amazon ML sets the `Status` parameter to
|
| + `COMPLETED`. `DataSource` in `COMPLETED` or `PENDING` status
|
| + can only be used to perform CreateMLModel, CreateEvaluation or
|
| + CreateBatchPrediction operations.
|
| +
|
| + If Amazon ML cannot accept the input source, it sets the
|
| + `Status` parameter to `FAILED` and includes an error message
|
| + in the `Message` attribute of the GetDataSource operation
|
| + response.
|
| +
|
| + The observation data used in a `DataSource` should be ready to
|
| + use; that is, it should have a consistent structure, and
|
| + missing data values should be kept to a minimum. The
|
| + observation data must reside in one or more CSV files in an
|
| + Amazon Simple Storage Service (Amazon S3) bucket, along with a
|
| + schema that describes the data items by name and type. The
|
| + same schema must be used for all of the data files referenced
|
| + by the `DataSource`.
|
| +
|
| + After the `DataSource` has been created, it's ready to use in
|
| + evaluations and batch predictions. If you plan to use the
|
| + `DataSource` to train an `MLModel`, the `DataSource` requires
|
| + another item: a recipe. A recipe describes the observation
|
| + variables that participate in training an `MLModel`. A recipe
|
| + describes how each input variable will be used in training.
|
| + Will the variable be included or excluded from training? Will
|
| + the variable be manipulated, for example, combined with
|
| + another variable, or split apart into word combinations? The
|
| + recipe provides answers to these questions. For more
|
| + information, see the `Amazon Machine Learning Developer
|
| + Guide`_.
|
| +
|
| + :type data_source_id: string
|
| + :param data_source_id: A user-supplied identifier that uniquely
|
| + identifies the `DataSource`.
|
| +
|
| + :type data_source_name: string
|
| + :param data_source_name: A user-supplied name or description of the
|
| + `DataSource`.
|
| +
|
| + :type data_spec: dict
|
| + :param data_spec:
|
| + The data specification of a `DataSource`:
|
| +
|
| +
|
| + + DataLocationS3 - Amazon Simple Storage Service (Amazon S3) location
|
| + of the observation data.
|
| + + DataSchemaLocationS3 - Amazon S3 location of the `DataSchema`.
|
| + + DataSchema - A JSON string representing the schema. This is not
|
| + required if `DataSchemaUri` is specified.
|
| + + DataRearrangement - A JSON string representing the splitting
|
| + requirement of a `Datasource`. Sample - ` "{\"randomSeed\":\"some-
|
| + random-seed\",
|
| + \"splitting\":{\"percentBegin\":10,\"percentEnd\":60}}"`
|
| +
|
| + :type compute_statistics: boolean
|
| + :param compute_statistics: The compute statistics for a `DataSource`.
|
| + The statistics are generated from the observation data referenced
|
| + by a `DataSource`. Amazon ML uses the statistics internally during
|
| + an `MLModel` training. This parameter must be set to `True` if the
|
| + ``DataSource `` needs to be used for `MLModel` training
|
| +
|
| + """
|
| + params = {
|
| + 'DataSourceId': data_source_id,
|
| + 'DataSpec': data_spec,
|
| + }
|
| + if data_source_name is not None:
|
| + params['DataSourceName'] = data_source_name
|
| + if compute_statistics is not None:
|
| + params['ComputeStatistics'] = compute_statistics
|
| + return self.make_request(action='CreateDataSourceFromS3',
|
| + body=json.dumps(params))
|
| +
|
| + def create_evaluation(self, evaluation_id, ml_model_id,
|
| + evaluation_data_source_id, evaluation_name=None):
|
| + """
|
| + Creates a new `Evaluation` of an `MLModel`. An `MLModel` is
|
| + evaluated on a set of observations associated to a
|
| + `DataSource`. Like a `DataSource` for an `MLModel`, the
|
| + `DataSource` for an `Evaluation` contains values for the
|
| + Target Variable. The `Evaluation` compares the predicted
|
| + result for each observation to the actual outcome and provides
|
| + a summary so that you know how effective the `MLModel`
|
| + functions on the test data. Evaluation generates a relevant
|
| + performance metric such as BinaryAUC, RegressionRMSE or
|
| + MulticlassAvgFScore based on the corresponding `MLModelType`:
|
| + `BINARY`, `REGRESSION` or `MULTICLASS`.
|
| +
|
| + `CreateEvaluation` is an asynchronous operation. In response
|
| + to `CreateEvaluation`, Amazon Machine Learning (Amazon ML)
|
| + immediately returns and sets the evaluation status to
|
| + `PENDING`. After the `Evaluation` is created and ready for
|
| + use, Amazon ML sets the status to `COMPLETED`.
|
| +
|
| + You can use the GetEvaluation operation to check progress of
|
| + the evaluation during the creation operation.
|
| +
|
| + :type evaluation_id: string
|
| + :param evaluation_id: A user-supplied ID that uniquely identifies the
|
| + `Evaluation`.
|
| +
|
| + :type evaluation_name: string
|
| + :param evaluation_name: A user-supplied name or description of the
|
| + `Evaluation`.
|
| +
|
| + :type ml_model_id: string
|
| + :param ml_model_id: The ID of the `MLModel` to evaluate.
|
| + The schema used in creating the `MLModel` must match the schema of the
|
| + `DataSource` used in the `Evaluation`.
|
| +
|
| + :type evaluation_data_source_id: string
|
| + :param evaluation_data_source_id: The ID of the `DataSource` for the
|
| + evaluation. The schema of the `DataSource` must match the schema
|
| + used to create the `MLModel`.
|
| +
|
| + """
|
| + params = {
|
| + 'EvaluationId': evaluation_id,
|
| + 'MLModelId': ml_model_id,
|
| + 'EvaluationDataSourceId': evaluation_data_source_id,
|
| + }
|
| + if evaluation_name is not None:
|
| + params['EvaluationName'] = evaluation_name
|
| + return self.make_request(action='CreateEvaluation',
|
| + body=json.dumps(params))
|
| +
|
| + def create_ml_model(self, ml_model_id, ml_model_type,
|
| + training_data_source_id, ml_model_name=None,
|
| + parameters=None, recipe=None, recipe_uri=None):
|
| + """
|
| + Creates a new `MLModel` using the data files and the recipe as
|
| + information sources.
|
| +
|
| + An `MLModel` is nearly immutable. Users can only update the
|
| + `MLModelName` and the `ScoreThreshold` in an `MLModel` without
|
| + creating a new `MLModel`.
|
| +
|
| + `CreateMLModel` is an asynchronous operation. In response to
|
| + `CreateMLModel`, Amazon Machine Learning (Amazon ML)
|
| + immediately returns and sets the `MLModel` status to
|
| + `PENDING`. After the `MLModel` is created and ready for use,
|
| + Amazon ML sets the status to `COMPLETED`.
|
| +
|
| + You can use the GetMLModel operation to check progress of the
|
| + `MLModel` during the creation operation.
|
| +
|
| + CreateMLModel requires a `DataSource` with computed
|
| + statistics, which can be created by setting
|
| + `ComputeStatistics` to `True` in CreateDataSourceFromRDS,
|
| + CreateDataSourceFromS3, or CreateDataSourceFromRedshift
|
| + operations.
|
| +
|
| + :type ml_model_id: string
|
| + :param ml_model_id: A user-supplied ID that uniquely identifies the
|
| + `MLModel`.
|
| +
|
| + :type ml_model_name: string
|
| + :param ml_model_name: A user-supplied name or description of the
|
| + `MLModel`.
|
| +
|
| + :type ml_model_type: string
|
| + :param ml_model_type: The category of supervised learning that this
|
| + `MLModel` will address. Choose from the following types:
|
| +
|
| + + Choose `REGRESSION` if the `MLModel` will be used to predict a
|
| + numeric value.
|
| + + Choose `BINARY` if the `MLModel` result has two possible values.
|
| + + Choose `MULTICLASS` if the `MLModel` result has a limited number of
|
| + values.
|
| +
|
| +
|
| + For more information, see the `Amazon Machine Learning Developer
|
| + Guide`_.
|
| +
|
| + :type parameters: map
|
| + :param parameters:
|
| + 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.l1RegularizationAmount` - Coefficient regularization L1 norm. It
|
| + controls overfitting the data by penalizing large coefficients.
|
| + This tends to drive coefficients to zero, resulting in 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 not to use L1 normalization. The
|
| + parameter cannot be used when `L2` is specified. Use this parameter
|
| + sparingly.
|
| + + `sgd.l2RegularizationAmount` - 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 valuseis a double that ranges from 0 to MAX_DOUBLE.
|
| + The default is not to use L2 normalization. This cannot be used
|
| + when `L1` is specified. Use this parameter sparingly.
|
| + + `sgd.maxPasses` - Number of times that the training process traverses
|
| + the observations to build the `MLModel`. The value is an integer
|
| + that ranges from 1 to 10000. The default value is 10.
|
| + + `sgd.maxMLModelSizeInBytes` - 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.
|
| +
|
| + :type training_data_source_id: string
|
| + :param training_data_source_id: The `DataSource` that points to the
|
| + training data.
|
| +
|
| + :type recipe: string
|
| + :param recipe: The data recipe for creating `MLModel`. You must specify
|
| + either the recipe or its URI. If you dont specify a recipe or its
|
| + URI, Amazon ML creates a default.
|
| +
|
| + :type recipe_uri: string
|
| + :param recipe_uri: The Amazon Simple Storage Service (Amazon S3)
|
| + location and file name that contains the `MLModel` recipe. You must
|
| + specify either the recipe or its URI. If you dont specify a recipe
|
| + or its URI, Amazon ML creates a default.
|
| +
|
| + """
|
| + params = {
|
| + 'MLModelId': ml_model_id,
|
| + 'MLModelType': ml_model_type,
|
| + 'TrainingDataSourceId': training_data_source_id,
|
| + }
|
| + if ml_model_name is not None:
|
| + params['MLModelName'] = ml_model_name
|
| + if parameters is not None:
|
| + params['Parameters'] = parameters
|
| + if recipe is not None:
|
| + params['Recipe'] = recipe
|
| + if recipe_uri is not None:
|
| + params['RecipeUri'] = recipe_uri
|
| + return self.make_request(action='CreateMLModel',
|
| + body=json.dumps(params))
|
| +
|
| + def create_realtime_endpoint(self, ml_model_id):
|
| + """
|
| + Creates a real-time endpoint for the `MLModel`. The endpoint
|
| + contains the URI of the `MLModel`; that is, the location to
|
| + send real-time prediction requests for the specified
|
| + `MLModel`.
|
| +
|
| + :type ml_model_id: string
|
| + :param ml_model_id: The ID assigned to the `MLModel` during creation.
|
| +
|
| + """
|
| + params = {'MLModelId': ml_model_id, }
|
| + return self.make_request(action='CreateRealtimeEndpoint',
|
| + body=json.dumps(params))
|
| +
|
| + def delete_batch_prediction(self, batch_prediction_id):
|
| + """
|
| + Assigns the DELETED status to a `BatchPrediction`, rendering
|
| + it unusable.
|
| +
|
| + After using the `DeleteBatchPrediction` operation, you can use
|
| + the GetBatchPrediction operation to verify that the status of
|
| + the `BatchPrediction` changed to DELETED.
|
| +
|
| + The result of the `DeleteBatchPrediction` operation is
|
| + irreversible.
|
| +
|
| + :type batch_prediction_id: string
|
| + :param batch_prediction_id: A user-supplied ID that uniquely identifies
|
| + the `BatchPrediction`.
|
| +
|
| + """
|
| + params = {'BatchPredictionId': batch_prediction_id, }
|
| + return self.make_request(action='DeleteBatchPrediction',
|
| + body=json.dumps(params))
|
| +
|
| + def delete_data_source(self, data_source_id):
|
| + """
|
| + Assigns the DELETED status to a `DataSource`, rendering it
|
| + unusable.
|
| +
|
| + After using the `DeleteDataSource` operation, you can use the
|
| + GetDataSource operation to verify that the status of the
|
| + `DataSource` changed to DELETED.
|
| +
|
| + The results of the `DeleteDataSource` operation are
|
| + irreversible.
|
| +
|
| + :type data_source_id: string
|
| + :param data_source_id: A user-supplied ID that uniquely identifies the
|
| + `DataSource`.
|
| +
|
| + """
|
| + params = {'DataSourceId': data_source_id, }
|
| + return self.make_request(action='DeleteDataSource',
|
| + body=json.dumps(params))
|
| +
|
| + def delete_evaluation(self, evaluation_id):
|
| + """
|
| + Assigns the `DELETED` status to an `Evaluation`, rendering it
|
| + unusable.
|
| +
|
| + After invoking the `DeleteEvaluation` operation, you can use
|
| + the GetEvaluation operation to verify that the status of the
|
| + `Evaluation` changed to `DELETED`.
|
| +
|
| + The results of the `DeleteEvaluation` operation are
|
| + irreversible.
|
| +
|
| + :type evaluation_id: string
|
| + :param evaluation_id: A user-supplied ID that uniquely identifies the
|
| + `Evaluation` to delete.
|
| +
|
| + """
|
| + params = {'EvaluationId': evaluation_id, }
|
| + return self.make_request(action='DeleteEvaluation',
|
| + body=json.dumps(params))
|
| +
|
| + def delete_ml_model(self, ml_model_id):
|
| + """
|
| + Assigns the DELETED status to an `MLModel`, rendering it
|
| + unusable.
|
| +
|
| + After using the `DeleteMLModel` operation, you can use the
|
| + GetMLModel operation to verify that the status of the
|
| + `MLModel` changed to DELETED.
|
| +
|
| + The result of the `DeleteMLModel` operation is irreversible.
|
| +
|
| + :type ml_model_id: string
|
| + :param ml_model_id: A user-supplied ID that uniquely identifies the
|
| + `MLModel`.
|
| +
|
| + """
|
| + params = {'MLModelId': ml_model_id, }
|
| + return self.make_request(action='DeleteMLModel',
|
| + body=json.dumps(params))
|
| +
|
| + def delete_realtime_endpoint(self, ml_model_id):
|
| + """
|
| + Deletes a real time endpoint of an `MLModel`.
|
| +
|
| + :type ml_model_id: string
|
| + :param ml_model_id: The ID assigned to the `MLModel` during creation.
|
| +
|
| + """
|
| + params = {'MLModelId': ml_model_id, }
|
| + return self.make_request(action='DeleteRealtimeEndpoint',
|
| + body=json.dumps(params))
|
| +
|
| + def describe_batch_predictions(self, filter_variable=None, eq=None,
|
| + gt=None, lt=None, ge=None, le=None,
|
| + ne=None, prefix=None, sort_order=None,
|
| + next_token=None, limit=None):
|
| + """
|
| + Returns a list of `BatchPrediction` operations that match the
|
| + search criteria in the request.
|
| +
|
| + :type filter_variable: string
|
| + :param filter_variable:
|
| + Use one of the following variables to filter a list of
|
| + `BatchPrediction`:
|
| +
|
| +
|
| + + `CreatedAt` - Sets the search criteria to the `BatchPrediction`
|
| + creation date.
|
| + + `Status` - Sets the search criteria to the `BatchPrediction` status.
|
| + + `Name` - Sets the search criteria to the contents of the
|
| + `BatchPrediction` ** ** `Name`.
|
| + + `IAMUser` - Sets the search criteria to the user account that invoked
|
| + the `BatchPrediction` creation.
|
| + + `MLModelId` - Sets the search criteria to the `MLModel` used in the
|
| + `BatchPrediction`.
|
| + + `DataSourceId` - Sets the search criteria to the `DataSource` used in
|
| + the `BatchPrediction`.
|
| + + `DataURI` - Sets the search criteria to the data file(s) used in the
|
| + `BatchPrediction`. The URL can identify either a file or an Amazon
|
| + Simple Storage Solution (Amazon S3) bucket or directory.
|
| +
|
| + :type eq: string
|
| + :param eq: The equal to operator. The `BatchPrediction` results will
|
| + have `FilterVariable` values that exactly match the value specified
|
| + with `EQ`.
|
| +
|
| + :type gt: string
|
| + :param gt: The greater than operator. The `BatchPrediction` results
|
| + will have `FilterVariable` values that are greater than the value
|
| + specified with `GT`.
|
| +
|
| + :type lt: string
|
| + :param lt: The less than operator. The `BatchPrediction` results will
|
| + have `FilterVariable` values that are less than the value specified
|
| + with `LT`.
|
| +
|
| + :type ge: string
|
| + :param ge: The greater than or equal to operator. The `BatchPrediction`
|
| + results will have `FilterVariable` values that are greater than or
|
| + equal to the value specified with `GE`.
|
| +
|
| + :type le: string
|
| + :param le: The less than or equal to operator. The `BatchPrediction`
|
| + results will have `FilterVariable` values that are less than or
|
| + equal to the value specified with `LE`.
|
| +
|
| + :type ne: string
|
| + :param ne: The not equal to operator. The `BatchPrediction` results
|
| + will have `FilterVariable` values not equal to the value specified
|
| + with `NE`.
|
| +
|
| + :type prefix: string
|
| + :param prefix:
|
| + A string that is found at the beginning of a variable, such as `Name`
|
| + or `Id`.
|
| +
|
| + For example, a `Batch Prediction` operation could have the `Name`
|
| + `2014-09-09-HolidayGiftMailer`. To search for this
|
| + `BatchPrediction`, select `Name` for the `FilterVariable` and any
|
| + of the following strings for the `Prefix`:
|
| +
|
| +
|
| + + 2014-09
|
| + + 2014-09-09
|
| + + 2014-09-09-Holiday
|
| +
|
| + :type sort_order: string
|
| + :param sort_order: A two-value parameter that determines the sequence
|
| + of the resulting list of `MLModel`s.
|
| +
|
| + + `asc` - Arranges the list in ascending order (A-Z, 0-9).
|
| + + `dsc` - Arranges the list in descending order (Z-A, 9-0).
|
| +
|
| +
|
| + Results are sorted by `FilterVariable`.
|
| +
|
| + :type next_token: string
|
| + :param next_token: An ID of the page in the paginated results.
|
| +
|
| + :type limit: integer
|
| + :param limit: The number of pages of information to include in the
|
| + result. The range of acceptable values is 1 through 100. The
|
| + default value is 100.
|
| +
|
| + """
|
| + params = {}
|
| + if filter_variable is not None:
|
| + params['FilterVariable'] = filter_variable
|
| + if eq is not None:
|
| + params['EQ'] = eq
|
| + if gt is not None:
|
| + params['GT'] = gt
|
| + if lt is not None:
|
| + params['LT'] = lt
|
| + if ge is not None:
|
| + params['GE'] = ge
|
| + if le is not None:
|
| + params['LE'] = le
|
| + if ne is not None:
|
| + params['NE'] = ne
|
| + if prefix is not None:
|
| + params['Prefix'] = prefix
|
| + if sort_order is not None:
|
| + params['SortOrder'] = sort_order
|
| + if next_token is not None:
|
| + params['NextToken'] = next_token
|
| + if limit is not None:
|
| + params['Limit'] = limit
|
| + return self.make_request(action='DescribeBatchPredictions',
|
| + body=json.dumps(params))
|
| +
|
| + def describe_data_sources(self, filter_variable=None, eq=None, gt=None,
|
| + lt=None, ge=None, le=None, ne=None,
|
| + prefix=None, sort_order=None, next_token=None,
|
| + limit=None):
|
| + """
|
| + Returns a list of `DataSource` that match the search criteria
|
| + in the request.
|
| +
|
| + :type filter_variable: string
|
| + :param filter_variable:
|
| + Use one of the following variables to filter a list of `DataSource`:
|
| +
|
| +
|
| + + `CreatedAt` - Sets the search criteria to `DataSource` creation
|
| + dates.
|
| + + `Status` - Sets the search criteria to `DataSource` statuses.
|
| + + `Name` - Sets the search criteria to the contents of `DataSource` **
|
| + ** `Name`.
|
| + + `DataUri` - Sets the search criteria to the URI of data files used to
|
| + create the `DataSource`. The URI can identify either a file or an
|
| + Amazon Simple Storage Service (Amazon S3) bucket or directory.
|
| + + `IAMUser` - Sets the search criteria to the user account that invoked
|
| + the `DataSource` creation.
|
| +
|
| + :type eq: string
|
| + :param eq: The equal to operator. The `DataSource` results will have
|
| + `FilterVariable` values that exactly match the value specified with
|
| + `EQ`.
|
| +
|
| + :type gt: string
|
| + :param gt: The greater than operator. The `DataSource` results will
|
| + have `FilterVariable` values that are greater than the value
|
| + specified with `GT`.
|
| +
|
| + :type lt: string
|
| + :param lt: The less than operator. The `DataSource` results will have
|
| + `FilterVariable` values that are less than the value specified with
|
| + `LT`.
|
| +
|
| + :type ge: string
|
| + :param ge: The greater than or equal to operator. The `DataSource`
|
| + results will have `FilterVariable` values that are greater than or
|
| + equal to the value specified with `GE`.
|
| +
|
| + :type le: string
|
| + :param le: The less than or equal to operator. The `DataSource` results
|
| + will have `FilterVariable` values that are less than or equal to
|
| + the value specified with `LE`.
|
| +
|
| + :type ne: string
|
| + :param ne: The not equal to operator. The `DataSource` results will
|
| + have `FilterVariable` values not equal to the value specified with
|
| + `NE`.
|
| +
|
| + :type prefix: string
|
| + :param prefix:
|
| + A string that is found at the beginning of a variable, such as `Name`
|
| + or `Id`.
|
| +
|
| + For example, a `DataSource` could have the `Name`
|
| + `2014-09-09-HolidayGiftMailer`. To search for this `DataSource`,
|
| + select `Name` for the `FilterVariable` and any of the following
|
| + strings for the `Prefix`:
|
| +
|
| +
|
| + + 2014-09
|
| + + 2014-09-09
|
| + + 2014-09-09-Holiday
|
| +
|
| + :type sort_order: string
|
| + :param sort_order: A two-value parameter that determines the sequence
|
| + of the resulting list of `DataSource`.
|
| +
|
| + + `asc` - Arranges the list in ascending order (A-Z, 0-9).
|
| + + `dsc` - Arranges the list in descending order (Z-A, 9-0).
|
| +
|
| +
|
| + Results are sorted by `FilterVariable`.
|
| +
|
| + :type next_token: string
|
| + :param next_token: The ID of the page in the paginated results.
|
| +
|
| + :type limit: integer
|
| + :param limit: The maximum number of `DataSource` to include in the
|
| + result.
|
| +
|
| + """
|
| + params = {}
|
| + if filter_variable is not None:
|
| + params['FilterVariable'] = filter_variable
|
| + if eq is not None:
|
| + params['EQ'] = eq
|
| + if gt is not None:
|
| + params['GT'] = gt
|
| + if lt is not None:
|
| + params['LT'] = lt
|
| + if ge is not None:
|
| + params['GE'] = ge
|
| + if le is not None:
|
| + params['LE'] = le
|
| + if ne is not None:
|
| + params['NE'] = ne
|
| + if prefix is not None:
|
| + params['Prefix'] = prefix
|
| + if sort_order is not None:
|
| + params['SortOrder'] = sort_order
|
| + if next_token is not None:
|
| + params['NextToken'] = next_token
|
| + if limit is not None:
|
| + params['Limit'] = limit
|
| + return self.make_request(action='DescribeDataSources',
|
| + body=json.dumps(params))
|
| +
|
| + def describe_evaluations(self, filter_variable=None, eq=None, gt=None,
|
| + lt=None, ge=None, le=None, ne=None, prefix=None,
|
| + sort_order=None, next_token=None, limit=None):
|
| + """
|
| + Returns a list of `DescribeEvaluations` that match the search
|
| + criteria in the request.
|
| +
|
| + :type filter_variable: string
|
| + :param filter_variable:
|
| + Use one of the following variable to filter a list of `Evaluation`
|
| + objects:
|
| +
|
| +
|
| + + `CreatedAt` - Sets the search criteria to the `Evaluation` creation
|
| + date.
|
| + + `Status` - Sets the search criteria to the `Evaluation` status.
|
| + + `Name` - Sets the search criteria to the contents of `Evaluation` **
|
| + ** `Name`.
|
| + + `IAMUser` - Sets the search criteria to the user account that invoked
|
| + an `Evaluation`.
|
| + + `MLModelId` - Sets the search criteria to the `MLModel` that was
|
| + evaluated.
|
| + + `DataSourceId` - Sets the search criteria to the `DataSource` used in
|
| + `Evaluation`.
|
| + + `DataUri` - Sets the search criteria to the data file(s) used in
|
| + `Evaluation`. The URL can identify either a file or an Amazon
|
| + Simple Storage Solution (Amazon S3) bucket or directory.
|
| +
|
| + :type eq: string
|
| + :param eq: The equal to operator. The `Evaluation` results will have
|
| + `FilterVariable` values that exactly match the value specified with
|
| + `EQ`.
|
| +
|
| + :type gt: string
|
| + :param gt: The greater than operator. The `Evaluation` results will
|
| + have `FilterVariable` values that are greater than the value
|
| + specified with `GT`.
|
| +
|
| + :type lt: string
|
| + :param lt: The less than operator. The `Evaluation` results will have
|
| + `FilterVariable` values that are less than the value specified with
|
| + `LT`.
|
| +
|
| + :type ge: string
|
| + :param ge: The greater than or equal to operator. The `Evaluation`
|
| + results will have `FilterVariable` values that are greater than or
|
| + equal to the value specified with `GE`.
|
| +
|
| + :type le: string
|
| + :param le: The less than or equal to operator. The `Evaluation` results
|
| + will have `FilterVariable` values that are less than or equal to
|
| + the value specified with `LE`.
|
| +
|
| + :type ne: string
|
| + :param ne: The not equal to operator. The `Evaluation` results will
|
| + have `FilterVariable` values not equal to the value specified with
|
| + `NE`.
|
| +
|
| + :type prefix: string
|
| + :param prefix:
|
| + A string that is found at the beginning of a variable, such as `Name`
|
| + or `Id`.
|
| +
|
| + For example, an `Evaluation` could have the `Name`
|
| + `2014-09-09-HolidayGiftMailer`. To search for this `Evaluation`,
|
| + select `Name` for the `FilterVariable` and any of the following
|
| + strings for the `Prefix`:
|
| +
|
| +
|
| + + 2014-09
|
| + + 2014-09-09
|
| + + 2014-09-09-Holiday
|
| +
|
| + :type sort_order: string
|
| + :param sort_order: A two-value parameter that determines the sequence
|
| + of the resulting list of `Evaluation`.
|
| +
|
| + + `asc` - Arranges the list in ascending order (A-Z, 0-9).
|
| + + `dsc` - Arranges the list in descending order (Z-A, 9-0).
|
| +
|
| +
|
| + Results are sorted by `FilterVariable`.
|
| +
|
| + :type next_token: string
|
| + :param next_token: The ID of the page in the paginated results.
|
| +
|
| + :type limit: integer
|
| + :param limit: The maximum number of `Evaluation` to include in the
|
| + result.
|
| +
|
| + """
|
| + params = {}
|
| + if filter_variable is not None:
|
| + params['FilterVariable'] = filter_variable
|
| + if eq is not None:
|
| + params['EQ'] = eq
|
| + if gt is not None:
|
| + params['GT'] = gt
|
| + if lt is not None:
|
| + params['LT'] = lt
|
| + if ge is not None:
|
| + params['GE'] = ge
|
| + if le is not None:
|
| + params['LE'] = le
|
| + if ne is not None:
|
| + params['NE'] = ne
|
| + if prefix is not None:
|
| + params['Prefix'] = prefix
|
| + if sort_order is not None:
|
| + params['SortOrder'] = sort_order
|
| + if next_token is not None:
|
| + params['NextToken'] = next_token
|
| + if limit is not None:
|
| + params['Limit'] = limit
|
| + return self.make_request(action='DescribeEvaluations',
|
| + body=json.dumps(params))
|
| +
|
| + def describe_ml_models(self, filter_variable=None, eq=None, gt=None,
|
| + lt=None, ge=None, le=None, ne=None, prefix=None,
|
| + sort_order=None, next_token=None, limit=None):
|
| + """
|
| + Returns a list of `MLModel` that match the search criteria in
|
| + the request.
|
| +
|
| + :type filter_variable: string
|
| + :param filter_variable:
|
| + Use one of the following variables to filter a list of `MLModel`:
|
| +
|
| +
|
| + + `CreatedAt` - Sets the search criteria to `MLModel` creation date.
|
| + + `Status` - Sets the search criteria to `MLModel` status.
|
| + + `Name` - Sets the search criteria to the contents of `MLModel` ** **
|
| + `Name`.
|
| + + `IAMUser` - Sets the search criteria to the user account that invoked
|
| + the `MLModel` creation.
|
| + + `TrainingDataSourceId` - Sets the search criteria to the `DataSource`
|
| + used to train one or more `MLModel`.
|
| + + `RealtimeEndpointStatus` - Sets the search criteria to the `MLModel`
|
| + real-time endpoint status.
|
| + + `MLModelType` - Sets the search criteria to `MLModel` type: binary,
|
| + regression, or multi-class.
|
| + + `Algorithm` - Sets the search criteria to the algorithm that the
|
| + `MLModel` uses.
|
| + + `TrainingDataURI` - Sets the search criteria to the data file(s) used
|
| + in training a `MLModel`. The URL can identify either a file or an
|
| + Amazon Simple Storage Service (Amazon S3) bucket or directory.
|
| +
|
| + :type eq: string
|
| + :param eq: The equal to operator. The `MLModel` results will have
|
| + `FilterVariable` values that exactly match the value specified with
|
| + `EQ`.
|
| +
|
| + :type gt: string
|
| + :param gt: The greater than operator. The `MLModel` results will have
|
| + `FilterVariable` values that are greater than the value specified
|
| + with `GT`.
|
| +
|
| + :type lt: string
|
| + :param lt: The less than operator. The `MLModel` results will have
|
| + `FilterVariable` values that are less than the value specified with
|
| + `LT`.
|
| +
|
| + :type ge: string
|
| + :param ge: The greater than or equal to operator. The `MLModel` results
|
| + will have `FilterVariable` values that are greater than or equal to
|
| + the value specified with `GE`.
|
| +
|
| + :type le: string
|
| + :param le: The less than or equal to operator. The `MLModel` results
|
| + will have `FilterVariable` values that are less than or equal to
|
| + the value specified with `LE`.
|
| +
|
| + :type ne: string
|
| + :param ne: The not equal to operator. The `MLModel` results will have
|
| + `FilterVariable` values not equal to the value specified with `NE`.
|
| +
|
| + :type prefix: string
|
| + :param prefix:
|
| + A string that is found at the beginning of a variable, such as `Name`
|
| + or `Id`.
|
| +
|
| + For example, an `MLModel` could have the `Name`
|
| + `2014-09-09-HolidayGiftMailer`. To search for this `MLModel`,
|
| + select `Name` for the `FilterVariable` and any of the following
|
| + strings for the `Prefix`:
|
| +
|
| +
|
| + + 2014-09
|
| + + 2014-09-09
|
| + + 2014-09-09-Holiday
|
| +
|
| + :type sort_order: string
|
| + :param sort_order: A two-value parameter that determines the sequence
|
| + of the resulting list of `MLModel`.
|
| +
|
| + + `asc` - Arranges the list in ascending order (A-Z, 0-9).
|
| + + `dsc` - Arranges the list in descending order (Z-A, 9-0).
|
| +
|
| +
|
| + Results are sorted by `FilterVariable`.
|
| +
|
| + :type next_token: string
|
| + :param next_token: The ID of the page in the paginated results.
|
| +
|
| + :type limit: integer
|
| + :param limit: The number of pages of information to include in the
|
| + result. The range of acceptable values is 1 through 100. The
|
| + default value is 100.
|
| +
|
| + """
|
| + params = {}
|
| + if filter_variable is not None:
|
| + params['FilterVariable'] = filter_variable
|
| + if eq is not None:
|
| + params['EQ'] = eq
|
| + if gt is not None:
|
| + params['GT'] = gt
|
| + if lt is not None:
|
| + params['LT'] = lt
|
| + if ge is not None:
|
| + params['GE'] = ge
|
| + if le is not None:
|
| + params['LE'] = le
|
| + if ne is not None:
|
| + params['NE'] = ne
|
| + if prefix is not None:
|
| + params['Prefix'] = prefix
|
| + if sort_order is not None:
|
| + params['SortOrder'] = sort_order
|
| + if next_token is not None:
|
| + params['NextToken'] = next_token
|
| + if limit is not None:
|
| + params['Limit'] = limit
|
| + return self.make_request(action='DescribeMLModels',
|
| + body=json.dumps(params))
|
| +
|
| + def get_batch_prediction(self, batch_prediction_id):
|
| + """
|
| + Returns a `BatchPrediction` that includes detailed metadata,
|
| + status, and data file information for a `Batch Prediction`
|
| + request.
|
| +
|
| + :type batch_prediction_id: string
|
| + :param batch_prediction_id: An ID assigned to the `BatchPrediction` at
|
| + creation.
|
| +
|
| + """
|
| + params = {'BatchPredictionId': batch_prediction_id, }
|
| + return self.make_request(action='GetBatchPrediction',
|
| + body=json.dumps(params))
|
| +
|
| + def get_data_source(self, data_source_id, verbose=None):
|
| + """
|
| + Returns a `DataSource` that includes metadata and data file
|
| + information, as well as the current status of the
|
| + `DataSource`.
|
| +
|
| + `GetDataSource` provides results in normal or verbose format.
|
| + The verbose format adds the schema description and the list of
|
| + files pointed to by the DataSource to the normal format.
|
| +
|
| + :type data_source_id: string
|
| + :param data_source_id: The ID assigned to the `DataSource` at creation.
|
| +
|
| + :type verbose: boolean
|
| + :param verbose: Specifies whether the `GetDataSource` operation should
|
| + return `DataSourceSchema`.
|
| + If true, `DataSourceSchema` is returned.
|
| +
|
| + If false, `DataSourceSchema` is not returned.
|
| +
|
| + """
|
| + params = {'DataSourceId': data_source_id, }
|
| + if verbose is not None:
|
| + params['Verbose'] = verbose
|
| + return self.make_request(action='GetDataSource',
|
| + body=json.dumps(params))
|
| +
|
| + def get_evaluation(self, evaluation_id):
|
| + """
|
| + Returns an `Evaluation` that includes metadata as well as the
|
| + current status of the `Evaluation`.
|
| +
|
| + :type evaluation_id: string
|
| + :param evaluation_id: The ID of the `Evaluation` to retrieve. The
|
| + evaluation of each `MLModel` is recorded and cataloged. The ID
|
| + provides the means to access the information.
|
| +
|
| + """
|
| + params = {'EvaluationId': evaluation_id, }
|
| + return self.make_request(action='GetEvaluation',
|
| + body=json.dumps(params))
|
| +
|
| + def get_ml_model(self, ml_model_id, verbose=None):
|
| + """
|
| + Returns an `MLModel` that includes detailed metadata, and data
|
| + source information as well as the current status of the
|
| + `MLModel`.
|
| +
|
| + `GetMLModel` provides results in normal or verbose format.
|
| +
|
| + :type ml_model_id: string
|
| + :param ml_model_id: The ID assigned to the `MLModel` at creation.
|
| +
|
| + :type verbose: boolean
|
| + :param verbose: Specifies whether the `GetMLModel` operation should
|
| + return `Recipe`.
|
| + If true, `Recipe` is returned.
|
| +
|
| + If false, `Recipe` is not returned.
|
| +
|
| + """
|
| + params = {'MLModelId': ml_model_id, }
|
| + if verbose is not None:
|
| + params['Verbose'] = verbose
|
| + return self.make_request(action='GetMLModel',
|
| + body=json.dumps(params))
|
| +
|
| + def predict(self, ml_model_id, record, predict_endpoint):
|
| + """
|
| + Generates a prediction for the observation using the specified
|
| + `MLModel`.
|
| +
|
| +
|
| + Not all response parameters will be populated because this is
|
| + dependent on the type of requested model.
|
| +
|
| + :type ml_model_id: string
|
| + :param ml_model_id: A unique identifier of the `MLModel`.
|
| +
|
| + :type record: map
|
| + :param record: A map of variable name-value pairs that represent an
|
| + observation.
|
| +
|
| + :type predict_endpoint: string
|
| + :param predict_endpoint: The endpoint to send the predict request to.
|
| +
|
| + """
|
| + predict_host = urlsplit(predict_endpoint).hostname
|
| + if predict_host is None:
|
| + predict_host = predict_endpoint
|
| +
|
| + params = {
|
| + 'MLModelId': ml_model_id,
|
| + 'Record': record,
|
| + 'PredictEndpoint': predict_host,
|
| + }
|
| + return self.make_request(action='Predict',
|
| + body=json.dumps(params),
|
| + host=predict_host)
|
| +
|
| + def update_batch_prediction(self, batch_prediction_id,
|
| + batch_prediction_name):
|
| + """
|
| + Updates the `BatchPredictionName` of a `BatchPrediction`.
|
| +
|
| + You can use the GetBatchPrediction operation to view the
|
| + contents of the updated data element.
|
| +
|
| + :type batch_prediction_id: string
|
| + :param batch_prediction_id: The ID assigned to the `BatchPrediction`
|
| + during creation.
|
| +
|
| + :type batch_prediction_name: string
|
| + :param batch_prediction_name: A new user-supplied name or description
|
| + of the `BatchPrediction`.
|
| +
|
| + """
|
| + params = {
|
| + 'BatchPredictionId': batch_prediction_id,
|
| + 'BatchPredictionName': batch_prediction_name,
|
| + }
|
| + return self.make_request(action='UpdateBatchPrediction',
|
| + body=json.dumps(params))
|
| +
|
| + def update_data_source(self, data_source_id, data_source_name):
|
| + """
|
| + Updates the `DataSourceName` of a `DataSource`.
|
| +
|
| + You can use the GetDataSource operation to view the contents
|
| + of the updated data element.
|
| +
|
| + :type data_source_id: string
|
| + :param data_source_id: The ID assigned to the `DataSource` during
|
| + creation.
|
| +
|
| + :type data_source_name: string
|
| + :param data_source_name: A new user-supplied name or description of the
|
| + `DataSource` that will replace the current description.
|
| +
|
| + """
|
| + params = {
|
| + 'DataSourceId': data_source_id,
|
| + 'DataSourceName': data_source_name,
|
| + }
|
| + return self.make_request(action='UpdateDataSource',
|
| + body=json.dumps(params))
|
| +
|
| + def update_evaluation(self, evaluation_id, evaluation_name):
|
| + """
|
| + Updates the `EvaluationName` of an `Evaluation`.
|
| +
|
| + You can use the GetEvaluation operation to view the contents
|
| + of the updated data element.
|
| +
|
| + :type evaluation_id: string
|
| + :param evaluation_id: The ID assigned to the `Evaluation` during
|
| + creation.
|
| +
|
| + :type evaluation_name: string
|
| + :param evaluation_name: A new user-supplied name or description of the
|
| + `Evaluation` that will replace the current content.
|
| +
|
| + """
|
| + params = {
|
| + 'EvaluationId': evaluation_id,
|
| + 'EvaluationName': evaluation_name,
|
| + }
|
| + return self.make_request(action='UpdateEvaluation',
|
| + body=json.dumps(params))
|
| +
|
| + def update_ml_model(self, ml_model_id, ml_model_name=None,
|
| + score_threshold=None):
|
| + """
|
| + Updates the `MLModelName` and the `ScoreThreshold` of an
|
| + `MLModel`.
|
| +
|
| + You can use the GetMLModel operation to view the contents of
|
| + the updated data element.
|
| +
|
| + :type ml_model_id: string
|
| + :param ml_model_id: The ID assigned to the `MLModel` during creation.
|
| +
|
| + :type ml_model_name: string
|
| + :param ml_model_name: A user-supplied name or description of the
|
| + `MLModel`.
|
| +
|
| + :type score_threshold: float
|
| + :param score_threshold: The `ScoreThreshold` used in binary
|
| + classification `MLModel` that marks the boundary between a positive
|
| + prediction and a negative prediction.
|
| + Output values greater than or equal to the `ScoreThreshold` receive a
|
| + positive result from the `MLModel`, such as `True`. Output values
|
| + less than the `ScoreThreshold` receive a negative response from the
|
| + `MLModel`, such as `False`.
|
| +
|
| + """
|
| + params = {'MLModelId': ml_model_id, }
|
| + if ml_model_name is not None:
|
| + params['MLModelName'] = ml_model_name
|
| + if score_threshold is not None:
|
| + params['ScoreThreshold'] = score_threshold
|
| + return self.make_request(action='UpdateMLModel',
|
| + body=json.dumps(params))
|
| +
|
| + def make_request(self, action, body, host=None):
|
| + headers = {
|
| + 'X-Amz-Target': '%s.%s' % (self.TargetPrefix, action),
|
| + 'Host': self.region.endpoint,
|
| + 'Content-Type': 'application/x-amz-json-1.1',
|
| + 'Content-Length': str(len(body)),
|
| + }
|
| + http_request_kwargs = {
|
| + 'method':'POST', 'path':'/', 'auth_path':'/', 'params':{},
|
| + 'headers': headers, 'data':body
|
| + }
|
| + if host is not None:
|
| + headers['Host'] = host
|
| + http_request_kwargs['host'] = host
|
| + http_request = self.build_base_http_request(**http_request_kwargs)
|
| + response = self._mexe(http_request, sender=None,
|
| + override_num_retries=10)
|
| + response_body = response.read().decode('utf-8')
|
| + boto.log.debug(response_body)
|
| + if response.status == 200:
|
| + if response_body:
|
| + return json.loads(response_body)
|
| + else:
|
| + json_body = json.loads(response_body)
|
| + fault_name = json_body.get('__type', None)
|
| + exception_class = self._faults.get(fault_name, self.ResponseError)
|
| + raise exception_class(response.status, response.reason,
|
| + body=json_body)
|
| +
|
|
|