OpenCV 4.12.0
开源计算机视觉
加载中...
搜索中...
无匹配项
cv::ml::StatModel 类参考abstract

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

#include <opencv2/ml.hpp>

cv::ml::StatModel 的协作图

公共类型

枚举  标志 {
  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
 如果 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)
 训练统计模型。
 
- 从 cv::Algorithm 继承的公共成员函数
 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 中统计模型的基类。

成员枚举文档

◆ 标志

预测选项

枚举器
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如果为 true,则在数据的测试子集上计算误差;否则,在数据的训练子集上计算误差。请注意,如果您加载了一个完全不同的数据集来评估已训练的分类器,您可能根本不想使用 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

如果 Algorithm 为空(例如,在刚开始时或读取不成功之后),则返回 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输入样本,浮点矩阵
结果结果的可选输出矩阵。
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与训练样本关联的响应向量。

此类文档由以下文件生成