Evaluate data frame analytics API
editEvaluate data frame analytics API
editEvaluates 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.
Request
editPOST _ml/data_frame/_evaluate
Prerequisites
edit-
You must have
monitor_ml
privilege to use this API. For more information, see Security privileges and Built-in roles.
Description
editThis 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 body
edit-
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.
Examples
editPOST _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 } } }