Package org.tribuo.ensemble
Class EnsembleModel<T extends Output<T>>
java.lang.Object
org.tribuo.Model<T>
org.tribuo.ensemble.EnsembleModel<T>
- All Implemented Interfaces:
com.oracle.labs.mlrg.olcut.provenance.Provenancable<ModelProvenance>
,Serializable
,ProtoSerializable<org.tribuo.protos.core.ModelProto>
- Direct Known Subclasses:
WeightedEnsembleModel
A model which contains a list of other
Model
s.- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionThe list of models in this ensemble.Fields inherited from class org.tribuo.Model
ALL_OUTPUTS, BIAS_FEATURE, featureIDMap, generatesProbabilities, name, outputIDInfo, provenance, provenanceOutput
Fields inherited from interface org.tribuo.protos.ProtoSerializable
DESERIALIZATION_METHOD_NAME, PROVENANCE_SERIALIZER
-
Constructor Summary
ModifierConstructorDescriptionprotected
EnsembleModel
(String name, EnsembleModelProvenance provenance, ImmutableFeatureMap featureIDMap, ImmutableOutputInfo<T> outputIDInfo, List<Model<T>> newModels) Builds an EnsembleModel from the supplied model list. -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract EnsembleModel<T>
Copies this ensemble model.copy
(String name, ModelProvenance newProvenance) Copies a model, replacing its provenance and name with the supplied values.Generates an excuse for an example.Returns an unmodifiable view on the ensemble members.int
The number of ensemble members.getTopFeatures
(int n) Gets the topn
features associated with this model.Methods inherited from class org.tribuo.Model
castModel, copy, createDataCarrier, deserialize, deserializeFromFile, deserializeFromStream, generatesProbabilities, getExcuses, getFeatureIDMap, getName, getOutputIDInfo, innerPredict, predict, predict, predict, serialize, serializeToFile, serializeToStream, setName, toString, validate
-
Field Details
-
models
The list of models in this ensemble.
-
-
Constructor Details
-
EnsembleModel
protected EnsembleModel(String name, EnsembleModelProvenance provenance, ImmutableFeatureMap featureIDMap, ImmutableOutputInfo<T> outputIDInfo, List<Model<T>> newModels) Builds an EnsembleModel from the supplied model list.- Parameters:
name
- The name of this ensemble.provenance
- The model provenance.featureIDMap
- The feature domain.outputIDInfo
- The output domain.newModels
- The ensemble members.
-
-
Method Details
-
getModels
Returns an unmodifiable view on the ensemble members.- Returns:
- The ensemble members.
-
getNumModels
public int getNumModels()The number of ensemble members.- Returns:
- The ensemble size.
-
getExcuse
Description copied from class:Model
Generates an excuse for an example.This attempts to explain a classification result. Generating an excuse may be quite an expensive operation.
This excuse either contains per class information or an entry with key Model.ALL_OUTPUTS.
The optional is empty if the model does not provide excuses.
-
getProvenance
-
copy
Description copied from class:Model
Copies a model, replacing its provenance and name with the supplied values.Used to provide the provenance removal functionality.
-
copy
protected abstract EnsembleModel<T> copy(String name, EnsembleModelProvenance newProvenance, List<Model<T>> newModels) Copies this ensemble model.- Parameters:
name
- The new name.newProvenance
- The new provenance.newModels
- The new models.- Returns:
- A copy of the ensemble model.
-
getTopFeatures
Description copied from class:Model
Gets the topn
features associated with this model.If the model does not produce per output feature lists, it returns a map with a single element with key Model.ALL_OUTPUTS.
If the model cannot describe it's top features then it returns
Collections.emptyMap()
.- Specified by:
getTopFeatures
in classModel<T extends Output<T>>
- Parameters:
n
- the number of features to return. If this value is less than 0, all features should be returned for each class, unless the model cannot score it's features.- Returns:
- a map from string outputs to an ordered list of pairs of feature names and weights associated with that feature in the model
-