|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjml.classification.Classifier
public abstract class Classifier
Abstract super class for all classifier subclasses.
Field Summary | |
---|---|
double |
epsilon
Convergence tolerance. |
(package private) int[] |
IDLabelMap
An ID to integer label mapping array. |
(package private) int[] |
labelIDs
LabelID array for training data, starting from 0. |
(package private) int[] |
labels
Label array for training data with original integer code. |
int |
nClass
Number of classes. |
int |
nExample
Number of samples. |
int |
nFeature
Number of features, without bias dummy features, i.e., for SVM. |
private static long |
serialVersionUID
|
org.apache.commons.math.linear.RealMatrix |
W
Projection matrix (nFeature x nClass), column i is the projector for class i. |
org.apache.commons.math.linear.RealMatrix |
X
Training data matrix (nFeature x nExample), each column is a feature vector. |
org.apache.commons.math.linear.RealMatrix |
Y
Label matrix for training (nExample x nClass). |
Constructor Summary | |
---|---|
Classifier()
Default constructor for a classifier. |
|
Classifier(Options options)
Constructor for a classifier initialized with options wrapped in a Options object. |
Method Summary | |
---|---|
static int |
calcNumClass(int[] labels)
Infer the number of classes from a given label sequence. |
void |
feedData(double[][] data)
Feed training data for this classification method. |
void |
feedData(org.apache.commons.math.linear.RealMatrix X)
Feed training data with original data matrix for this classifier. |
void |
feedLabels(double[][] labels)
Feed labels for this classification method. |
void |
feedLabels(int[] labels)
Feed labels of training data to the classifier. |
void |
feedLabels(org.apache.commons.math.linear.RealMatrix Y)
Feed labels for training data from a matrix. |
static double |
getAccuracy(int[] pre_labels,
int[] labels)
Get accuracy for a classification task. |
static int[] |
getIDLabelMap(int[] labels)
Get an ID to integer label mapping array. |
static java.util.TreeMap<java.lang.Integer,java.lang.Integer> |
getLabelIDMap(int[] labels)
Get a mapping from labels to IDs. |
org.apache.commons.math.linear.RealMatrix |
getProjectionMatrix()
Get projection matrix for this classifier. |
org.apache.commons.math.linear.RealMatrix |
getTrainingLabelMatrix()
Get ground truth label matrix for training data. |
static org.apache.commons.math.linear.RealMatrix |
labelIndexArray2LabelMatrix(int[] labelIndices,
int nClass)
Convert a label index array to a label matrix. |
static int[] |
labelScoreMatrix2LabelIndexArray(org.apache.commons.math.linear.RealMatrix Y)
Convert a label matrix to a label index array. |
abstract void |
loadModel(java.lang.String filePath)
Load the model for a classifier. |
int[] |
predict(double[][] Xt)
Predict the labels for the test data formated as an original 2D double array. |
int[] |
predict(org.apache.commons.math.linear.RealMatrix Xt)
Predict the labels for the test data formated as an original data matrix. |
org.apache.commons.math.linear.RealMatrix |
predictLabelMatrix(double[][] Xt)
Predict the label matrix given test data formated as an original 2D double array. |
org.apache.commons.math.linear.RealMatrix |
predictLabelMatrix(org.apache.commons.math.linear.RealMatrix Xt)
Predict the label matrix given test data formated as an original data matrix. |
org.apache.commons.math.linear.RealMatrix |
predictLabelScoreMatrix(double[][] Xt)
Predict the label score matrix given test data formated as an original data matrix. |
abstract org.apache.commons.math.linear.RealMatrix |
predictLabelScoreMatrix(org.apache.commons.math.linear.RealMatrix Xt)
Predict the label score matrix given test data formated as an original data matrix. |
abstract void |
saveModel(java.lang.String filePath)
Save the model for a classifier. |
abstract void |
train()
Train the classifier. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final long serialVersionUID
public int nClass
public int nFeature
public int nExample
public org.apache.commons.math.linear.RealMatrix X
public org.apache.commons.math.linear.RealMatrix Y
int[] labelIDs
int[] labels
public org.apache.commons.math.linear.RealMatrix W
public double epsilon
int[] IDLabelMap
Constructor Detail |
---|
public Classifier()
public Classifier(Options options)
Options
object.
options
- classification optionsMethod Detail |
---|
public abstract void loadModel(java.lang.String filePath)
filePath
- file path to load the modelpublic abstract void saveModel(java.lang.String filePath)
filePath
- file path to save the modelpublic void feedData(org.apache.commons.math.linear.RealMatrix X)
X
- original data matrix without bias dummy featurespublic void feedData(double[][] data)
data
- a d x n 2D double
array with each
column being a data samplepublic static int calcNumClass(int[] labels)
labels
- any integer array holding the original
integer labels
public static int[] getIDLabelMap(int[] labels)
labels
- any integer array holding the original
integer labels
public static java.util.TreeMap<java.lang.Integer,java.lang.Integer> getLabelIDMap(int[] labels)
labels
- any integer array holding the original
integer labels
public void feedLabels(int[] labels)
labels
- any integer array holding the original
integer labelspublic void feedLabels(org.apache.commons.math.linear.RealMatrix Y)
Y
- an N x K label matrix, where N is the number of
training samples, and K is the number of classespublic void feedLabels(double[][] labels)
labels
- an n x c 2D double
arraypublic abstract void train()
public int[] predict(org.apache.commons.math.linear.RealMatrix Xt)
Xt
- test data matrix with each column being a feature vector
public int[] predict(double[][] Xt)
double
array. The original data matrix should not
include bias dummy features.
Xt
- a d x n 2D double
array with each
column being a data sample
public org.apache.commons.math.linear.RealMatrix predictLabelMatrix(org.apache.commons.math.linear.RealMatrix Xt)
Xt
- test data matrix with each column being a feature vector
public org.apache.commons.math.linear.RealMatrix predictLabelMatrix(double[][] Xt)
double
array.
Xt
- a d x n 2D double
array with each
column being a data sample
public abstract org.apache.commons.math.linear.RealMatrix predictLabelScoreMatrix(org.apache.commons.math.linear.RealMatrix Xt)
Xt
- test data matrix with each column being a feature vector
public org.apache.commons.math.linear.RealMatrix predictLabelScoreMatrix(double[][] Xt)
Xt
- a d x n 2D double
array with each
column being a data sample
public static double getAccuracy(int[] pre_labels, int[] labels)
pre_labels
- predicted labelslabels
- true labels
public org.apache.commons.math.linear.RealMatrix getProjectionMatrix()
public org.apache.commons.math.linear.RealMatrix getTrainingLabelMatrix()
public static int[] labelScoreMatrix2LabelIndexArray(org.apache.commons.math.linear.RealMatrix Y)
Y
- label matrix
public static org.apache.commons.math.linear.RealMatrix labelIndexArray2LabelMatrix(int[] labelIndices, int nClass)
labelIndices
- a label index arraynClass
- number of classes
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |