Class BinaryResponseProcessor<T extends Output<T>>

java.lang.Object
org.tribuo.data.columnar.processors.response.BinaryResponseProcessor<T>
All Implemented Interfaces:
com.oracle.labs.mlrg.olcut.config.Configurable, com.oracle.labs.mlrg.olcut.provenance.Provenancable<com.oracle.labs.mlrg.olcut.provenance.ConfiguredObjectProvenance>, ResponseProcessor<T>

public class BinaryResponseProcessor<T extends Output<T>> extends Object implements ResponseProcessor<T>
A ResponseProcessor that takes a single value of the field as the positive class and all other values as the negative class.

We support specifying field names and default values both singly through fieldName and positiveResponse and in a list through fieldNames and positiveResponses. The constructors and configuration preprocessing have differing behaviors based on which fields are populated:

  • fieldNames and positiveResponses are both populated and the same length: fieldNames[i]'s positiveResponse is positiveResponses[i]
  • fieldNames and positiveResponse are both populated: positiveResponse is broadcast across all fieldNames
  • fieldName and positiveResponse are both populated: fieldNames[0] == fieldName, positiveResponses[0] == positiveResponse
All other settings are invalid.
  • Field Details

  • Constructor Details

    • BinaryResponseProcessor

      public BinaryResponseProcessor(String fieldName, String positiveResponse, OutputFactory<T> outputFactory)
      Constructs a binary response processor which emits a positive value for a single string and a negative value for all other field values. Defaults to POSITIVE_NAME for positive outputs and NEGATIVE_NAME for negative outputs.
      Parameters:
      fieldName - The field name to read.
      positiveResponse - The positive response to look for.
      outputFactory - The output factory to use.
    • BinaryResponseProcessor

      public BinaryResponseProcessor(List<String> fieldNames, String positiveResponse, OutputFactory<T> outputFactory)
      Constructs a binary response processor which emits a positive value for a single string and a negative value for all other field values. Defaults to POSITIVE_NAME for positive outputs and NEGATIVE_NAME for negative outputs.
      Parameters:
      fieldNames - The field names to read.
      positiveResponse - The positive response to look for.
      outputFactory - The output factory to use.
    • BinaryResponseProcessor

      public BinaryResponseProcessor(List<String> fieldNames, List<String> positiveResponses, OutputFactory<T> outputFactory)
      Constructs a binary response processor which emits a positive value for a single string and a negative value for all other field values. The lengths of fieldNames and positiveResponses must be the same. Defaults to POSITIVE_NAME for positive outputs and NEGATIVE_NAME for negative outputs.
      Parameters:
      fieldNames - The field names to read.
      positiveResponses - The positive responses to look for.
      outputFactory - The output factory to use.
    • BinaryResponseProcessor

      public BinaryResponseProcessor(List<String> fieldNames, List<String> positiveResponses, OutputFactory<T> outputFactory, boolean displayField)
      Constructs a binary response processor which emits a positive value for a single string and a negative value for all other field values. The lengths of fieldNames and positiveResponses must be the same. Defaults to POSITIVE_NAME for positive outputs and NEGATIVE_NAME for negative outputs.
      Parameters:
      fieldNames - The field names to read.
      positiveResponses - The positive responses to look for.
      outputFactory - The output factory to use.
      displayField - whether to include field names in the generated labels.
    • BinaryResponseProcessor

      public BinaryResponseProcessor(List<String> fieldNames, List<String> positiveResponses, OutputFactory<T> outputFactory, String positiveName, String negativeName, boolean displayField)
      Constructs a binary response processor which emits a positive value for a single string and a negative value for all other field values. The lengths of fieldNames and positiveResponses must be the same.
      Parameters:
      fieldNames - The field names to read.
      positiveResponses - The positive responses to look for.
      outputFactory - The output factory to use.
      positiveName - The value of a 'positive' output
      negativeName - the value of a 'negative' output
      displayField - whether to include field names in the generated labels.
  • Method Details

    • postConfig

      public void postConfig()
      Specified by:
      postConfig in interface com.oracle.labs.mlrg.olcut.config.Configurable
    • getOutputFactory

      public OutputFactory<T> getOutputFactory()
      Description copied from interface: ResponseProcessor
      Gets the OutputFactory this ResponseProcessor uses.
      Specified by:
      getOutputFactory in interface ResponseProcessor<T extends Output<T>>
      Returns:
      The output factory.
    • getFieldName

      @Deprecated public String getFieldName()
      Deprecated.
      Specified by:
      getFieldName in interface ResponseProcessor<T extends Output<T>>
      Returns:
      The field name.
    • setFieldName

      @Deprecated public void setFieldName(String fieldName)
      Deprecated.
      Specified by:
      setFieldName in interface ResponseProcessor<T extends Output<T>>
      Parameters:
      fieldName - The field name.
    • process

      @Deprecated public Optional<T> process(String value)
      Deprecated.
      Specified by:
      process in interface ResponseProcessor<T extends Output<T>>
      Parameters:
      value - The value to process.
      Returns:
      The response value if found.
    • process

      public Optional<T> process(List<String> values)
      Description copied from interface: ResponseProcessor
      Returns Optional.empty() if it failed to process out a response.This method has a default implementation for backwards compatibility with Tribuo 4.0 and 4.1. This method should be overridden by code which depends on newer versions of Tribuo. The default implementation will be removed when the deprecated members are removed. Unless is is overridden it will throw an IllegalArgumentException when called with multiple values.
      Specified by:
      process in interface ResponseProcessor<T extends Output<T>>
      Parameters:
      values - The value to process.
      Returns:
      The response values if found.
    • getFieldNames

      public List<String> getFieldNames()
      Description copied from interface: ResponseProcessor
      Gets the field names this ResponseProcessor uses.
      Specified by:
      getFieldNames in interface ResponseProcessor<T extends Output<T>>
      Returns:
      The field names.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getProvenance

      public com.oracle.labs.mlrg.olcut.provenance.ConfiguredObjectProvenance getProvenance()
      Specified by:
      getProvenance in interface com.oracle.labs.mlrg.olcut.provenance.Provenancable<T extends Output<T>>