Class TreeModel<T extends Output<T>>
- All Implemented Interfaces:
com.oracle.labs.mlrg.olcut.provenance.Provenancable<ModelProvenance>
,Serializable
- Direct Known Subclasses:
IndependentRegressionTreeModel
- See Also:
-
Field Summary
Fields inherited from class org.tribuo.Model
ALL_OUTPUTS, BIAS_FEATURE, featureIDMap, generatesProbabilities, name, outputIDInfo, provenance, provenanceOutput
-
Constructor Summary
ModifierConstructorDescriptionprotected
TreeModel
(String name, ModelProvenance description, ImmutableFeatureMap featureIDMap, ImmutableOutputInfo<T> outputIDInfo, boolean generatesProbabilities, Map<String, List<String>> activeFeatures) Constructs a trained decision tree model. -
Method Summary
Modifier and TypeMethodDescriptionprotected static <T extends Output<T>>
intcomputeDepth
(int initialDepth, Node<T> root) copy
(String newName, ModelProvenance newProvenance) Copies a model, replacing its provenance and name with the supplied values.int
getDepth()
Probes the tree to find the depth.Generates an excuse for an example.Returns the set of features which are split on in this tree.getRoot()
Returns the root node of this tree.getTopFeatures
(int n) Gets the topn
features associated with this model.Uses the model to predict the output for a single example.toString()
Methods inherited from class org.tribuo.SparseModel
copy, getActiveFeatures
Methods inherited from class org.tribuo.Model
castModel, generatesProbabilities, getExcuses, getFeatureIDMap, getName, getOutputIDInfo, getProvenance, innerPredict, predict, predict, setName, validate
-
Constructor Details
-
TreeModel
protected TreeModel(String name, ModelProvenance description, ImmutableFeatureMap featureIDMap, ImmutableOutputInfo<T> outputIDInfo, boolean generatesProbabilities, Map<String, List<String>> activeFeatures) Constructs a trained decision tree model.Only used when the tree has multiple roots, should only be called from subclasses when *all* other methods are overridden.
- Parameters:
name
- The model name.description
- The model provenance.featureIDMap
- The feature id map.outputIDInfo
- The output info.generatesProbabilities
- Does this model emit probabilities.activeFeatures
- The active feature set of the model.
-
-
Method Details
-
getDepth
public int getDepth()Probes the tree to find the depth.- Returns:
- The depth of the tree.
-
computeDepth
-
predict
Description copied from class:Model
Uses the model to predict the output for a single example.predict does not mutate the example.
Throws
IllegalArgumentException
if the example has no features or no feature overlap with the 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
-
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.
-
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.
-
getFeatures
Returns the set of features which are split on in this tree.- Returns:
- The feature names used by this tree.
-
toString
-
getRoot
Returns the root node of this tree.- Returns:
- The root node.
-