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

该类实现了随机森林预测器。 更多信息...

#include <opencv2/ml.hpp>

cv::ml::RTrees 协作图

公共成员函数

virtual int getActiveVarCount () const =0
 
virtual bool getCalculateVarImportance () const =0
 
virtual double getOOBError () const =0
 
virtual TermCriteria getTermCriteria () const =0
 
virtual Mat getVarImportance () const =0
 
virtual void getVotes (InputArray samples, OutputArray results, int flags) const =0
 
virtual void setActiveVarCount (int val)=0
 
virtual void setCalculateVarImportance (bool val)=0
 
virtual void setTermCriteria (const TermCriteria &val)=0
 
- 从 cv::ml::DTrees 继承的公共成员函数
virtual int getCVFolds () const =0
 
virtual int getMaxCategories () const =0
 
virtual int getMaxDepth () const =0
 
virtual int getMinSampleCount () const =0
 
virtual const std::vector< Node > & getNodes () const =0
 返回所有节点。
 
virtual cv::Mat getPriors () const =0
 先验类概率数组,按类别标签值排序。
 
virtual float getRegressionAccuracy () const =0
 
virtual const std::vector< int > & getRoots () const =0
 返回根节点的索引。
 
virtual const std::vector< Split > & getSplits () const =0
 返回所有分割。
 
virtual const std::vector< int > & getSubsets () const =0
 返回所有分类分割的位集。
 
virtual bool getTruncatePrunedTree () const =0
 
virtual bool getUse1SERule () const =0
 
virtual bool getUseSurrogates () const =0
 
virtual void setCVFolds (int val)=0
 
virtual void setMaxCategories (int val)=0
 
virtual void setMaxDepth (int val)=0
 
virtual void setMinSampleCount (int val)=0
 
virtual void setPriors (const cv::Mat &val)=0
 先验类概率数组,按类别标签值排序。
 
virtual void setRegressionAccuracy (float val)=0
 
virtual void setTruncatePrunedTree (bool val)=0
 
virtual void setUse1SERule (bool val)=0
 
virtual void setUseSurrogates (bool val)=0
 
- 从 cv::ml::StatModel 继承的公共成员函数
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 继承的公共成员函数
 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
 

静态公共成员函数

static Ptr< RTreescreate ()
 
static Ptr< RTreesload (const String &filepath, const String &nodeName=String())
 从文件中加载并创建一个序列化的 RTree。
 
- 从 cv::ml::DTrees 继承的静态公共成员函数
static Ptr< DTreescreate ()
 创建空模型。
 
static Ptr< DTreesload (const String &filepath, const String &nodeName=String())
 从文件中加载并创建一个序列化的 DTrees
 
- 从 cv::ml::StatModel 继承的静态公共成员函数
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::ml::DTrees 继承的公共类型
枚举  标志 {
  PREDICT_AUTO =0 ,
  PREDICT_SUM =(1<<8) ,
  PREDICT_MAX_VOTE =(2<<8) ,
  PREDICT_MASK =(3<<8)
}
 
- 从 cv::ml::StatModel 继承的公共类型
枚举  标志 {
  UPDATE_MODEL = 1 ,
  RAW_OUTPUT =1 ,
  COMPRESSED_INPUT =2 ,
  PREPROCESSED_INPUT =4
}
 
- 从 cv::Algorithm 继承的保护成员函数
void writeFormat (FileStorage &fs) const
 

详细描述

此类实现随机森林预测器。

另请参见
随机森林

成员函数文档

◆ create()

static Ptr< RTrees > cv::ml::RTrees::create ( )
static
Python
cv.ml.RTrees.create() -> retval
cv.ml.RTrees_create() -> retval

创建空模型。使用 StatModel::train 训练模型,StatModel::train 创建并训练模型,Algorithm::load 加载预训练模型。

◆ getActiveVarCount()

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

在每个树节点随机选择的特征子集的大小,用于寻找最佳分裂。如果设置为 0,则大小将设置为特征总数的平方根。默认值为 0。

另请参见
setActiveVarCount

◆ getCalculateVarImportance()

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

如果为 true,则计算变量重要性,然后可以通过 RTrees::getVarImportance 获取。默认值为 false。

另请参见
setCalculateVarImportance

◆ getOOBError()

virtual double cv::ml::RTrees::getOOBError ( ) const
纯虚函数
Python
cv.ml.RTrees.getOOBError() -> retval

返回 OOB 错误值,在训练阶段 calcOOBError 设置为 true 时计算。如果此标志设置为 false,则返回 0。OOB 错误也按样本权重进行缩放。

◆ getTermCriteria()

virtual TermCriteria cv::ml::RTrees::getTermCriteria ( ) const
纯虚函数
Python
cv.ml.RTrees.getTermCriteria() -> retval

指定训练算法何时停止的终止条件。要么在指定数量的树被训练并添加到集成中时停止,要么在达到足够的精度(以 OOB 错误衡量)时停止。通常,树越多,精度越高。然而,精度提高通常会减小,并在一定数量的树之后渐近。此外,需要记住的是,树的数量会线性增加预测时间。默认值为 TermCriteria(TermCriteria::MAX_ITERS + TermCriteria::EPS, 50, 0.1)

另请参见
setTermCriteria

◆ getVarImportance()

virtual Mat cv::ml::RTrees::getVarImportance ( ) const
纯虚函数
Python
cv.ml.RTrees.getVarImportance() -> retval

返回变量重要性数组。当 CalculateVarImportance 设置为 true 时,该方法返回在训练阶段计算的变量重要性向量。如果此标志设置为 false,则返回空矩阵。

◆ getVotes()

virtual void cv::ml::RTrees::getVotes ( InputArray samples,
OutputArray 结果,
int flags ) const
纯虚函数
Python
cv.ml.RTrees.getVotes(samples, flags[, results]) -> 结果

返回森林中每棵独立树的结果。如果模型是回归问题,该方法将返回每棵树对每个样本案例的结果。如果模型是分类器,它将返回一个行数为 samples + 1 的 Mat,其中第一行给出类别编号,后续行返回每个类别对每个样本的投票。

参数
samples包含将计算投票的样本的数组。
结果计算结果将写入的数组。
flags定义 RTrees 类型的标志。

◆ load()

static Ptr< RTrees > cv::ml::RTrees::load ( const String & filepath,
const String & nodeName = String() )
static
Python
cv.ml.RTrees.load(filepath[, nodeName]) -> retval
cv.ml.RTrees_load(filepath[, nodeName]) -> retval

从文件中加载并创建一个序列化的 RTree。

使用 RTree::save 将 RTree 序列化并存储到磁盘。通过调用此函数并提供文件路径,再次从该文件加载 RTree。可选择指定包含分类器的文件节点。

参数
filepath序列化 RTree 的路径
nodeName包含分类器的节点的名称

◆ setActiveVarCount()

virtual void cv::ml::RTrees::setActiveVarCount ( int val)
纯虚函数
Python
cv.ml.RTrees.setActiveVarCount(val) ->

另请参见
getActiveVarCount

◆ setCalculateVarImportance()

virtual void cv::ml::RTrees::setCalculateVarImportance ( bool val)
纯虚函数
Python
cv.ml.RTrees.setCalculateVarImportance(val) ->

◆ setTermCriteria()

virtual void cv::ml::RTrees::setTermCriteria ( const TermCriteria & val)
纯虚函数
Python
cv.ml.RTrees.setTermCriteria(val) ->

另请参见
getTermCriteria

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