OpenCV 4.11.0
开源计算机视觉
加载中…
搜索中…
未找到匹配项
cv::ml::Boost 类参考抽象

派生自DTrees 的增强树分类器。更多…

#include <opencv2/ml.hpp>

cv::ml::Boost 的协作图

公共类型

枚举 类型 {
  DISCRETE =0 ,
  REAL =1 ,
  LOGIT =2 ,
  GENTLE =3
}
 
- 继承自 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
}
 

公共成员函数

virtual int getBoostType () const =0
 
virtual int getWeakCount () const =0
 
virtual double getWeightTrimRate () const =0
 
virtual void setBoostType (int val)=0
 
virtual void setWeakCount (int val)=0
 
virtual void setWeightTrimRate (double 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
 如果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 的公共成员函数
 算法 ()
 
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< Boostcreate ()
 
static Ptr< Boostload (const String &filepath, const String &nodeName=String())
 加载并创建一个序列化后的 Boost 模型。
 
- 从 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::Algorithm 继承的受保护成员函数
void writeFormat (FileStorage &fs) const
 

详细描述

DTrees 派生的提升树分类器。

另见
提升

成员枚举文档

◆ 类型

提升类型。Gentle AdaBoost 和 Real AdaBoost 通常是更好的选择。

枚举器
DISCRETE 

离散 AdaBoost。

REAL 

Real AdaBoost。这是一种利用置信度评分预测的技术,在处理分类数据时效果很好。

LOGIT 

LogitBoost。它可以产生良好的回归拟合。

GENTLE 

Gentle AdaBoost。它对异常值赋予较小的权重,因此在回归数据中通常表现良好。

成员函数文档

◆ create()

static Ptr< Boost > cv::ml::Boost::create ( )
static
Python
cv.ml.Boost.create() -> retval
cv.ml.Boost_create() -> retval

创建空模型。使用 StatModel::train 训练模型,使用 Algorithm::load<Boost>(filename) 加载预训练模型。

◆ getBoostType()

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

提升算法的类型。参见 Boost::Types。默认值为 Boost::REAL

另见
setBoostType

◆ getWeakCount()

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

弱分类器的数量。默认值为 100。

另见
setWeakCount

◆ getWeightTrimRate()

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

用于节省计算时间的 0 到 1 之间的阈值。总权重 \(\leq 1 - weight\_trim\_rate\) 的样本不参与训练的 *下一* 次迭代。将此参数设置为 0 可关闭此功能。默认值为 0.95。

另见
setWeightTrimRate

◆ load()

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

加载并创建一个序列化后的 Boost 模型。

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

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

◆ setBoostType()

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

另见
getBoostType

◆ setWeakCount()

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

另见
getWeakCount

◆ setWeightTrimRate()

virtual void cv::ml::Boost::setWeightTrimRate ( double val)
纯虚函数
Python
cv.ml.Boost.setWeightTrimRate(val) ->

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