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
FieldsModifier and TypeFieldDescriptionstatic final intProtobuf serialization version.Fields inherited from interface org.tribuo.protos.ProtoSerializable
DESERIALIZATION_METHOD_NAME, PROVENANCE_SERIALIZER -
Constructor Summary
Constructors -
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 VotingCombinerdeserializeFromProto(int version, String className, com.google.protobuf.Any message) Deserialization factory.booleanexportCombiner(ONNXNode input) Exports this voting combiner to ONNX.exportCombiner(ONNXNode input, T weight) Exports this voting combiner to ONNXcom.oracle.labs.mlrg.olcut.provenance.ConfiguredObjectProvenanceThe type witness used when deserializing the combiner from a protobuf.inthashCode()org.tribuo.protos.core.EnsembleCombinerProtoSerializes this object to a protobuf.toString()Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods 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:ProtoSerializableSerializes this object to a protobuf.- Specified by:
serializein 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:EnsembleCombinerCombine the predictions.- Specified by:
combinein 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:EnsembleCombinerCombine the supplied predictions. predictions.size() must equal weights.length.- Specified by:
combinein 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:
getProvenancein interfacecom.oracle.labs.mlrg.olcut.provenance.Provenancable<com.oracle.labs.mlrg.olcut.provenance.ConfiguredObjectProvenance>
-
getTypeWitness
Description copied from interface:EnsembleCombinerThe type witness used when deserializing the combiner from a protobuf.The default implementation throws
UnsupportedOperationExceptionfor compatibility with implementations which don't use protobuf serialization. This implementation will be removed in the next major version of Tribuo.- Specified by:
getTypeWitnessin 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:
exportCombinerin 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:
exportCombinerin 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
-