OpenCV  4.5.3-dev
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,
 Training methods. More...
enum  RegKinds {
  REG_L1 = 0,
  REG_L2 = 1
 Regularization kinds. More...
- Public Types inherited from cv::ml::StatModel
enum  Flags {

Public Member Functions

virtual Mat get_learnt_thetas () const =0
 This function returns the trained parameters arranged across rows. More...
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. More...
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. More...
virtual bool empty () const CV_OVERRIDE
 Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read. More...
virtual int getVarCount () const =0
 Returns the number of variables in training samples. More...
virtual bool isClassifier () const =0
 Returns true if the model is classifier. More...
virtual bool isTrained () const =0
 Returns true if the model is trained. More...
virtual bool train (const Ptr< TrainData > &trainData, int flags=0)
 Trains the statistical model. More...
virtual bool train (InputArray samples, int layout, InputArray responses)
 Trains the statistical model. More...
- Public Member Functions inherited from cv::Algorithm
 Algorithm ()
virtual ~Algorithm ()
virtual void clear ()
 Clears the algorithm state. More...
virtual String getDefaultName () const
virtual void read (const FileNode &fn)
 Reads algorithm parameters from a file storage. More...
virtual void save (const String &filename) const
virtual void write (FileStorage &fs) const
 Stores algorithm parameters in a file storage. More...
void write (const Ptr< FileStorage > &fs, const String &name=String()) const
 simplified API for language bindings This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...

Static Public Member Functions

static Ptr< LogisticRegressioncreate ()
 Creates empty model. More...
static Ptr< LogisticRegressionload (const String &filepath, const String &nodeName=String())
 Loads and creates a serialized LogisticRegression from a file. More...
- 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. More...
- 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. More...
template<typename _Tp >
static Ptr< _Tp > loadFromString (const String &strModel, const String &objname=String())
 Loads algorithm from a String. More...
template<typename _Tp >
static Ptr< _Tp > read (const FileNode &fn)
 Reads algorithm from the file node. More...

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

◆ Methods

Training methods.


Set MiniBatchSize to a positive integer when using this method.

◆ RegKinds

Regularization kinds.


Regularization disabled.


L1 norm


L2 norm

Member Function Documentation

◆ create()

static Ptr<LogisticRegression> cv::ml::LogisticRegression::create ( )
Python: -> retval

Creates empty model.

Creates Logistic Regression model with parameters given.

◆ get_learnt_thetas()

virtual Mat cv::ml::LogisticRegression::get_learnt_thetas ( ) const
pure virtual
cv.ml_LogisticRegression.get_learnt_thetas() -> retval

This function returns the trained parameters arranged across rows.

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

◆ getIterations()

virtual int cv::ml::LogisticRegression::getIterations ( ) const
pure virtual
cv.ml_LogisticRegression.getIterations() -> retval

Number of iterations.

See also

◆ getLearningRate()

virtual double cv::ml::LogisticRegression::getLearningRate ( ) const
pure virtual
cv.ml_LogisticRegression.getLearningRate() -> retval

Learning rate.

See also

◆ getMiniBatchSize()

virtual int cv::ml::LogisticRegression::getMiniBatchSize ( ) const
pure virtual
cv.ml_LogisticRegression.getMiniBatchSize() -> retval

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

◆ getRegularization()

virtual int cv::ml::LogisticRegression::getRegularization ( ) const
pure virtual
cv.ml_LogisticRegression.getRegularization() -> retval

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

See also

◆ getTermCriteria()

virtual TermCriteria cv::ml::LogisticRegression::getTermCriteria ( ) const
pure virtual
cv.ml_LogisticRegression.getTermCriteria() -> retval

Termination criteria of the algorithm.

See also

◆ getTrainMethod()

virtual int cv::ml::LogisticRegression::getTrainMethod ( ) const
pure virtual
cv.ml_LogisticRegression.getTrainMethod() -> retval

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

See also

◆ load()

static Ptr<LogisticRegression> cv::ml::LogisticRegression::load ( const String filepath,
const String nodeName = String() 
Python:[, nodeName]) -> retval

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

filepathpath to serialized LogisticRegression
nodeNamename of node containing the classifier

◆ predict()

virtual float cv::ml::LogisticRegression::predict ( InputArray  samples,
OutputArray  results = noArray(),
int  flags = 0 
) const
pure virtual
cv.ml_LogisticRegression.predict(samples[, results[, flags]]) -> retval, results

Predicts responses for input samples and returns a float type.

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.

◆ setIterations()

virtual void cv::ml::LogisticRegression::setIterations ( int  val)
pure virtual
cv.ml_LogisticRegression.setIterations(val) -> None

See also

◆ setLearningRate()

virtual void cv::ml::LogisticRegression::setLearningRate ( double  val)
pure virtual
cv.ml_LogisticRegression.setLearningRate(val) -> None

See also

◆ setMiniBatchSize()

virtual void cv::ml::LogisticRegression::setMiniBatchSize ( int  val)
pure virtual
cv.ml_LogisticRegression.setMiniBatchSize(val) -> None

◆ setRegularization()

virtual void cv::ml::LogisticRegression::setRegularization ( int  val)
pure virtual
cv.ml_LogisticRegression.setRegularization(val) -> None

◆ setTermCriteria()

virtual void cv::ml::LogisticRegression::setTermCriteria ( TermCriteria  val)
pure virtual
cv.ml_LogisticRegression.setTermCriteria(val) -> None

See also

◆ setTrainMethod()

virtual void cv::ml::LogisticRegression::setTrainMethod ( int  val)
pure virtual
cv.ml_LogisticRegression.setTrainMethod(val) -> None

See also

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