Evaluate 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 } } }