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>
,ProtoSerializable<org.tribuo.protos.core.EnsembleCombinerProto>
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:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
Protobuf serialization version.Fields inherited from interface org.tribuo.protos.ProtoSerializable
DESERIALIZATION_METHOD_NAME, PROVENANCE_SERIALIZER
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioncombine
(ImmutableOutputInfo<Label> outputInfo, List<Prediction<Label>> predictions) Combine the predictions.combine
(ImmutableOutputInfo<Label> outputInfo, List<Prediction<Label>> predictions, float[] weights) Combine the supplied predictions.static VotingCombiner
deserializeFromProto
(int version, String className, com.google.protobuf.Any message) Deserialization factory.boolean
exportCombiner
(ONNXNode input) Exports this voting combiner to ONNX.exportCombiner
(ONNXNode input, T weight) Exports this voting combiner to ONNXcom.oracle.labs.mlrg.olcut.provenance.ConfiguredObjectProvenance
The type witness used when deserializing the combiner from a protobuf.int
hashCode()
org.tribuo.protos.core.EnsembleCombinerProto
Serializes this object to a protobuf.toString()
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.oracle.labs.mlrg.olcut.config.Configurable
postConfig
-
Field Details
-
CURRENT_VERSION
public static final int CURRENT_VERSIONProtobuf serialization version.- See Also:
-
-
Constructor Details
-
VotingCombiner
public VotingCombiner()Constructs a voting combiner.
-
-
Method Details
-
deserializeFromProto
public static VotingCombiner deserializeFromProto(int version, String className, com.google.protobuf.Any message) Deserialization factory.- Parameters:
version
- The serialized object version.className
- The class name.message
- The serialized data.- Returns:
- The deserialized object.
-
serialize
public org.tribuo.protos.core.EnsembleCombinerProto serialize()Description copied from interface:ProtoSerializable
Serializes this object to a protobuf.- Specified by:
serialize
in interfaceProtoSerializable<org.tribuo.protos.core.EnsembleCombinerProto>
- Returns:
- The protobuf.
-
combine
public Prediction<Label> combine(ImmutableOutputInfo<Label> outputInfo, List<Prediction<Label>> predictions) Description copied from interface:EnsembleCombiner
Combine the predictions.- Specified by:
combine
in interfaceEnsembleCombiner<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 interfaceEnsembleCombiner<Label>
- Parameters:
outputInfo
- The output domain.predictions
- The predictions to combine.weights
- The weights to use for each prediction.- Returns:
- The ensemble prediction.
-
toString
-
getProvenance
public com.oracle.labs.mlrg.olcut.provenance.ConfiguredObjectProvenance getProvenance()- Specified by:
getProvenance
in interfacecom.oracle.labs.mlrg.olcut.provenance.Provenancable<com.oracle.labs.mlrg.olcut.provenance.ConfiguredObjectProvenance>
-
getTypeWitness
Description copied from interface:EnsembleCombiner
The type witness used when deserializing the combiner from a protobuf.The default implementation throws
UnsupportedOperationException
for compatibility with implementations which don't use protobuf serialization. This implementation will be removed in the next major version of Tribuo.- Specified by:
getTypeWitness
in interfaceEnsembleCombiner<Label>
- Returns:
- The output class this object produces.
-
exportCombiner
Exports this voting combiner to ONNX.The input should be a 3-tensor [batch_size, num_outputs, num_ensemble_members].
- Specified by:
exportCombiner
in interfaceEnsembleCombiner<Label>
- Parameters:
input
- The input tensor to combine.- Returns:
- the final node proto representing the voting operation.
-
exportCombiner
Exports this voting combiner to ONNXThe input should be a 3-tensor [batch_size, num_outputs, num_ensemble_members].
- Specified by:
exportCombiner
in interfaceEnsembleCombiner<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.
-
equals
-
hashCode
public int hashCode()
-