Class ClassifierChainModel
- All Implemented Interfaces:
- com.oracle.labs.mlrg.olcut.provenance.Provenancable<ModelProvenance>,- Serializable
Classifier chains convert binary classifiers into multi-label classifiers by training one classifier per label (similar to the Binary Relevance approach), but in a specific order (the chain). Classifiers further down the chain use the labels from all previously computed classifiers as features, thus allowing the model to incorporate some measure of label dependence.
Choosing the optimal label ordering is tricky as the label dependence is usually unknown, so one popular alternative is to produce an ensemble of randomly ordered chains, which mitigates a poor label ordering by averaging across many orderings.
See:
Read, J., Pfahringer, B., Holmes, G., & Frank, E. "Classifier Chains for Multi-Label Classification" Machine Learning, pages 333-359, 2011.
- See Also:
- 
Field SummaryFields inherited from class org.tribuo.ModelALL_OUTPUTS, BIAS_FEATURE, featureIDMap, generatesProbabilities, name, outputIDInfo, provenance, provenanceOutput
- 
Method SummaryModifier and TypeMethodDescriptionprotected ClassifierChainModelcopy(String newName, ModelProvenance newProvenance) Copies a model, replacing its provenance and name with the supplied values.getExcuse(Example<MultiLabel> example) Generates an excuse for an example.Returns the training label order.getTopFeatures(int n) Gets the topnfeatures associated with this model.predict(Example<MultiLabel> example) Uses the model to predict the output for a single example.Methods inherited from class org.tribuo.ModelcastModel, copy, generatesProbabilities, getExcuses, getFeatureIDMap, getName, getOutputIDInfo, getProvenance, innerPredict, predict, predict, setName, toString, validate
- 
Method Details- 
predictDescription copied from class:ModelUses the model to predict the output for a single example.predict does not mutate the example. Throws IllegalArgumentExceptionif the example has no features or no feature overlap with the model.- Specified by:
- predictin class- Model<MultiLabel>
- Parameters:
- example- the example to predict.
- Returns:
- the result of the prediction.
 
- 
getLabelOrder
- 
getTopFeaturesDescription copied from class:ModelGets the topnfeatures 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:
- getTopFeaturesin class- Model<MultiLabel>
- 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
 
- 
getExcuseDescription copied from class:ModelGenerates 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. - Specified by:
- getExcusein class- Model<MultiLabel>
- Parameters:
- example- The input example.
- Returns:
- An optional excuse object. The optional is empty if this model does not provide excuses.
 
- 
copyDescription copied from class:ModelCopies a model, replacing its provenance and name with the supplied values.Used to provide the provenance removal functionality. - Specified by:
- copyin class- Model<MultiLabel>
- Parameters:
- newName- The new name.
- newProvenance- The new provenance.
- Returns:
- A copy of the model.
 
 
-