OpenCV 4.11.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 的公有成员函数
 算法 ()
 
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 ( )
静态
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

如果为真,则将计算变量重要性,然后可以通过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 ( 输入数组 样本,
输出数组 结果,
int flags ) const
纯虚函数
Python
cv.ml.RTrees.getVotes(samples, flags[, results]) -> 结果

返回森林中每棵单独树的结果。如果模型是回归问题,则该方法将返回每棵树对每个样本的计算结果。如果模型是分类器,它将返回一个具有样本数+1行的Mat,其中第一行给出类号,后续行返回每个类对每个样本的投票数。

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

◆ load()

static Ptr< RTrees > cv::ml::RTrees::load ( const String & filepath,
const String & nodeName = String() )
静态
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

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