Inference Processor

edit

Uses a pre-trained data frame analytics model to infer against the data that is being ingested in the pipeline.

Table 52. Inference Options

Name Required Default Description

model_id

yes

-

(String) The ID of the model to load and infer against.

target_field

no

ml.inference.<processor_tag>

(String) Field added to incoming documents to contain results objects.

field_mappings

yes

-

(Object) Maps the document field names to the known field names of the model. Refer to this page for further info about multi-fields and inference.

inference_config

yes

-

(Object) Contains the inference type and its options. There are two types: regression and classification.

if

no

-

Conditionally execute this processor.

on_failure

no

-

Handle failures for this processor. See Handling Failures in Pipelines.

ignore_failure

no

false

Ignore failures for this processor. See Handling Failures in Pipelines.

tag

no

-

An identifier for this processor. Useful for debugging and metrics.

{
  "inference": {
    "model_id": "flight_delay_regression-1571767128603",
    "target_field": "FlightDelayMin_prediction_infer",
    "field_mappings": {},
    "inference_config": { "regression": {} }
  }
}

Regression configuration options

edit
results_field
(Optional, string) Specifies the field to which the inference prediction is written. Defaults to predicted_value.

Classification configuration options

edit
results_field
(Optional, string) The field that is added to incoming documents to contain the inference prediction. Defaults to predicted_value.
num_top_classes
(Optional, integer) Specifies the number of top class predictions to return. Defaults to 0.
top_classes_results_field
(Optional, string) Specifies the field to which the top classes are written. Defaults to top_classes.

inference_config examples

edit
{
  "inference_config": {
    "regression": {
      "results_field": "my_regression"
    }
  }
}

This configuration specifies a regression inference and the results are written to the my_regression field contained in the target_field results object.

{
  "inference_config": {
    "classification": {
      "num_top_classes": 2,
      "results_field": "prediction",
      "top_classes_results_field": "probabilities"
    }
  }
}

This configuration specifies a classification inference. The number of categories for which the predicted probabilities are reported is 2 (num_top_classes). The result is written to the prediction field and the top classes to the probabilities field. Both fields are contained in the target_field results object.