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>
,ProtoSerializable<org.tribuo.protos.core.EnsembleCombinerProto>
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:
-
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 FullyWeightedVotingCombiner
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 ONNX.com.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
-
FullyWeightedVotingCombiner
public FullyWeightedVotingCombiner()Constructs a weighted voting combiner.
-
-
Method Details
-
deserializeFromProto
public static FullyWeightedVotingCombiner 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 node to be ensembled according to this implementation.- Returns:
- The leaf node of the voting operation.
-
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>
- 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.
-
equals
-
hashCode
public int hashCode()
-