Package org.opencv.ml
Class StatModel
- java.lang.Object
-
- org.opencv.core.Algorithm
-
- org.opencv.ml.StatModel
-
- Direct Known Subclasses:
ANN_MLP
,DTrees
,EM
,KNearest
,LogisticRegression
,NormalBayesClassifier
,SVM
,SVMSGD
public class StatModel extends Algorithm
Base class for statistical models in OpenCV ML.
-
-
Field Summary
Fields Modifier and Type Field Description static int
COMPRESSED_INPUT
static int
PREPROCESSED_INPUT
static int
RAW_OUTPUT
static int
UPDATE_MODEL
-
Constructor Summary
Constructors Modifier Constructor Description protected
StatModel(long addr)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static StatModel
__fromPtr__(long addr)
float
calcError(TrainData data, boolean test, Mat resp)
Computes error on the training or test datasetboolean
empty()
Returns true if the Algorithm is empty (e.g.protected void
finalize()
int
getVarCount()
Returns the number of variables in training samplesboolean
isClassifier()
Returns true if the model is classifierboolean
isTrained()
Returns true if the model is trainedfloat
predict(Mat samples)
Predicts response(s) for the provided sample(s)float
predict(Mat samples, Mat results)
Predicts response(s) for the provided sample(s)float
predict(Mat samples, Mat results, int flags)
Predicts response(s) for the provided sample(s)boolean
train(Mat samples, int layout, Mat responses)
Trains the statistical modelboolean
train(TrainData trainData)
Trains the statistical modelboolean
train(TrainData trainData, int flags)
Trains the statistical model-
Methods inherited from class org.opencv.core.Algorithm
clear, getDefaultName, getNativeObjAddr, save
-
-
-
-
Field Detail
-
UPDATE_MODEL
public static final int UPDATE_MODEL
- See Also:
- Constant Field Values
-
RAW_OUTPUT
public static final int RAW_OUTPUT
- See Also:
- Constant Field Values
-
COMPRESSED_INPUT
public static final int COMPRESSED_INPUT
- See Also:
- Constant Field Values
-
PREPROCESSED_INPUT
public static final int PREPROCESSED_INPUT
- See Also:
- Constant Field Values
-
-
Method Detail
-
__fromPtr__
public static StatModel __fromPtr__(long addr)
-
empty
public boolean empty()
Description copied from class:Algorithm
Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read
-
isClassifier
public boolean isClassifier()
Returns true if the model is classifier- Returns:
- automatically generated
-
isTrained
public boolean isTrained()
Returns true if the model is trained- Returns:
- automatically generated
-
train
public boolean train(Mat samples, int layout, Mat responses)
Trains the statistical model- Parameters:
samples
- training sampleslayout
- See ml::SampleTypes.responses
- vector of responses associated with the training samples.- Returns:
- automatically generated
-
train
public boolean train(TrainData trainData, int flags)
Trains the statistical model- Parameters:
trainData
- training data that can be loaded from file using TrainData::loadFromCSV or created with TrainData::create.flags
- optional flags, depending on the model. Some of the models can be updated with the new training samples, not completely overwritten (such as NormalBayesClassifier or ANN_MLP).- Returns:
- automatically generated
-
train
public boolean train(TrainData trainData)
Trains the statistical model- Parameters:
trainData
- training data that can be loaded from file using TrainData::loadFromCSV or created with TrainData::create. new training samples, not completely overwritten (such as NormalBayesClassifier or ANN_MLP).- Returns:
- automatically generated
-
calcError
public float calcError(TrainData data, boolean test, Mat resp)
Computes error on the training or test dataset- Parameters:
data
- the training datatest
- if true, the error is computed over the test subset of the data, otherwise it's computed over the training subset of the data. Please note that if you loaded a completely different dataset to evaluate already trained classifier, you will probably want not to set the test subset at all with TrainData::setTrainTestSplitRatio and specify test=false, so that the error is computed for the whole new set. Yes, this sounds a bit confusing.resp
- the optional output responses. The method uses StatModel::predict to compute the error. For regression models the error is computed as RMS, for classifiers - as a percent of missclassified samples (0%-100%).- Returns:
- automatically generated
-
predict
public float predict(Mat samples, Mat results, int flags)
Predicts response(s) for the provided sample(s)- Parameters:
samples
- The input samples, floating-point matrixresults
- The optional output matrix of results.flags
- The optional flags, model-dependent. See cv::ml::StatModel::Flags.- Returns:
- automatically generated
-
predict
public float predict(Mat samples, Mat results)
Predicts response(s) for the provided sample(s)- Parameters:
samples
- The input samples, floating-point matrixresults
- The optional output matrix of results.- Returns:
- automatically generated
-
predict
public float predict(Mat samples)
Predicts response(s) for the provided sample(s)- Parameters:
samples
- The input samples, floating-point matrix- Returns:
- automatically generated
-
getVarCount
public int getVarCount()
Returns the number of variables in training samples- Returns:
- automatically generated
-
-