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 and Description
    --- | ---
    `static int` | `COMPRESSED_INPUT`
    `static int` | `PREPROCESSED_INPUT`
    `static int` | `RAW_OUTPUT`
    `static int` | `UPDATE_MODEL`

    - ### Fields inherited from class org.opencv.core.Algorithm

      `nativeObj`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `StatModel(long addr)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static StatModel` | `__fromPtr__(long addr)`
    `float` | `calcError(TrainData data, boolean test, Mat resp)` Computes error on the training or test dataset
    `boolean` | `empty()` Returns true if the Algorithm is empty (e.g.
    `protected void` | `finalize()`
    `int` | `getVarCount()` Returns the number of variables in training samples
    `boolean` | `isClassifier()` Returns true if the model is classifier
    `boolean` | `isTrained()` Returns true if the model is trained
    `float` | `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 model
    `boolean` | `train(TrainData trainData)` Trains the statistical model
    `boolean` | `train(TrainData trainData, int flags)` Trains the statistical model

    - ### Methods inherited from class org.opencv.core.Algorithm

      `clear, getDefaultName, getNativeObjAddr, save`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 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

  - ### Constructor Detail

    - #### StatModel

          protected StatModel(long addr)

  - ### 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
      Overrides:
        `empty` in class `Algorithm`
      Returns:
        automatically generated

    - #### 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 samples
        `layout` - 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 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%).
      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 matrix
        `results` - 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 matrix
        `results` - 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

    - #### finalize

          protected void finalize()
                           throws Throwable

      Overrides:
        `finalize` in class `Algorithm`
      Throws:
        `Throwable`

Generated on Wed Oct 9 2019 16:55:37 UTC / OpenCV 3.4.8