OpenCV  4.1.0
Open Source Computer Vision
Public Types | Public Member Functions | Static Public Member Functions | List of all members
cv::ml::LogisticRegression Class Referenceabstract

Implements Logistic Regression classifier. More...

#include <opencv2/ml.hpp>

Inheritance diagram for cv::ml::LogisticRegression:
cv::ml::StatModel cv::Algorithm

Public Types

enum  Methods {
  BATCH = 0,
  MINI_BATCH = 1
}
 Training methods. More...
 
enum  RegKinds {
  REG_DISABLE = -1,
  REG_L1 = 0,
  REG_L2 = 1
}
 Regularization kinds. More...
 
- Public Types inherited from cv::ml::StatModel
enum  Flags {
  UPDATE_MODEL = 1,
  RAW_OUTPUT =1,
  COMPRESSED_INPUT =2,
  PREPROCESSED_INPUT =4
}
 

Public Member Functions

virtual Mat get_learnt_thetas () const =0
 This function returns the trained parameters arranged across rows.
 
virtual int getIterations () const =0
 
virtual double getLearningRate () const =0
 
virtual int getMiniBatchSize () const =0
 
virtual int getRegularization () const =0
 
virtual TermCriteria getTermCriteria () const =0
 
virtual int getTrainMethod () const =0
 
virtual float predict (InputArray samples, OutputArray results=noArray(), int flags=0) const CV_OVERRIDE=0
 Predicts responses for input samples and returns a float type.
 
virtual void setIterations (int val)=0
 
virtual void setLearningRate (double val)=0
 
virtual void setMiniBatchSize (int val)=0
 
virtual void setRegularization (int val)=0
 
virtual void setTermCriteria (TermCriteria val)=0
 
virtual void setTrainMethod (int val)=0
 
- Public Member Functions inherited from cv::ml::StatModel
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 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.
 
- Public Member Functions inherited from cv::Algorithm
 Algorithm ()
 
virtual ~Algorithm ()
 
virtual void clear ()
 Clears the algorithm state.
 
virtual String getDefaultName () const
 
virtual void read (const FileNode &fn)
 Reads algorithm parameters from a file storage.
 
virtual void save (const String &filename) const
 
virtual void write (FileStorage &fs) const
 Stores algorithm parameters in a file storage.
 
void write (const Ptr< FileStorage > &fs, const String &name=String()) const
 simplified API for language bindingsThis is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 

Static Public Member Functions

static Ptr< LogisticRegressioncreate ()
 Creates empty model.
 
static Ptr< LogisticRegressionload (const String &filepath, const String &nodeName=String())
 Loads and creates a serialized LogisticRegression from a file.
 
- Static Public Member Functions inherited from cv::ml::StatModel
template<typename _Tp >
static Ptr< _Tp > train (const Ptr< TrainData > &data, int flags=0)
 Create and train model with default parameters.
 
- Static Public Member Functions inherited from cv::Algorithm
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

- Protected Member Functions inherited from cv::Algorithm
void writeFormat (FileStorage &fs) const
 

Detailed Description

Implements Logistic Regression classifier.

See Also
Logistic Regression

Member Enumeration Documentation

Training methods.

Enumerator
BATCH 
MINI_BATCH 

Set MiniBatchSize to a positive integer when using this method.

Regularization kinds.

Enumerator
REG_DISABLE 

Regularization disabled.

REG_L1 

L1 norm

REG_L2 

L2 norm

Member Function Documentation

static Ptr<LogisticRegression> cv::ml::LogisticRegression::create ( )
static
Python:
retval=cv.ml.LogisticRegression_create()

Creates empty model.

Creates Logistic Regression model with parameters given.

virtual Mat cv::ml::LogisticRegression::get_learnt_thetas ( ) const
pure virtual
Python:
retval=cv.ml_LogisticRegression.get_learnt_thetas()

This function returns the trained parameters arranged across rows.

