105 lines
2.5 KiB
Plaintext
105 lines
2.5 KiB
Plaintext
|
[role="xpack"]
|
||
|
[testenv="platinum"]
|
||
|
[[evaluate-dfanalytics]]
|
||
|
=== Evaluate {dfanalytics} API
|
||
|
|
||
|
[subs="attributes"]
|
||
|
++++
|
||
|
<titleabbrev>Evaluate {dfanalytics}</titleabbrev>
|
||
|
++++
|
||
|
|
||
|
experimental[]
|
||
|
|
||
|
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
|
||
|
{dataframe} row. Evaluation is typically done via calculating a set of metrics
|
||
|
that capture various aspects of the quality of the results over the data for
|
||
|
which we have the `ground truth`. For different types of analyses different
|
||
|
metrics are suitable. This API packages together commonly used metrics for
|
||
|
various analyses.
|
||
|
|
||
|
[[ml-evaluate-dfanalytics-request]]
|
||
|
==== {api-request-title}
|
||
|
|
||
|
`POST _ml/data_frame/_evaluate`
|
||
|
|
||
|
[[ml-evaluate-dfanalytics-prereq]]
|
||
|
==== {api-prereq-title}
|
||
|
|
||
|
* You must have `monitor_ml` privilege to use this API. For more
|
||
|
information, see {stack-ov}/security-privileges.html[Security privileges] and
|
||
|
{stack-ov}/built-in-roles.html[Built-in roles].
|
||
|
|
||
|
[[ml-evaluate-dfanalytics-request-body]]
|
||
|
==== {api-request-body-title}
|
||
|
|
||
|
`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 Evaluate API resources.
|
||
|
|
||
|
[[ml-evaluate-dfanalytics-example]]
|
||
|
==== {api-examples-title}
|
||
|
|
||
|
[source,js]
|
||
|
--------------------------------------------------
|
||
|
POST _ml/data_frame/_evaluate
|
||
|
{
|
||
|
"index": "my_analytics_dest_index",
|
||
|
"evaluation": {
|
||
|
"binary_soft_classification": {
|
||
|
"actual_field": "is_outlier",
|
||
|
"predicted_probability_field": "ml.outlier_score"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
--------------------------------------------------
|
||
|
// CONSOLE
|
||
|
// TEST[skip:TBD]
|
||
|
|
||
|
The API returns the following results:
|
||
|
|
||
|
[source,js]
|
||
|
----
|
||
|
{
|
||
|
"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
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
----
|
||
|
// TESTRESPONSE
|