public class TreeModel<T extends Output<T>> extends SparseModel<T>
ALL_OUTPUTS, BIAS_FEATURE, featureIDMap, generatesProbabilities, name, outputIDInfo, provenance, provenanceOutput
Modifier | Constructor and Description |
---|---|
protected |
TreeModel(String name,
ModelProvenance description,
ImmutableFeatureMap featureIDMap,
ImmutableOutputInfo<T> outputIDInfo,
boolean generatesProbabilities,
Map<String,List<String>> activeFeatures)
Constructs a trained decision tree model.
|
Modifier and Type | Method and Description |
---|---|
protected static <T extends Output<T>> |
computeDepth(int initialDepth,
Node<T> root) |
protected TreeModel<T> |
copy(String newName,
ModelProvenance newProvenance)
Copies a model, replacing it's provenance and name with the supplied values.
|
int |
getDepth()
Probes the tree to find the depth.
|
Optional<Excuse<T>> |
getExcuse(Example<T> example)
Generates an excuse for an example.
|
Set<String> |
getFeatures()
Returns the set of features which are split on in this tree.
|
Map<String,List<com.oracle.labs.mlrg.olcut.util.Pair<String,Double>>> |
getTopFeatures(int n)
Gets the top
n features associated with this model. |
Prediction<T> |
predict(Example<T> example)
Uses the model to predict the output for a single example.
|
String |
toString() |
copy, getActiveFeatures
generatesProbabilities, getExcuses, getFeatureIDMap, getName, getOutputIDInfo, getProvenance, innerPredict, predict, predict, setName, validate
protected TreeModel(String name, ModelProvenance description, ImmutableFeatureMap featureIDMap, ImmutableOutputInfo<T> outputIDInfo, boolean generatesProbabilities, Map<String,List<String>> activeFeatures)
Only used when the tree has multiple roots, should only be called from subclasses when *all* other methods are overridden.
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.public int getDepth()
protected static <T extends Output<T>> int computeDepth(int initialDepth, Node<T> root)
public Prediction<T> predict(Example<T> example)
Model
predict does not mutate the example.
Throws IllegalArgumentException
if the example has no features
or no feature overlap with the model.
public Map<String,List<com.oracle.labs.mlrg.olcut.util.Pair<String,Double>>> getTopFeatures(int n)
Model
n
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()
.
getTopFeatures
in class Model<T extends Output<T>>
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.public Optional<Excuse<T>> getExcuse(Example<T> example)
Model
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.
protected TreeModel<T> copy(String newName, ModelProvenance newProvenance)
Model
Used to provide the provenance removal functionality.
public Set<String> getFeatures()
Copyright © 2015–2021 Oracle and/or its affiliates. All rights reserved.