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

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