OpenCV 4.13.0
開源計算機視覺庫 (Open Source Computer Vision)
正在載入...
正在搜尋...
未找到匹配項
cv::ml::StatModel 類參考抽象

OpenCV ML 中統計模型的基類。 更多...

#include <opencv2/ml.hpp>

cv::ml::StatModel 的協作圖

公開型別

enum  標誌 {
  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 中統計模型的基類。

成員列舉文件

◆ Flags

預測選項

列舉值 (Enumerator)
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]) -> 返回值, 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]]) -> 返回值, results

預測所提供樣本的響應

引數
samples (樣本)輸入樣本,浮點矩陣
results可選的結果輸出矩陣。
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與訓練樣本相關的響應向量。

該類的文件由以下檔案生成: