123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370 |
- [role="xpack"]
- [testenv="basic"]
- [[get-trained-models]]
- = Get trained models API
- [subs="attributes"]
- ++++
- <titleabbrev>Get trained models</titleabbrev>
- ++++
- Retrieves configuration information for a trained model.
- [[ml-get-trained-models-request]]
- == {api-request-title}
- `GET _ml/trained_models/` +
- `GET _ml/trained_models/<model_id>` +
- `GET _ml/trained_models/_all` +
- `GET _ml/trained_models/<model_id1>,<model_id2>` +
- `GET _ml/trained_models/<model_id_pattern*>`
- [[ml-get-trained-models-prereq]]
- == {api-prereq-title}
- Requires the `monitor_ml` cluster privilege. This privilege is included in the
- `machine_learning_user` built-in role.
- [[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}
- `<model_id>`::
- (Optional, string)
- include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=model-id-or-alias]
- [[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.
- - `hyperparameters`: Includes the information about hyperparameters used to
- train the model. This information consists of the value, the absolute and
- relative importance of the hyperparameter as well as an indicator of whether
- it was specified by the user or tuned during hyperparameter optimization.
- - `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`:::
- (<<time-units,time units>>)
- 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.
- `description`:::
- (string)
- The free-text description of the trained model.
- `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.
- `inference_config`:::
- (object)
- The default configuration for inference. This can be either a `regression`
- or `classification` configuration. It must match the underlying
- `definition.trained_model`'s `target_type`.
- +
- .Properties of `inference_config`
- [%collapsible%open]
- =====
- `classification`::::
- (object)
- Classification configuration for inference.
- +
- .Properties of classification inference
- [%collapsible%open]
- ======
- `num_top_classes`:::
- (integer)
- include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-classification-num-top-classes]
- `num_top_feature_importance_values`:::
- (integer)
- include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-classification-num-top-feature-importance-values]
- `prediction_field_type`:::
- (string)
- include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-classification-prediction-field-type]
- `results_field`:::
- (string)
- include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-results-field]
- `top_classes_results_field`:::
- (string)
- include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-classification-top-classes-results-field]
- ======
- `regression`::::
- (object)
- Regression configuration for inference.
- +
- .Properties of regression inference
- [%collapsible%open]
- ======
- `num_top_feature_importance_values`:::
- (integer)
- include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-regression-num-top-feature-importance-values]
- `results_field`:::
- (string)
- include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-config-results-field]
- ======
- =====
- `input`:::
- (object)
- The input field names for the model definition.+
- +
- .Properties of `input`
- [%collapsible%open]
- =====
- `field_names`::::
- (string)
- An array of input field names for the 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.
- `hyperparameters`:::
- (array)
- List of the available hyperparameters optimized during the
- `fine_parameter_tuning` phase as well as specified by the user.
- +
- .Properties of hyperparameters
- [%collapsible%open]
- ======
- `absolute_importance`::::
- (double)
- A positive number showing how much the parameter influences the variation of the
- {ml-docs}/dfa-regression.html#dfa-regression-lossfunction[loss function]. For
- hyperparameters with values that are not specified by the user but tuned during
- hyperparameter optimization.
- `max_trees`::::
- (integer)
- include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=max-trees-trained-models]
- `name`::::
- (string)
- Name of the hyperparameter.
- `relative_importance`::::
- (double)
- A number between 0 and 1 showing the proportion of influence on the variation of
- the loss function among all tuned hyperparameters. For hyperparameters with
- values that are not specified by the user but tuned during hyperparameter
- optimization.
- `supplied`::::
- (Boolean)
- Indicates if the hyperparameter is specified by the user (`true`) or optimized
- (`false`).
- `value`::::
- (double)
- The value of the hyperparameter, either optimized or specified by the user.
- ======
- `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`:::
- (integer)
- include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=inference-metadata-feature-importance-max]
- `min`:::
- (integer)
- 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)
- Identifier 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]
|