Class FullyWeightedVotingCombiner

java.lang.Object
org.tribuo.classification.ensemble.FullyWeightedVotingCombiner
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 FullyWeightedVotingCombiner extends Object implements EnsembleCombiner<Label>
A combiner which performs a weighted or unweighted vote across the predicted labels.

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

See Also:
  • Constructor Details

    • FullyWeightedVotingCombiner

      public FullyWeightedVotingCombiner()
      Constructs a weighted 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 node to be ensembled according to this implementation.
      Returns:
      The leaf node of 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 node to be ensembled according to this implementation.
      weight - The node of weights for ensembling.
      Returns:
      The leaf node of the voting operation.