[role="xpack"]
[testenv="basic"]
[[get-trained-models]]
= Get trained models API
[subs="attributes"]
++++
Get trained models
++++
Retrieves configuration information for a trained model.
experimental[]
[[ml-get-trained-models-request]]
== {api-request-title}
`GET _ml/trained_models/` +
`GET _ml/trained_models/` +
`GET _ml/trained_models/_all` +
`GET _ml/trained_models/,` +
`GET _ml/trained_models/`
[[ml-get-trained-models-prereq]]
== {api-prereq-title}
If the {es} {security-features} are enabled, you must have the following
privileges:
* cluster: `monitor_ml`
For more information, see <> and
{ml-docs-setup-privileges}.
[[ml-get-trained-models-desc]]
== {api-description-title}
You can get information for multiple trained models in a single API request by
using a comma-separated list of model IDs or a wildcard expression.
[[ml-get-trained-models-path-params]]
== {api-path-parms-title}
``::
(Optional, string)
include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=model-id]
[[ml-get-trained-models-query-params]]
== {api-query-parms-title}
`allow_no_match`::
(Optional, boolean)
include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=allow-no-match-models]
`decompress_definition`::
(Optional, boolean)
Specifies whether the included model definition should be returned as a JSON map
(`true`) or in a custom compressed format (`false`). Defaults to `true`.
`exclude_generated`::
(Optional, boolean)
include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=exclude-generated]
`from`::
(Optional, integer)
include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=from-models]
`include`::
(Optional, string)
A comma delimited string of optional fields to include in the response body. The
default value is empty, indicating no optional fields are included. Valid
options are:
- `definition`: Includes the model definition
- `feature_importance_baseline`: Includes the baseline for {feat-imp} values.
- `total_feature_importance`: Includes the total {feat-imp} for the training
data set.
The baseline and total {feat-imp} values are returned in the `metadata` field
in the response body.
`size`::
(Optional, integer)
include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=size-models]
`tags`::
(Optional, string)
include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=tags]
[role="child_attributes"]
[[ml-get-trained-models-results]]
== {api-response-body-title}
`trained_model_configs`::
(array)
An array of trained model resources, which are sorted by the `model_id` value in
ascending order.
+
.Properties of trained model resources
[%collapsible%open]
====
`created_by`:::
(string)
Information on the creator of the trained model.
`create_time`:::
(<>)
The time when the trained model was created.
`default_field_map` :::
(object)
A string to string object that contains the default field map to use
when inferring against the model. For example, data frame analytics
may train the model on a specific multi-field `foo.keyword`.
The analytics job would then supply a default field map entry for
`"foo" : "foo.keyword"`.
+
Any field map described in the inference configuration takes precedence.
`estimated_heap_memory_usage_bytes`:::
(integer)
The estimated heap usage in bytes to keep the trained model in memory.
`estimated_operations`:::
(integer)
The estimated number of operations to use the trained model.
`license_level`:::
(string)
The license level of the trained model.
`metadata`:::
(object)
An object containing metadata about the trained model. For example, models
created by {dfanalytics} contain `analysis_config` and `input` objects.
+
.Properties of metadata
[%collapsible%open]
=====
`feature_importance_baseline`:::
(object)
An object that contains the baseline for {feat-imp} values. For {reganalysis},
it is a single value. For {classanalysis}, there is a value for each class.
`total_feature_importance`:::
(array)
An array of the total {feat-imp} for each feature used from
the training data set. This array of objects is returned if {dfanalytics} trained
the model and the request includes `total_feature_importance` in the `include`
request parameter.
+
.Properties of total {feat-imp}
[%collapsible%open]
======
`feature_name`:::
(string)
include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-metadata-feature-importance-feature-name]
`importance`:::
(object)
A collection of {feat-imp} statistics related to the training data set for this particular feature.
+
.Properties of {feat-imp}
[%collapsible%open]
=======
`mean_magnitude`:::
(double)
include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-metadata-feature-importance-magnitude]
`max`:::
(int)
include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-metadata-feature-importance-max]
`min`:::
(int)
include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-metadata-feature-importance-min]
=======
`classes`:::
(array)
If the trained model is a classification model, {feat-imp} statistics are gathered
per target class value.
+
.Properties of class {feat-imp}
[%collapsible%open]
=======
`class_name`:::
(string)
The target class value. Could be a string, boolean, or number.
`importance`:::
(object)
A collection of {feat-imp} statistics related to the training data set for this particular feature.
+
.Properties of {feat-imp}
[%collapsible%open]
========
`mean_magnitude`:::
(double)
include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-metadata-feature-importance-magnitude]
`max`:::
(int)
include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-metadata-feature-importance-max]
`min`:::
(int)
include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-metadata-feature-importance-min]
========
=======
======
=====
`model_id`:::
(string)
Idetifier for the trained model.
`tags`:::
(string)
A comma delimited string of tags. A trained model can have many tags, or none.
`version`:::
(string)
The {es} version number in which the trained model was created.
====
[[ml-get-trained-models-response-codes]]
== {api-response-codes-title}
`400`::
If `include_model_definition` is `true`, this code indicates that more than
one models match the ID pattern.
`404` (Missing resources)::
If `allow_no_match` is `false`, this code indicates that there are no
resources that match the request or only partial matches for the request.
[[ml-get-trained-models-example]]
== {api-examples-title}
The following example gets configuration information for all the trained models:
[source,console]
--------------------------------------------------
GET _ml/trained_models/
--------------------------------------------------
// TEST[skip:TBD]