[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]