Package de.bwaldvogel.liblinear
Class Model
java.lang.Object
de.bwaldvogel.liblinear.Model
- All Implemented Interfaces:
Serializable
Model stores the model obtained from the training procedure
use Linear.loadModel(Path)
and Linear.saveModel(Path, Model)
to load/save it
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) double
(package private) int[]
label of each class(package private) int
(package private) int
(package private) double
one-class SVM onlyprivate static final long
(package private) SolverType
(package private) double[]
feature weight array -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static boolean
arrayEquals
(double[] a, double[] a2) don't useArrays.equals(double[], double[])
here, cause 0.0 and -0.0 should be handled the sameprivate static int
arrayHashCode
(double[] w) seeArrays.hashCode(double[])
but treat 0.0 and -0.0 the sameboolean
private double
get_w_value
(int idx, int label_idx) double
getBias()
double
getDecfunBias
(int labelIdx) This function gives the bias term corresponding to the class with the label_idx.double
getDecfunCoef
(int featIdx, int labelIdx) This function gives the coefficient for the feature with feature index = feat_idx and the class with label index = label_idx.double
This function gives rho, the bias term used in one-class SVM only.double[]
The array w gives feature weights; its size is nr_feature*nr_class but is nr_feature if nr_class = 2.int[]
int
int
int
hashCode()
boolean
static Model
Deprecated.static Model
static Model
void
Deprecated.usesave(Path)
insteadvoid
void
toString()
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
bias
double bias -
label
int[] labellabel of each class -
nr_class
int nr_class -
nr_feature
int nr_feature -
solverType
SolverType solverType -
w
double[] wfeature weight array -
rho
double rhoone-class SVM only
-
-
Constructor Details
-
Model
public Model()
-
-
Method Details
-
getNrClass
public int getNrClass()- Returns:
- number of classes
-
getNrFeature
public int getNrFeature()- Returns:
- number of features
-
getLabels
public int[] getLabels() -
getSolverType
-
getFeatureWeights
public double[] getFeatureWeights()The array w gives feature weights; its size is nr_feature*nr_class but is nr_feature if nr_class = 2. We use one against the rest for multi-class classification, so each feature index corresponds to nr_class weight values. Weights are organized in the following way+------------------+------------------+------------+ | nr_class weights | nr_class weights | ... | for 1st feature | for 2nd feature | +------------------+------------------+------------+
If bias >= 0, x becomes [x; bias]. The number of features is increased by one, so w is a (nr_feature+1)*nr_class array. The value of bias is stored in the variable bias.- Returns:
- a copy of the feature weight array as described
- See Also:
-
isProbabilityModel
public boolean isProbabilityModel()- Returns:
- true for logistic regression solvers
-
getBias
public double getBias()- See Also:
-
get_w_value
private double get_w_value(int idx, int label_idx) -
getDecfunCoef
public double getDecfunCoef(int featIdx, int labelIdx) This function gives the coefficient for the feature with feature index = feat_idx and the class with label index = label_idx. Note that feat_idx starts from 1, while label_idx starts from 0. If feat_idx is not in the valid range (1 to nr_feature), then a zero value will be returned. For classification models, if label_idx is not in the valid range (0 to nr_class-1), then a zero value will be returned; for regression models, label_idx is ignored.- Since:
- 1.95
-
getDecfunBias
public double getDecfunBias(int labelIdx) This function gives the bias term corresponding to the class with the label_idx. For classification models, if label_idx is not in a valid range (0 to nr_class-1), then a zero value will be returned; for regression models, label_idx is ignored.- Since:
- 1.95
-
getDecfunRho
public double getDecfunRho()This function gives rho, the bias term used in one-class SVM only. This function can only be called for a one-class SVM model.- Since:
- 2.40
-
toString
-
hashCode
public int hashCode() -
equals
-
arrayEquals
private static boolean arrayEquals(double[] a, double[] a2) don't useArrays.equals(double[], double[])
here, cause 0.0 and -0.0 should be handled the same- See Also:
-
arrayHashCode
private static int arrayHashCode(double[] w) seeArrays.hashCode(double[])
but treat 0.0 and -0.0 the same -
save
Deprecated.usesave(Path)
instead- Throws:
IOException
-
save
- Throws:
IOException
-
save
- Throws:
IOException
-
load
Deprecated.useload(Path)
instead- Throws:
IOException
-
load
- Throws:
IOException
-
load
- Throws:
IOException
-
load(Path)
instead