StatModel

Objective-C

@interface StatModel : Algorithm

Swift

class StatModel : Algorithm

Base class for statistical models in OpenCV ML.

Member of Ml

Methods

  • Declaration

    Objective-C

    - (BOOL)empty;

    Swift

    func empty() -> Bool
  • Returns true if the model is classifier

    Declaration

    Objective-C

    - (BOOL)isClassifier;

    Swift

    func isClassifier() -> Bool
  • Returns true if the model is trained

    Declaration

    Objective-C

    - (BOOL)isTrained;

    Swift

    func isTrained() -> Bool
  • Trains the statistical model

    Declaration

    Objective-C

    - (BOOL)train:(nonnull Mat *)samples
           layout:(int)layout
        responses:(nonnull Mat *)responses;

    Swift

    func train(samples: Mat, layout: Int32, responses: Mat) -> Bool

    Parameters

    samples

    training samples

    layout

    See ml::SampleTypes.

    responses

    vector of responses associated with the training samples.

  • Trains the statistical model

    Declaration

    Objective-C

    - (BOOL)train:(nonnull TrainData *)trainData flags:(int)flags;

    Swift

    func train(trainData: TrainData, flags: Int32) -> Bool

    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).

  • Trains the statistical model

    Declaration

    Objective-C

    - (BOOL)train:(nonnull TrainData *)trainData;

    Swift

    func train(trainData: TrainData) -> Bool

    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).

  • Computes error on the training or test dataset

    Declaration

    Objective-C

    - (float)calcError:(nonnull TrainData *)data
                  test:(BOOL)test
                  resp:(nonnull Mat *)resp;

    Swift

    func calcError(data: TrainData, test: Bool, resp: Mat) -> Float

    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%).

  • Predicts response(s) for the provided sample(s)

    Declaration

    Objective-C

    - (float)predict:(nonnull Mat *)samples
             results:(nonnull Mat *)results
               flags:(int)flags;

    Swift

    func predict(samples: Mat, results: Mat, flags: Int32) -> Float

    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.

  • Predicts response(s) for the provided sample(s)

    Declaration

    Objective-C

    - (float)predict:(nonnull Mat *)samples results:(nonnull Mat *)results;

    Swift

    func predict(samples: Mat, results: Mat) -> Float

    Parameters

    samples

    The input samples, floating-point matrix

    results

    The optional output matrix of results.

  • Predicts response(s) for the provided sample(s)

    Declaration

    Objective-C

    - (float)predict:(nonnull Mat *)samples;

    Swift

    func predict(samples: Mat) -> Float

    Parameters

    samples

    The input samples, floating-point matrix

  • Returns the number of variables in training samples

    Declaration

    Objective-C

    - (int)getVarCount;

    Swift

    func getVarCount() -> Int32