For a two class classifcation problem, it returns a row matrix. It returns learnt parameters of the Logistic Regression as a matrix of type CV_32F.

virtual int cv::ml::LogisticRegression::getIterations ( ) const
pure virtual
Python:
retval=cv.ml_LogisticRegression.getIterations()

Number of iterations.

See Also
setIterations
virtual double cv::ml::LogisticRegression::getLearningRate ( ) const
pure virtual
Python:
retval=cv.ml_LogisticRegression.getLearningRate()

Learning rate.

See Also
setLearningRate
virtual int cv::ml::LogisticRegression::getMiniBatchSize ( ) const
pure virtual
Python:
retval=cv.ml_LogisticRegression.getMiniBatchSize()
Specifies the number of training samples taken in each step of Mini-Batch Gradient

Descent. Will only be used if using LogisticRegression::MINI_BATCH training algorithm. It has to take values less than the total number of training samples.

See Also
setMiniBatchSize
virtual int cv::ml::LogisticRegression::getRegularization ( ) const
pure virtual
Python:
retval=cv.ml_LogisticRegression.getRegularization()

Kind of regularization to be applied. See LogisticRegression::RegKinds.

See Also
setRegularization
virtual TermCriteria cv::ml::LogisticRegression::getTermCriteria ( ) const
pure virtual
Python:
retval=cv.ml_LogisticRegression.getTermCriteria()

Termination criteria of the algorithm.

See Also
setTermCriteria
virtual int cv::ml::LogisticRegression::getTrainMethod ( ) const
pure virtual
Python:
retval=cv.ml_LogisticRegression.getTrainMethod()

Kind of training method used. See LogisticRegression::Methods.

See Also
setTrainMethod
static Ptr<LogisticRegression> cv::ml::LogisticRegression::load ( const String filepath,
const String nodeName = String() 
)
static
Python:
retval=cv.ml.LogisticRegression_load(filepath[, nodeName])

Loads and creates a serialized LogisticRegression from a file.

Use LogisticRegression::save to serialize and store an LogisticRegression to disk. Load the LogisticRegression from this file again, by calling this function with the path to the file. Optionally specify the node for the file containing the classifier

Parameters
filepathpath to serialized LogisticRegression
nodeNamename of node containing the classifier
virtual float cv::ml::LogisticRegression::predict ( InputArray  samples,
OutputArray  results = noArray(),
int  flags = 0 
) const
pure virtual
Python:
retval, results=cv.ml_LogisticRegression.predict(samples[, results[, flags]])

Predicts responses for input samples and returns a float type.

Parameters
samplesThe input data for the prediction algorithm. Matrix [m x n], where each row contains variables (features) of one object being classified. Should have data type CV_32F.
resultsPredicted labels as a column matrix of type CV_32S.
flagsNot used.

Implements cv::ml::StatModel.

virtual void cv::ml::LogisticRegression::setIterations ( int  val)
pure virtual
Python:
None=cv.ml_LogisticRegression.setIterations(val)
See Also
getIterations
virtual void cv::ml::LogisticRegression::setLearningRate ( double  val)
pure virtual
Python:
None=cv.ml_LogisticRegression.setLearningRate(val)
See Also
getLearningRate
virtual void cv::ml::LogisticRegression::setMiniBatchSize ( int  val)
pure virtual
Python:
None=cv.ml_LogisticRegression.setMiniBatchSize(val)
virtual void cv::ml::LogisticRegression::setRegularization ( int  val)
pure virtual
Python:
None=cv.ml_LogisticRegression.setRegularization(val)
virtual void cv::ml::LogisticRegression::setTermCriteria ( TermCriteria  val)
pure virtual
Python:
None=cv.ml_LogisticRegression.setTermCriteria(val)
See Also
getTermCriteria
virtual void cv::ml::LogisticRegression::setTrainMethod ( int  val)
pure virtual
Python:
None=cv.ml_LogisticRegression.setTrainMethod(val)
See Also
getTrainMethod

The documentation for this class was generated from the following file: