/*
* 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
{
///
/// Container for the parameters to the CreateMLModel operation.
/// Creates a new MLModel
using the DataSource
and the recipe
/// as information sources.
///
///
///
/// An MLModel
is nearly immutable. Users can update only 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
has been created and
/// ready is for use, Amazon ML sets the status to COMPLETED
.
///
///
///
/// You can use the GetMLModel
operation to check the 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.
///
///
public partial class CreateMLModelRequest : AmazonMachineLearningRequest
{
private string _mlModelId;
private string _mlModelName;
private MLModelType _mlModelType;
private Dictionary _parameters = new Dictionary();
private string _recipe;
private string _recipeUri;
private string _trainingDataSourceId;
///
/// Gets and sets the property MLModelId.
///
/// A user-supplied ID that uniquely identifies the MLModel
.
///
///
[AWSProperty(Required=true, 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 MLModelName.
///
/// A user-supplied name or description of the MLModel
.
///
///
[AWSProperty(Max=1024)]
public string MLModelName
{
get { return this._mlModelName; }
set { this._mlModelName = value; }
}
// Check to see if MLModelName property is set
internal bool IsSetMLModelName()
{
return this._mlModelName != null;
}
///
/// Gets and sets the property MLModelType.
///
/// 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.
///
///
[AWSProperty(Required=true)]
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 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.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
. 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.
///
///
///
public Dictionary Parameters
{
get { return this._parameters; }
set { this._parameters = value; }
}
// Check to see if Parameters property is set
internal bool IsSetParameters()
{
return this._parameters != null && this._parameters.Count > 0;
}
///
/// Gets and sets the property Recipe.
///
/// The data recipe for creating the MLModel
. You must specify either the
/// recipe or its URI. If you don't specify a recipe or its URI, Amazon ML creates a default.
///
///
[AWSProperty(Max=131071)]
public string Recipe
{
get { return this._recipe; }
set { this._recipe = value; }
}
// Check to see if Recipe property is set
internal bool IsSetRecipe()
{
return this._recipe != null;
}
///
/// Gets and sets the property RecipeUri.
///
/// 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 don't specify a recipe or its URI, Amazon ML creates a default.
///
///
[AWSProperty(Max=2048)]
public string RecipeUri
{
get { return this._recipeUri; }
set { this._recipeUri = value; }
}
// Check to see if RecipeUri property is set
internal bool IsSetRecipeUri()
{
return this._recipeUri != null;
}
///
/// Gets and sets the property TrainingDataSourceId.
///
/// The DataSource
that points to the training data.
///
///
[AWSProperty(Required=true, 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;
}
}
}