public class LibLinearClassificationModel extends LibLinearModel<Label>
Model
which wraps a LibLinear-java classification model.
It disables the LibLinear debug output as it's very chatty.
See:
Fan RE, Chang KW, Hsieh CJ, Wang XR, Lin CJ. "LIBLINEAR: A library for Large Linear Classification" Journal of Machine Learning Research, 2008.and for the original algorithm:
Cortes C, Vapnik V. "Support-Vector Networks" Machine Learning, 1995.
models
ALL_OUTPUTS, BIAS_FEATURE, featureIDMap, generatesProbabilities, name, outputIDInfo, provenance, provenanceOutput
Modifier and Type | Method and Description |
---|---|
protected LibLinearClassificationModel |
copy(String newName,
ModelProvenance newProvenance)
Copies a model, replacing it's provenance and name with the supplied values.
|
protected double[][] |
getFeatureWeights()
Extracts the feature weights from the models.
|
Map<String,List<com.oracle.labs.mlrg.olcut.util.Pair<String,Double>>> |
getTopFeatures(int n)
Gets the top
n features associated with this model. |
protected Excuse<Label> |
innerGetExcuse(Example<Label> e,
double[][] allFeatureWeights)
The call to model.getFeatureWeights in the public methods copies the
weights array so this inner method exists to save the copy in getExcuses.
|
Prediction<Label> |
predict(Example<Label> example)
Uses the model to predict the output for a single example.
|
copyModel, getExcuse, getExcuses, getInnerModels
copy, generatesProbabilities, getFeatureIDMap, getName, getOutputIDInfo, getProvenance, innerPredict, predict, predict, setName, toString, validate
public Prediction<Label> predict(Example<Label> 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<Label>
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.protected LibLinearClassificationModel copy(String newName, ModelProvenance newProvenance)
Model
Used to provide the provenance removal functionality.
protected double[][] getFeatureWeights()
LibLinearModel
getFeatureWeights
in class LibLinearModel<Label>
protected Excuse<Label> innerGetExcuse(Example<Label> e, double[][] allFeatureWeights)
If it becomes a problem then we could cache the feature weights in the model.
innerGetExcuse
in class LibLinearModel<Label>
e
- The example.allFeatureWeights
- The feature weights.Copyright © 2015–2021 Oracle and/or its affiliates. All rights reserved.