The class implements K-Nearest Neighbors model.
More...
#include <opencv2/ml.hpp>
|
virtual float | findNearest (InputArray samples, int k, OutputArray results, OutputArray neighborResponses=noArray(), OutputArray dist=noArray()) const =0 |
| Finds the neighbors and predicts responses for input vectors.
|
|
virtual int | getAlgorithmType () const =0 |
|
virtual int | getDefaultK () const =0 |
|
virtual int | getEmax () const =0 |
|
virtual bool | getIsClassifier () const =0 |
|
virtual void | setAlgorithmType (int val)=0 |
|
virtual void | setDefaultK (int val)=0 |
|
virtual void | setEmax (int val)=0 |
|
virtual void | setIsClassifier (bool val)=0 |
|
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 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 Ptr< KNearest > | create () |
| Creates the empty model.
|
|
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.
|
|
The class implements K-Nearest Neighbors model.
- See Also
- K-Nearest Neighbors
Implementations of KNearest algorithm.
Enumerator |
---|
BRUTE_FORCE |
|
KDTREE |
|
Python: |
---|
| retval | = | cv.ml.KNearest_create( | | ) |
Creates the empty model.
The static method creates empty KNearest classifier. It should be then trained using StatModel::train method.
Python: |
---|
| retval, results, neighborResponses, dist | = | cv.ml_KNearest.findNearest( | samples, k[, results[, neighborResponses[, dist]]] | ) |
Finds the neighbors and predicts responses for input vectors.
- Parameters
-
samples | Input samples stored by rows. It is a single-precision floating-point matrix of <number_of_samples> * k size. |
k | Number of used nearest neighbors. Should be greater than 1. |
results | Vector with results of prediction (regression or classification) for each input sample. It is a single-precision floating-point vector with <number_of_samples> elements. |
neighborResponses | Optional output values for corresponding neighbors. It is a single- precision floating-point matrix of <number_of_samples> * k size. |
dist | Optional output distances from the input vectors to the corresponding neighbors. It is a single-precision floating-point matrix of <number_of_samples> * k size. |
For each input vector (a row of the matrix samples), the method finds the k nearest neighbors. In case of regression, the predicted result is a mean value of the particular vector's neighbor responses. In case of classification, the class is determined by voting.
For each input vector, the neighbors are sorted by their distances to the vector.
In case of C++ interface you can use output pointers to empty matrices and the function will allocate memory itself.
If only a single input vector is passed, all output matrices are optional and the predicted value is returned by the method.
The function is parallelized with the TBB library.
virtual int cv::ml::KNearest::getAlgorithmType |
( |
| ) |
const |
|
pure virtual |
Python: |
---|
| retval | = | cv.ml_KNearest.getAlgorithmType( | | ) |
virtual int cv::ml::KNearest::getDefaultK |
( |
| ) |
const |
|
pure virtual |
Python: |
---|
| retval | = | cv.ml_KNearest.getDefaultK( | | ) |
Default number of neighbors to use in predict method.
- See Also
- setDefaultK
virtual int cv::ml::KNearest::getEmax |
( |
| ) |
const |
|
pure virtual |
Python: |
---|
| retval | = | cv.ml_KNearest.getEmax( | | ) |
Parameter for KDTree implementation.
- See Also
- setEmax
virtual bool cv::ml::KNearest::getIsClassifier |
( |
| ) |
const |
|
pure virtual |
Python: |
---|
| retval | = | cv.ml_KNearest.getIsClassifier( | | ) |
Whether classification or regression model should be trained.
- See Also
- setIsClassifier
virtual void cv::ml::KNearest::setAlgorithmType |
( |
int |
val | ) |
|
|
pure virtual |
Python: |
---|
| None | = | cv.ml_KNearest.setAlgorithmType( | val | ) |
virtual void cv::ml::KNearest::setDefaultK |
( |
int |
val | ) |
|
|
pure virtual |
Python: |
---|
| None | = | cv.ml_KNearest.setDefaultK( | val | ) |
virtual void cv::ml::KNearest::setEmax |
( |
int |
val | ) |
|
|
pure virtual |
Python: |
---|
| None | = | cv.ml_KNearest.setEmax( | val | ) |
virtual void cv::ml::KNearest::setIsClassifier |
( |
bool |
val | ) |
|
|
pure virtual |
Python: |
---|
| None | = | cv.ml_KNearest.setIsClassifier( | val | ) |
The documentation for this class was generated from the following file: