该类实现了 K-最近邻模型。 更多...
#include <opencv2/ml.hpp>
|
virtual float | findNearest (InputArray samples, int k, OutputArray results, OutputArray neighborResponses=noArray(), OutputArray dist=noArray()) const =0 |
| 查找输入向量的邻居并预测响应。
|
|
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 |
| 计算训练或测试数据集上的误差。
|
|
virtual bool | empty () const CV_OVERRIDE |
| 如果 Algorithm 为空(例如,在开始时或读取失败后),则返回 true。
|
|
virtual int | getVarCount () const =0 |
| 返回训练样本中的变量数量。
|
|
virtual bool | isClassifier () const =0 |
| 如果模型是分类器,则返回 true。
|
|
virtual bool | isTrained () const =0 |
| 如果模型已训练,则返回 true。
|
|
virtual float | predict (InputArray samples, OutputArray results=noArray(), int flags=0) const =0 |
| 预测提供样本的响应。
|
|
virtual bool | train (const Ptr< TrainData > &trainData, int flags=0) |
| 训练统计模型。
|
|
virtual bool | train (InputArray samples, int layout, InputArray responses) |
| 训练统计模型。
|
|
| 算法 () |
|
virtual | ~Algorithm () |
|
virtual void | clear () |
| 清除算法状态。
|
|
virtual String | getDefaultName () const |
|
virtual void | read (const FileNode &fn) |
| 从文件存储区读取算法参数。
|
|
virtual void | save (const String &filename) const |
|
void | write (const Ptr< FileStorage > &fs, const String &name=String()) const |
|
virtual void | write (FileStorage &fs) const |
| 将算法参数存储在文件存储区中。
|
|
void | write (FileStorage &fs, const String &name) const |
|
◆ 类型
◆ create()
Python |
---|
| cv.ml.KNearest.create( | | ) -> | retval |
| cv.ml.KNearest_create( | | ) -> | retval |
◆ findNearest()
Python |
---|
| cv.ml.KNearest.findNearest( | samples, k[, results[, neighborResponses[, dist]]] | ) -> | retval, results, neighborResponses, dist |
查找输入向量的邻居并预测响应。
- 参数
-
samples | 按行存储的输入样本。它是大小为 <number_of_samples> * k 的单精度浮点矩阵。 |
k | 使用的最近邻的数量。应大于 1。 |
results | 包含每个输入样本预测结果(回归或分类)的向量。它是一个包含 <number_of_samples> 个元素的单精度浮点向量。 |
neighborResponses | 对应邻居的可选输出值。它是一个大小为 <number_of_samples> * k 的单精度浮点矩阵。 |
dist | 输入向量到对应邻居的可选输出距离。它是一个大小为 <number_of_samples> * k 的单精度浮点矩阵。 |
对于每个输入向量(矩阵样本的一行),该方法找到 k 个最近邻。在回归情况下,预测结果是特定向量邻居响应的平均值。在分类情况下,类别由投票决定。
对于每个输入向量,邻居按它们到向量的距离排序。
在 C++ 接口情况下,您可以使用指向空矩阵的输出指针,函数会自行分配内存。
如果只传递了一个输入向量,则所有输出矩阵都是可选的,并且预测值将由该方法返回。
该函数使用 TBB 库并行化。
◆ getAlgorithmType()
virtual int cv::ml::KNearest::getAlgorithmType |
( |
| ) |
const |
|
纯虚 |
Python |
---|
| cv.ml.KNearest.getAlgorithmType( | | ) -> | retval |
◆ getDefaultK()
virtual int cv::ml::KNearest::getDefaultK |
( |
| ) |
const |
|
纯虚 |
Python |
---|
| cv.ml.KNearest.getDefaultK( | | ) -> | retval |
◆ getEmax()
virtual int cv::ml::KNearest::getEmax |
( |
| ) |
const |
|
纯虚 |
Python |
---|
| cv.ml.KNearest.getEmax( | | ) -> | retval |
◆ getIsClassifier()
virtual bool cv::ml::KNearest::getIsClassifier |
( |
| ) |
const |
|
纯虚 |
Python |
---|
| cv.ml.KNearest.getIsClassifier( | | ) -> | retval |
◆ load()
Python |
---|
| cv.ml.KNearest.load( | filepath | ) -> | retval |
| cv.ml.KNearest_load( | filepath | ) -> | retval |
◆ setAlgorithmType()
virtual void cv::ml::KNearest::setAlgorithmType |
( |
int |
val | ) |
|
|
纯虚 |
Python |
---|
| cv.ml.KNearest.setAlgorithmType( | val | ) -> | 无 |
◆ setDefaultK()
virtual void cv::ml::KNearest::setDefaultK |
( |
int |
val | ) |
|
|
纯虚 |
Python |
---|
| cv.ml.KNearest.setDefaultK( | val | ) -> | 无 |
◆ setEmax()
virtual void cv::ml::KNearest::setEmax |
( |
int |
val | ) |
|
|
纯虚 |
Python |
---|
| cv.ml.KNearest.setEmax( | val | ) -> | 无 |
◆ setIsClassifier()
virtual void cv::ml::KNearest::setIsClassifier |
( |
bool |
val | ) |
|
|
纯虚 |
Python |
---|
| cv.ml.KNearest.setIsClassifier( | val | ) -> | 无 |
该类的文档是根据以下文件生成的