Evaluate data frame analytics API
editEvaluate data frame analytics APIedit
Evaluates the data frame analytics for an annotated index.
This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.
Requestedit
POST _ml/data_frame/_evaluate
Prerequisitesedit
-
You must have
monitor_ml
privilege to use this API. For more information, see Security privileges and Built-in roles.
Descriptionedit
This API evaluates the executed analysis on an index that is already annotated
with a field that contains the results of the analytics (the ground truth
)
for each data frame row.
Evaluation is typically done by calculating a set of metrics that capture various aspects of the quality of the results over the data for which you have the
ground truth
.
For different types of analyses different metrics are suitable. This API packages together commonly used metrics for various analyses.
Request bodyedit
-
index
-
(Required, object) Defines the
index
in which the evaluation will be performed. -
evaluation
-
(Required, object) Defines the type of evaluation you want to perform. For example:
binary_soft_classification
. See Data frame analytics evaluation resources.
Examplesedit
POST _ml/data_frame/_evaluate { "index": "my_analytics_dest_index", "evaluation": { "binary_soft_classification": { "actual_field": "is_outlier", "predicted_probability_field": "ml.outlier_score" } } }
The API returns the following results:
{ "binary_soft_classification": { "auc_roc": { "score": 0.92584757746414444 }, "confusion_matrix": { "0.25": { "tp": 5, "fp": 9, "tn": 204, "fn": 5 }, "0.5": { "tp": 1, "fp": 5, "tn": 208, "fn": 9 }, "0.75": { "tp": 0, "fp": 4, "tn": 209, "fn": 10 } }, "precision": { "0.25": 0.35714285714285715, "0.5": 0.16666666666666666, "0.75": 0 }, "recall": { "0.25": 0.5, "0.5": 0.1, "0.75": 0 } } }