Class VotingCombiner

java.lang.Object
org.tribuo.classification.ensemble.VotingCombiner
All Implemented Interfaces:
com.oracle.labs.mlrg.olcut.config.Configurable, com.oracle.labs.mlrg.olcut.provenance.Provenancable<com.oracle.labs.mlrg.olcut.provenance.ConfiguredObjectProvenance>, Serializable, EnsembleCombiner<Label>

public final class VotingCombiner extends Object implements EnsembleCombiner<Label>
A combiner which performs a weighted or unweighted vote across the predicted labels.

This uses the most likely prediction from each ensemble member, unlike FullyWeightedVotingCombiner which uses the full distribution of predictions for each ensemble member.

See Also:
  • Constructor Details

    • VotingCombiner

      public VotingCombiner()
      Constructs a voting combiner.
  • Method Details

    • combine

      public Prediction<Label> combine(ImmutableOutputInfo<Label> outputInfo, List<Prediction<Label>> predictions)
      Description copied from interface: EnsembleCombiner
      Combine the predictions.
      Specified by:
      combine in interface EnsembleCombiner<Label>
      Parameters:
      outputInfo - The output domain.
      predictions - The predictions to combine.
      Returns:
      The ensemble prediction.
    • combine

      public Prediction<Label> combine(ImmutableOutputInfo<Label> outputInfo, List<Prediction<Label>> predictions, float[] weights)
      Description copied from interface: EnsembleCombiner
      Combine the supplied predictions. predictions.size() must equal weights.length.
      Specified by:
      combine in interface EnsembleCombiner<Label>
      Parameters:
      outputInfo - The output domain.
      predictions - The predictions to combine.
      weights - The weights to use for each prediction.
      Returns:
      The ensemble prediction.
    • 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<com.oracle.labs.mlrg.olcut.provenance.ConfiguredObjectProvenance>
    • exportCombiner

      public ONNXNode exportCombiner(ONNXNode input)
      Exports this voting combiner to ONNX.

      The input should be a 3-tensor [batch_size, num_outputs, num_ensemble_members].

      Specified by:
      exportCombiner in interface EnsembleCombiner<Label>
      Parameters:
      input - The input tensor to combine.
      Returns:
      the final node proto representing the voting operation.
    • exportCombiner

      public <T extends ONNXRef<?>> ONNXNode exportCombiner(ONNXNode input, T weight)
      Exports this voting combiner to ONNX

      The input should be a 3-tensor [batch_size, num_outputs, num_ensemble_members].

      Specified by:
      exportCombiner in interface EnsembleCombiner<Label>
      Type Parameters:
      T - The type of the weights input reference.
      Parameters:
      input - The input tensor to combine.
      weight - The combination weight node.
      Returns:
      the final node proto representing the voting operation.