Base class for statistical models in OpenCV ML. More...
#include <opencv2/ml.hpp>

Public Types | |
enum | Flags { UPDATE_MODEL = 1 , RAW_OUTPUT =1 , COMPRESSED_INPUT =2 , PREPROCESSED_INPUT =4 } |
Public Member Functions | |
virtual float | calcError (const Ptr< TrainData > &data, bool test, OutputArray resp) const |
Computes error on the training or test dataset. | |
virtual bool | empty () const CV_OVERRIDE |
Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read. | |
virtual int | getVarCount () const =0 |
Returns the number of variables in training samples. | |
virtual bool | isClassifier () const =0 |
Returns true if the model is classifier. | |
virtual bool | isTrained () const =0 |
Returns true if the model is trained. | |
virtual float | predict (InputArray samples, OutputArray results=noArray(), int flags=0) const =0 |
Predicts response(s) for the provided sample(s) | |
virtual bool | train (const Ptr< TrainData > &trainData, int flags=0) |
Trains the statistical model. | |
virtual bool | train (InputArray samples, int layout, InputArray responses) |
Trains the statistical model. | |
![]() | |
Algorithm () | |
virtual | ~Algorithm () |
virtual void | clear () |
Clears the algorithm state. | |
virtual bool | empty () const |
Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read. | |
virtual String | getDefaultName () const |
virtual void | read (const FileNode &fn) |
Reads algorithm parameters from a file storage. | |
virtual void | save (const String &filename) const |
void | write (const Ptr< FileStorage > &fs, const String &name=String()) const |
virtual void | write (FileStorage &fs) const |
Stores algorithm parameters in a file storage. | |
void | write (FileStorage &fs, const String &name) const |
Static Public Member Functions | |
template<typename _Tp > | |
static Ptr< _Tp > | train (const Ptr< TrainData > &data, int flags=0) |
Create and train model with default parameters. | |
![]() | |
template<typename _Tp > | |
static Ptr< _Tp > | load (const String &filename, const String &objname=String()) |
Loads algorithm from the file. | |
template<typename _Tp > | |
static Ptr< _Tp > | loadFromString (const String &strModel, const String &objname=String()) |
Loads algorithm from a String. | |
template<typename _Tp > | |
static Ptr< _Tp > | read (const FileNode &fn) |
Reads algorithm from the file node. | |
Additional Inherited Members | |
![]() | |
void | writeFormat (FileStorage &fs) const |
Detailed Description
Base class for statistical models in OpenCV ML.
Member Enumeration Documentation
◆ Flags
Member Function Documentation
◆ calcError()
|
virtual |
Computes error on the training or test dataset.
- Parameters
-
data the training data test 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%).
◆ empty()
|
virtual |
Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read.
Reimplemented from cv::Algorithm.
◆ getVarCount()
|
pure virtual |
Returns the number of variables in training samples.
◆ isClassifier()
|
pure virtual |
Returns true if the model is classifier.
◆ isTrained()
|
pure virtual |
Returns true if the model is trained.
◆ predict()
|
pure virtual |
Predicts response(s) for the provided sample(s)
- Parameters
-
samples The input samples, floating-point matrix results The optional output matrix of results. flags The optional flags, model-dependent. See cv::ml::StatModel::Flags.
Implemented in cv::ml::EM, and cv::ml::LogisticRegression.
◆ train() [1/3]
|
inlinestatic |
Create and train model with default parameters.
The class must implement static create()
method with no parameters or with all default parameter values
◆ train() [2/3]
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).
◆ train() [3/3]
|
virtual |
Trains the statistical model.
- Parameters
-
samples training samples layout See ml::SampleTypes. responses vector of responses associated with the training samples.
The documentation for this class was generated from the following file:
- opencv2/ml.hpp