该类实现 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( | | ) -> | 返回值 |
| cv.ml.KNearest_create( | | ) -> | 返回值 |
◆ findNearest()
| Python |
|---|
| cv.ml.KNearest.findNearest( | samples, k[, results[, neighborResponses[, dist]]] | ) -> | 返回值, results, neighborResponses, dist |
查找输入向量的邻居并预测响应。
- 参数
-
| 样本 | 按行存储的输入样本。它是一个大小为 <number_of_samples> * k 的单精度浮点矩阵。 |
| k | 使用的最近邻数。应大于 1。 |
| 结果 | 包含每个输入样本的预测结果(回归或分类)的向量。它是一个包含 <number_of_samples> 个元素的单精度浮点向量。 |
| neighborResponses | 对应邻居的可选输出值。它是一个大小为 <number_of_samples> * k 的单精度浮点矩阵。 |
| dist | 输入向量到对应邻居的可选输出距离。它是一个大小为 <number_of_samples> * k 的单精度浮点矩阵。 |
对于每个输入向量(矩阵样本的一行),该方法查找 k 个最近邻。在回归情况下,预测结果是特定向量邻近响应的平均值。在分类情况下,类由投票决定。
对于每个输入向量,邻居按它们到向量的距离排序。
在 C++ 接口中,您可以使用指向空矩阵的输出指针,函数将自行分配内存。
如果只传递单个输入向量,则所有输出矩阵都是可选的,并且预测值由方法返回。
该函数使用 TBB 库并行化。
◆ getAlgorithmType()
| 虚函数 int cv::ml::KNearest::getAlgorithmType |
( |
| ) |
const |
|
纯虚函数 |
| Python |
|---|
| cv.ml.KNearest.getAlgorithmType( | | ) -> | 返回值 |
◆ getDefaultK()
| 虚函数 int cv::ml::KNearest::getDefaultK |
( |
| ) |
const |
|
纯虚函数 |
| Python |
|---|
| cv.ml.KNearest.getDefaultK( | | ) -> | 返回值 |
◆ getEmax()
| 虚函数 int cv::ml::KNearest::getEmax |
( |
| ) |
const |
|
纯虚函数 |
| Python |
|---|
| cv.ml.KNearest.getEmax( | | ) -> | 返回值 |
◆ getIsClassifier()
| 虚函数 bool cv::ml::KNearest::getIsClassifier |
( |
| ) |
const |
|
纯虚函数 |
| Python |
|---|
| cv.ml.KNearest.getIsClassifier( | | ) -> | 返回值 |
◆ load()
| Python |
|---|
| cv.ml.KNearest.load( | 文件路径 | ) -> | 返回值 |
| cv.ml.KNearest_load( | 文件路径 | ) -> | 返回值 |
◆ setAlgorithmType()
| 虚函数 void cv::ml::KNearest::setAlgorithmType |
( |
int | 值 | ) |
|
|
纯虚函数 |
| Python |
|---|
| cv.ml.KNearest.setAlgorithmType( | 值 | ) -> | 无 |
◆ setDefaultK()
| 虚函数 void cv::ml::KNearest::setDefaultK |
( |
int | 值 | ) |
|
|
纯虚函数 |
| Python |
|---|
| cv.ml.KNearest.setDefaultK( | 值 | ) -> | 无 |
◆ setEmax()
| 虚函数 void cv::ml::KNearest::setEmax |
( |
int | 值 | ) |
|
|
纯虚函数 |
| Python |
|---|
| cv.ml.KNearest.setEmax( | 值 | ) -> | 无 |
◆ setIsClassifier()
| 虚函数 void cv::ml::KNearest::setIsClassifier |
( |
布尔值 | 值 | ) |
|
|
纯虚函数 |
| Python |
|---|
| cv.ml.KNearest.setIsClassifier( | 值 | ) -> | 无 |
此类的文档由以下文件生成: