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

此類的文件是從以下檔案生成的