public abstract class EnsembleModel<T extends Output<T>> extends Model<T>
Model
s.Modifier and Type | Field and Description |
---|---|
protected List<Model<T>> |
models |
ALL_OUTPUTS, BIAS_FEATURE, featureIDMap, generatesProbabilities, name, outputIDInfo, provenance, provenanceOutput
Modifier | Constructor and Description |
---|---|
protected |
EnsembleModel(String name,
EnsembleModelProvenance provenance,
ImmutableFeatureMap featureIDMap,
ImmutableOutputInfo<T> outputIDInfo,
List<Model<T>> newModels)
Builds an EnsembleModel from the supplied model list.
|
Modifier and Type | Method and Description |
---|---|
protected abstract EnsembleModel<T> |
copy(String name,
EnsembleModelProvenance newProvenance,
List<Model<T>> newModels)
Copies this ensemble model.
|
protected Model<T> |
copy(String name,
ModelProvenance newProvenance)
Copies a model, replacing it's provenance and name with the supplied values.
|
abstract Optional<Excuse<T>> |
getExcuse(Example<T> example)
Generates an excuse for an example.
|
List<Model<T>> |
getModels()
Returns an unmodifiable view on the ensemble members.
|
int |
getNumModels()
The number of ensemble members.
|
EnsembleModelProvenance |
getProvenance() |
Map<String,List<com.oracle.labs.mlrg.olcut.util.Pair<String,Double>>> |
getTopFeatures(int n)
Gets the top
n features associated with this model. |
copy, generatesProbabilities, getExcuses, getFeatureIDMap, getName, getOutputIDInfo, innerPredict, predict, predict, predict, setName, toString, validate
protected EnsembleModel(String name, EnsembleModelProvenance provenance, ImmutableFeatureMap featureIDMap, ImmutableOutputInfo<T> outputIDInfo, List<Model<T>> newModels)
name
- The name of this ensemble.provenance
- The model provenance.featureIDMap
- The feature domain.outputIDInfo
- The output domain.newModels
- The ensemble members.public List<Model<T>> getModels()
public int getNumModels()
public abstract 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.
public EnsembleModelProvenance getProvenance()
getProvenance
in interface com.oracle.labs.mlrg.olcut.provenance.Provenancable<ModelProvenance>
getProvenance
in class Model<T extends Output<T>>
protected Model<T> copy(String name, ModelProvenance newProvenance)
Model
Used to provide the provenance removal functionality.
protected abstract EnsembleModel<T> copy(String name, EnsembleModelProvenance newProvenance, List<Model<T>> newModels)
name
- The new name.newProvenance
- The new provenance.newModels
- The new models.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.Copyright © 2015–2021 Oracle and/or its affiliates. All rights reserved.