createEvaluation method
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.
May throw InvalidInputException. May throw InternalServerException. May throw IdempotentParameterMismatchException.
Parameter evaluationDataSourceId :
The ID of the DataSource for the evaluation. The schema of
the DataSource must match the schema used to create the
MLModel.
Parameter evaluationId :
A user-supplied ID that uniquely identifies the Evaluation.
Parameter mLModelId :
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.
Parameter evaluationName :
A user-supplied name or description of the Evaluation.
Implementation
Future<CreateEvaluationOutput> createEvaluation({
required String evaluationDataSourceId,
required String evaluationId,
required String mLModelId,
String? evaluationName,
}) async {
ArgumentError.checkNotNull(
evaluationDataSourceId, 'evaluationDataSourceId');
_s.validateStringLength(
'evaluationDataSourceId',
evaluationDataSourceId,
1,
64,
isRequired: true,
);
ArgumentError.checkNotNull(evaluationId, 'evaluationId');
_s.validateStringLength(
'evaluationId',
evaluationId,
1,
64,
isRequired: true,
);
ArgumentError.checkNotNull(mLModelId, 'mLModelId');
_s.validateStringLength(
'mLModelId',
mLModelId,
1,
64,
isRequired: true,
);
_s.validateStringLength(
'evaluationName',
evaluationName,
0,
1024,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.1',
'X-Amz-Target': 'AmazonML_20141212.CreateEvaluation'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'EvaluationDataSourceId': evaluationDataSourceId,
'EvaluationId': evaluationId,
'MLModelId': mLModelId,
if (evaluationName != null) 'EvaluationName': evaluationName,
},
);
return CreateEvaluationOutput.fromJson(jsonResponse.body);
}