OpenCV  4.10.0
开源计算机视觉
加载中...
搜索中...
无匹配项
公共类型 | 公共成员函数 | 静态公共成员函数 | 所有成员列表
cv::ml::StatModel 类参考abstract

OpenCV ML 中统计模型的基类。 更多...

#include <opencv2/ml.hpp>

cv::ml::StatModel 的协作图

公共类型

枚举  Flags {
  UPDATE_MODEL = 1 ,
  RAW_OUTPUT =1 ,
  COMPRESSED_INPUT =2 ,
  PREPROCESSED_INPUT =4
}
 

公共成员函数

virtual float calcError (const Ptr< TrainData > &data, bool test, OutputArray resp) const
 计算训练或测试数据集上的误差。
 
virtual bool empty () const CV_OVERRIDE
 如果 算法 为空(例如,在最开始或读取不成功之后),则返回 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)
 训练统计模型。
 
- 从 cv::Algorithm 继承的公共成员函数
 算法 ()
 
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
 

静态公共成员函数

template<typename _Tp >
static Ptr< _Tptrain (const Ptr< TrainData > &data, int flags=0)
 使用默认参数创建和训练模型。
 
- 从 cv::Algorithm 继承的静态公共成员函数
template<typename _Tp >
static Ptr< _Tpload (const String &filename, const String &objname=String())
 从文件中加载算法。
 
template<typename _Tp >
static Ptr< _TploadFromString (const String &strModel, const String &objname=String())
 从字符串中加载算法。
 
template<typename _Tp >
static Ptr< _Tpread (const FileNode &fn)
 从文件节点中读取算法。
 

继承的额外成员

- 从 cv::Algorithm 继承的受保护成员函数
void writeFormat (FileStorage &fs) const
 

详细描述

OpenCV ML 中统计模型的基类。

成员枚举文档

◆ Flags

预测选项

枚举器
UPDATE_MODEL 
RAW_OUTPUT 

使方法返回原始结果(总和),而不是类标签

COMPRESSED_INPUT 
PREPROCESSED_INPUT 

成员函数文档

◆ calcError()

virtual float cv::ml::StatModel::calcError ( const Ptr< TrainData > &  data,
bool  test,
OutputArray  resp 
) const
virtual
Python
cv.ml.StatModel.calcError(data, test[, resp]) -> retval, resp

计算训练或测试数据集上的误差。

参数
data训练数据
test如果为真,则误差是在数据的测试子集上计算的,否则是在数据的训练子集上计算的。请注意,如果您加载了完全不同的数据集来评估已训练的分类器,您可能希望根本不使用 TrainData::setTrainTestSplitRatio 设置测试子集,并指定 test=false,以便对整个新集计算误差。是的,这听起来有点令人困惑。
resp可选的输出响应。

该方法使用 StatModel::predict 来计算误差。对于回归模型,误差计算为 RMS,对于分类器,计算为误分类样本的百分比 (0%-100%)。

◆ empty()

virtual bool cv::ml::StatModel::empty ( ) const
virtual
Python
cv.ml.StatModel.empty() -> retval

如果 算法 为空(例如,在最开始或读取不成功之后),则返回 true。

cv::Algorithm 重新实现。

◆ getVarCount()

virtual int cv::ml::StatModel::getVarCount ( ) const
纯虚函数
Python
cv.ml.StatModel.getVarCount() -> retval

返回训练样本中变量的数量。

◆ isClassifier()

virtual bool cv::ml::StatModel::isClassifier ( ) const
纯虚函数
Python
cv.ml.StatModel.isClassifier() -> retval

如果模型是分类器,则返回 true。

◆ isTrained()

virtual bool cv::ml::StatModel::isTrained ( ) const
纯虚函数
Python
cv.ml.StatModel.isTrained() -> retval

如果模型已训练,则返回 true。

◆ predict()

virtual float cv::ml::StatModel::predict ( InputArray  samples,
OutputArray  results = noArray(),
int  flags = 0 
) const
纯虚函数
Python
cv.ml.StatModel.predict(samples[, results[, flags]]) -> retval, results

预测提供的样本的响应。

参数
samples输入样本,浮点矩阵
results可选的输出结果矩阵。
flags可选的标志,与模型相关。请参阅 cv::ml::StatModel::Flags.

cv::ml::EMcv::ml::LogisticRegression 中实现。

◆ train() [1/3]

template<typename _Tp >
static Ptr< _Tp > cv::ml::StatModel::train ( const Ptr< TrainData > &  data,
int  flags = 0 
)
inlinestatic
Python
cv.ml.StatModel.train(trainData[, flags]) -> retval
cv.ml.StatModel.train(samples, layout, responses) -> retval

使用默认参数创建和训练模型。

该类必须实现无参数或使用所有默认参数值的静态 create() 方法

◆ train() [2/3]

virtual bool cv::ml::StatModel::train ( const Ptr< TrainData > &  trainData,
int  flags = 0 
)
virtual
Python
cv.ml.StatModel.train(trainData[, flags]) -> retval
cv.ml.StatModel.train(samples, layout, responses) -> retval

训练统计模型。

参数
trainData训练数据,可以使用 TrainData::loadFromCSV 从文件中加载,或使用 TrainData::create 创建。
flags可选的标志,具体取决于模型。某些模型可以使用新的训练样本进行更新,而不是完全覆盖(例如 NormalBayesClassifierANN_MLP)。

◆ train() [3/3]

virtual bool cv::ml::StatModel::train ( InputArray  samples,
int  layout,
InputArray  responses 
)
virtual
Python
cv.ml.StatModel.train(trainData[, flags]) -> retval
cv.ml.StatModel.train(samples, layout, responses) -> retval

训练统计模型。

参数
samples训练样本
layout请参阅 ml::SampleTypes.
responses与训练样本相关的响应向量。

该类文档是从以下文件生成的