/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the machinelearning-2014-12-12.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.MachineLearning.Model
{
///
/// Represents the output of a GetMLModel
operation.
///
///
///
/// The content consists of the detailed metadata and the current status of the MLModel
.
///
///
public partial class MLModel
{
private Algorithm _algorithm;
private long? _computeTime;
private DateTime? _createdAt;
private string _createdByIamUser;
private RealtimeEndpointInfo _endpointInfo;
private DateTime? _finishedAt;
private string _inputDataLocationS3;
private DateTime? _lastUpdatedAt;
private string _message;
private string _mlModelId;
private MLModelType _mlModelType;
private string _name;
private float? _scoreThreshold;
private DateTime? _scoreThresholdLastUpdatedAt;
private long? _sizeInBytes;
private DateTime? _startedAt;
private EntityStatus _status;
private string _trainingDataSourceId;
private Dictionary _trainingParameters = new Dictionary();
///
/// Gets and sets the property Algorithm.
///
/// The algorithm used to train the MLModel
. The following algorithm is supported:
///
/// -
///
///
SGD
-- Stochastic gradient descent. The goal of SGD
is
/// to minimize the gradient of the loss function.
///
///
///
public Algorithm Algorithm
{
get { return this._algorithm; }
set { this._algorithm = value; }
}
// Check to see if Algorithm property is set
internal bool IsSetAlgorithm()
{
return this._algorithm != null;
}
///
/// Gets and sets the property ComputeTime.
///
public long ComputeTime
{
get { return this._computeTime.GetValueOrDefault(); }
set { this._computeTime = value; }
}
// Check to see if ComputeTime property is set
internal bool IsSetComputeTime()
{
return this._computeTime.HasValue;
}
///
/// Gets and sets the property CreatedAt.
///
/// The time that the MLModel
was created. The time is expressed in epoch
/// time.
///
///
public DateTime CreatedAt
{
get { return this._createdAt.GetValueOrDefault(); }
set { this._createdAt = value; }
}
// Check to see if CreatedAt property is set
internal bool IsSetCreatedAt()
{
return this._createdAt.HasValue;
}
///
/// Gets and sets the property 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.
///
///
public string CreatedByIamUser
{
get { return this._createdByIamUser; }
set { this._createdByIamUser = value; }
}
// Check to see if CreatedByIamUser property is set
internal bool IsSetCreatedByIamUser()
{
return this._createdByIamUser != null;
}
///
/// Gets and sets the property EndpointInfo.
///
/// The current endpoint of the MLModel
.
///
///
public RealtimeEndpointInfo EndpointInfo
{
get { return this._endpointInfo; }
set { this._endpointInfo = value; }
}
// Check to see if EndpointInfo property is set
internal bool IsSetEndpointInfo()
{
return this._endpointInfo != null;
}
///
/// Gets and sets the property FinishedAt.
///
public DateTime FinishedAt
{
get { return this._finishedAt.GetValueOrDefault(); }
set { this._finishedAt = value; }
}
// Check to see if FinishedAt property is set
internal bool IsSetFinishedAt()
{
return this._finishedAt.HasValue;
}
///
/// Gets and sets the property InputDataLocationS3.
///
/// The location of the data file or directory in Amazon Simple Storage Service (Amazon
/// S3).
///
///
[AWSProperty(Max=2048)]
public string InputDataLocationS3
{
get { return this._inputDataLocationS3; }
set { this._inputDataLocationS3 = value; }
}
// Check to see if InputDataLocationS3 property is set
internal bool IsSetInputDataLocationS3()
{
return this._inputDataLocationS3 != null;
}
///
/// Gets and sets the property LastUpdatedAt.
///
/// The time of the most recent edit to the MLModel
. The time is expressed
/// in epoch time.
///
///
public DateTime LastUpdatedAt
{
get { return this._lastUpdatedAt.GetValueOrDefault(); }
set { this._lastUpdatedAt = value; }
}
// Check to see if LastUpdatedAt property is set
internal bool IsSetLastUpdatedAt()
{
return this._lastUpdatedAt.HasValue;
}
///
/// Gets and sets the property Message.
///
/// A description of the most recent details about accessing the MLModel
.
///
///
[AWSProperty(Max=10240)]
public string Message
{
get { return this._message; }
set { this._message = value; }
}
// Check to see if Message property is set
internal bool IsSetMessage()
{
return this._message != null;
}
///
/// Gets and sets the property MLModelId.
///
/// The ID assigned to the MLModel
at creation.
///
///
[AWSProperty(Min=1, Max=64)]
public string MLModelId
{
get { return this._mlModelId; }
set { this._mlModelId = value; }
}
// Check to see if MLModelId property is set
internal bool IsSetMLModelId()
{
return this._mlModelId != null;
}
///
/// Gets and sets the property 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
/// a child-friendly web site?".
///
/// -
///
///
MULTICLASS
- Produces one of several possible results. For example,
/// "Is this a HIGH-, LOW-, or MEDIUM-risk trade?".
///
///
///
public MLModelType MLModelType
{
get { return this._mlModelType; }
set { this._mlModelType = value; }
}
// Check to see if MLModelType property is set
internal bool IsSetMLModelType()
{
return this._mlModelType != null;
}
///
/// Gets and sets the property Name.
///
/// A user-supplied name or description of the MLModel
.
///
///
[AWSProperty(Max=1024)]
public string Name
{
get { return this._name; }
set { this._name = value; }
}
// Check to see if Name property is set
internal bool IsSetName()
{
return this._name != null;
}
///
/// Gets and sets the property ScoreThreshold.
///
public float ScoreThreshold
{
get { return this._scoreThreshold.GetValueOrDefault(); }
set { this._scoreThreshold = value; }
}
// Check to see if ScoreThreshold property is set
internal bool IsSetScoreThreshold()
{
return this._scoreThreshold.HasValue;
}
///
/// Gets and sets the property ScoreThresholdLastUpdatedAt.
///
/// The time of the most recent edit to the ScoreThreshold
. The time is expressed
/// in epoch time.
///
///
public DateTime ScoreThresholdLastUpdatedAt
{
get { return this._scoreThresholdLastUpdatedAt.GetValueOrDefault(); }
set { this._scoreThresholdLastUpdatedAt = value; }
}
// Check to see if ScoreThresholdLastUpdatedAt property is set
internal bool IsSetScoreThresholdLastUpdatedAt()
{
return this._scoreThresholdLastUpdatedAt.HasValue;
}
///
/// Gets and sets the property SizeInBytes.
///
public long SizeInBytes
{
get { return this._sizeInBytes.GetValueOrDefault(); }
set { this._sizeInBytes = value; }
}
// Check to see if SizeInBytes property is set
internal bool IsSetSizeInBytes()
{
return this._sizeInBytes.HasValue;
}
///
/// Gets and sets the property StartedAt.
///
public DateTime StartedAt
{
get { return this._startedAt.GetValueOrDefault(); }
set { this._startedAt = value; }
}
// Check to see if StartedAt property is set
internal bool IsSetStartedAt()
{
return this._startedAt.HasValue;
}
///
/// Gets and sets the property Status.
///
/// The current status of an MLModel
. This element can have one of the following
/// values:
///
/// -
///
///
PENDING
- Amazon Machine Learning (Amazon ML) submitted a request to
/// create an MLModel
.
///
/// -
///
///
INPROGRESS
- The creation process is underway.
///
/// -
///
///
FAILED
- The request to create an MLModel
didn't run to
/// completion. The model isn't usable.
///
/// -
///
///
COMPLETED
- The creation process completed successfully.
///
/// -
///
///
DELETED
- The MLModel
is marked as deleted. It isn't usable.
///
///
///
public EntityStatus Status
{
get { return this._status; }
set { this._status = value; }
}
// Check to see if Status property is set
internal bool IsSetStatus()
{
return this._status != null;
}
///
/// Gets and sets the property TrainingDataSourceId.
///
/// The ID of the training DataSource
. The CreateMLModel
operation
/// uses the TrainingDataSourceId
.
///
///
[AWSProperty(Min=1, Max=64)]
public string TrainingDataSourceId
{
get { return this._trainingDataSourceId; }
set { this._trainingDataSourceId = value; }
}
// Check to see if TrainingDataSourceId property is set
internal bool IsSetTrainingDataSourceId()
{
return this._trainingDataSourceId != null;
}
///
/// Gets and sets the property 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 10000
. The default value is 10
.
///
/// -
///
///
sgd.shuffleType
- Whether Amazon ML shuffles the training data. Shuffling
/// the 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
.
///
/// -
///
///
sgd.l1RegularizationAmount
- The coefficient regularization L1 norm,
/// which controls overfitting the data by penalizing large coefficients. This parameter
/// 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 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,
/// which 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.
///
///
///
public Dictionary TrainingParameters
{
get { return this._trainingParameters; }
set { this._trainingParameters = value; }
}
// Check to see if TrainingParameters property is set
internal bool IsSetTrainingParameters()
{
return this._trainingParameters != null && this._trainingParameters.Count > 0;
}
}
}