Package org.tribuo.anomaly.liblinear
Class LibLinearAnomalyModel
java.lang.Object
org.tribuo.Model<T>
org.tribuo.common.liblinear.LibLinearModel<Event>
org.tribuo.anomaly.liblinear.LibLinearAnomalyModel
- All Implemented Interfaces:
com.oracle.labs.mlrg.olcut.provenance.Provenancable<ModelProvenance>
,Serializable
A
Model
which wraps a LibLinear-java anomaly detection 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.
- See Also:
-
Field Summary
Fields inherited from class org.tribuo.common.liblinear.LibLinearModel
models
Fields inherited from class org.tribuo.Model
ALL_OUTPUTS, BIAS_FEATURE, featureIDMap, generatesProbabilities, name, outputIDInfo, provenance, provenanceOutput
-
Method Summary
Modifier and TypeMethodDescriptionprotected LibLinearAnomalyModel
copy
(String newName, ModelProvenance newProvenance) Copies a model, replacing its provenance and name with the supplied values.protected double[][]
Extracts the feature weights from the models.getTopFeatures
(int n) Gets the topn
features associated with this model.innerGetExcuse
(Example<Event> 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.Uses the model to predict the output for a single example.Methods inherited from class org.tribuo.common.liblinear.LibLinearModel
copyModel, getExcuse, getExcuses, getInnerModels
Methods inherited from class org.tribuo.Model
castModel, copy, generatesProbabilities, getFeatureIDMap, getName, getOutputIDInfo, getProvenance, innerPredict, predict, predict, setName, toString, validate
-
Method Details
-
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<Event>
- 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
-
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.
-
getFeatureWeights
protected double[][] getFeatureWeights()Description copied from class:LibLinearModel
Extracts the feature weights from the models. The first dimension corresponds to the model index.- Specified by:
getFeatureWeights
in classLibLinearModel<Event>
- Returns:
- The feature weights.
-
innerGetExcuse
The call to model.getFeatureWeights in the public methods copies the weights array so this inner method exists to save the copy in getExcuses.If it becomes a problem then we could cache the feature weights in the model.
- Specified by:
innerGetExcuse
in classLibLinearModel<Event>
- Parameters:
e
- The example.allFeatureWeights
- The feature weights.- Returns:
- An excuse for this example.
-