OpenCV 4.13.0
Open Source Computer Vision
読み込み中...
検索中...
見つかりません
🤖 AIによる機械翻訳(非公式) — これは OpenCV 4.13.0 公式リファレンス(英語)を AI (Claude) で自動翻訳したものです。訳に誤りを含む場合があります。正確な情報は 公式英語版(原文) を参照してください。
cv::ml::TrainData クラスabstract

学習データをカプセル化するクラス。 詳細...

#include <opencv2/ml.hpp>

Collaboration diagram for cv::ml::TrainData:

公開メンバ関数

virtual ~TrainData ()
 
virtual int getCatCount (int vi) const =0
 
virtual Mat getCatMap () const =0
 
virtual Mat getCatOfs () const =0
 
virtual Mat getClassLabels () const =0
 クラスラベルのベクトルを返す。
 
virtual Mat getDefaultSubstValues () const =0
 
virtual int getLayout () const =0
 
virtual Mat getMissing () const =0
 
virtual int getNAllVars () const =0
 
virtual void getNames (std::vector< String > &names) const =0
 loadFromCSV()で取得された記号名のベクトルを返す。
 
virtual Mat getNormCatResponses () const =0
 
virtual void getNormCatValues (int vi, InputArray sidx, int *values) const =0
 
virtual int getNSamples () const =0
 
virtual int getNTestSamples () const =0
 
virtual int getNTrainSamples () const =0
 
virtual int getNVars () const =0
 
virtual Mat getResponses () const =0
 
virtual int getResponseType () const =0
 
virtual void getSample (InputArray varIdx, int sidx, float *buf) const =0
 
virtual Mat getSamples () const =0
 
virtual Mat getSampleWeights () const =0
 
virtual Mat getTestNormCatResponses () const =0
 
virtual Mat getTestResponses () const =0
 
virtual Mat getTestSampleIdx () const =0
 
virtual Mat getTestSamples () const =0
 テストサンプルの行列を返す。
 
virtual Mat getTestSampleWeights () const =0
 
virtual Mat getTrainNormCatResponses () const =0
 正規化されたカテゴリ応答のベクトルを返す。
 
virtual Mat getTrainResponses () const =0
 応答のベクトルを返す。
 
virtual Mat getTrainSampleIdx () const =0
 
virtual Mat getTrainSamples (int layout=ROW_SAMPLE, bool compressSamples=true, bool compressVars=true) const =0
 学習サンプルの行列を返す。
 
virtual Mat getTrainSampleWeights () const =0
 
virtual void getValues (int vi, InputArray sidx, float *values) const =0
 
virtual Mat getVarIdx () const =0
 
virtual Mat getVarSymbolFlags () const =0
 
virtual Mat getVarType () const =0
 
virtual void setTrainTestSplit (int count, bool shuffle=true)=0
 学習データを学習用とテスト用の部分に分割する。
 
virtual void setTrainTestSplitRatio (double ratio, bool shuffle=true)=0
 学習データを学習用とテスト用の部分に分割する。
 
virtual void shuffleTrainTest ()=0
 

静的公開メンバ関数

static Ptr< TrainDatacreate (InputArray samples, int layout, InputArray responses, InputArray varIdx=noArray(), InputArray sampleIdx=noArray(), InputArray sampleWeights=noArray(), InputArray varType=noArray())
 メモリ上の配列から学習データを作成する。
 
static Mat getSubMatrix (const Mat &matrix, const Mat &idx, int layout)
 渡されたインデックスで指定された行・列を行列から取り出す。
 
static Mat getSubVector (const Mat &vec, const Mat &idx)
 渡されたインデックスで指定された要素を1次元ベクトルから取り出す。
 
static Ptr< TrainDataloadFromCSV (const String &filename, int headerLineCount, int responseStartIdx=-1, int responseEndIdx=-1, const String &varTypeSpec=String(), char delimiter=',', char missch='?')
 .csvファイルからデータセットを読み込み、すぐに使える学習データを返す。
 
static float missingValue ()
 

詳細説明

学習データをカプセル化するクラス。

このクラスは学習データのインターフェイスを規定するだけで、実装は規定しないことに注意してほしい。mlモジュール内のすべての統計モデルクラスは、引数としてPtr<TrainData>を受け取る。言い換えれば、TrainDataから派生した独自のクラスを作成し、そのクラスのインスタンスへのスマートポインタをStatModel::trainに渡すことができる。

参照
Training Data

構築子と解体子の詳解

◆ ~TrainData()

virtual cv::ml::TrainData::~TrainData ( )
virtual

メンバ関数詳解

◆ create()

static Ptr< TrainData > cv::ml::TrainData::create ( InputArray samples,
int layout,
InputArray responses,
InputArray varIdx = noArray(),
InputArray sampleIdx = noArray(),
InputArray sampleWeights = noArray(),
InputArray varType = noArray() )
static
Python:
cv.ml.TrainData.create(samples, layout, responses[, varIdx[, sampleIdx[, sampleWeights[, varType]]]]) -> retval
cv.ml.TrainData_create(samples, layout, responses[, varIdx[, sampleIdx[, sampleWeights[, varType]]]]) -> retval

メモリ上の配列から学習データを作成する。

引数
samplesサンプルの行列。CV_32F型でなければならない。
layoutml::SampleTypesを参照のこと。
responses応答の行列。応答がスカラーの場合は、単一の行または単一の列として格納する必要がある。行列の型はCV_32FまたはCV_32Sでなければならない (前者の場合、応答はデフォルトで順序付きとみなされ、後者の場合はカテゴリ値とみなされる)
varIdx学習に使用する変数を指定するベクトル。0始まりの変数インデックスを含む整数ベクトル (CV_32S)、または有効な変数のマスクを含むバイトベクトル (CV_8U) を指定できる。
sampleIdx学習に使用するサンプルを指定するベクトル。0始まりのサンプルインデックスを含む整数ベクトル (CV_32S)、または学習サンプルのマスクを含むバイトベクトル (CV_8U) を指定できる。
sampleWeights各サンプルの重みを格納する省略可能なベクトル。CV_32F型でなければならない。
varType型がCV_8Uでサイズが<number_of_variables_in_samples> + <number_of_variables_in_responses>の省略可能なベクトル。各入力変数と出力変数の型を含む。ml::VariableTypesを参照のこと。
この関数の呼び出しグラフ:

◆ getCatCount()

virtual int cv::ml::TrainData::getCatCount ( int vi) const
pure virtual
Python:
cv.ml.TrainData.getCatCount(vi) -> retval

◆ getCatMap()

virtual Mat cv::ml::TrainData::getCatMap ( ) const
pure virtual
Python:
cv.ml.TrainData.getCatMap() -> retval

◆ getCatOfs()

virtual Mat cv::ml::TrainData::getCatOfs ( ) const
pure virtual
Python:
cv.ml.TrainData.getCatOfs() -> retval

◆ getClassLabels()

virtual Mat cv::ml::TrainData::getClassLabels ( ) const
pure virtual
Python:
cv.ml.TrainData.getClassLabels() -> retval

クラスラベルのベクトルを返す。

この関数は、応答中に現れた一意なラベルのベクトルを返す。

◆ getDefaultSubstValues()

virtual Mat cv::ml::TrainData::getDefaultSubstValues ( ) const
pure virtual
Python:
cv.ml.TrainData.getDefaultSubstValues() -> retval

◆ getLayout()

virtual int cv::ml::TrainData::getLayout ( ) const
pure virtual
Python:
cv.ml.TrainData.getLayout() -> retval

◆ getMissing()

virtual Mat cv::ml::TrainData::getMissing ( ) const
pure virtual
Python:
cv.ml.TrainData.getMissing() -> retval

◆ getNAllVars()

virtual int cv::ml::TrainData::getNAllVars ( ) const
pure virtual
Python:
cv.ml.TrainData.getNAllVars() -> retval

◆ getNames()

virtual void cv::ml::TrainData::getNames ( std::vector< String > & names) const
pure virtual
Python:
cv.ml.TrainData.getNames(names) -> None

loadFromCSV()で取得された記号名のベクトルを返す。

◆ getNormCatResponses()

virtual Mat cv::ml::TrainData::getNormCatResponses ( ) const
pure virtual
Python:
cv.ml.TrainData.getNormCatResponses() -> retval

◆ getNormCatValues()

virtual void cv::ml::TrainData::getNormCatValues ( int vi,
InputArray sidx,
int * values ) const
pure virtual

◆ getNSamples()

virtual int cv::ml::TrainData::getNSamples ( ) const
pure virtual
Python:
cv.ml.TrainData.getNSamples() -> retval

◆ getNTestSamples()

virtual int cv::ml::TrainData::getNTestSamples ( ) const
pure virtual
Python:
cv.ml.TrainData.getNTestSamples() -> retval

◆ getNTrainSamples()

virtual int cv::ml::TrainData::getNTrainSamples ( ) const
pure virtual
Python:
cv.ml.TrainData.getNTrainSamples() -> retval

◆ getNVars()

virtual int cv::ml::TrainData::getNVars ( ) const
pure virtual
Python:
cv.ml.TrainData.getNVars() -> retval

◆ getResponses()

virtual Mat cv::ml::TrainData::getResponses ( ) const
pure virtual
Python:
cv.ml.TrainData.getResponses() -> retval

◆ getResponseType()

virtual int cv::ml::TrainData::getResponseType ( ) const
pure virtual
Python:
cv.ml.TrainData.getResponseType() -> retval

◆ getSample()

virtual void cv::ml::TrainData::getSample ( InputArray varIdx,
int sidx,
float * buf ) const
pure virtual
Python:
cv.ml.TrainData.getSample(varIdx, sidx, buf) -> None

◆ getSamples()

virtual Mat cv::ml::TrainData::getSamples ( ) const
pure virtual
Python:
cv.ml.TrainData.getSamples() -> retval

◆ getSampleWeights()

virtual Mat cv::ml::TrainData::getSampleWeights ( ) const
pure virtual
Python:
cv.ml.TrainData.getSampleWeights() -> retval

◆ getSubMatrix()

static Mat cv::ml::TrainData::getSubMatrix ( const Mat & matrix,
const Mat & idx,
int layout )
static
Python:
cv.ml.TrainData.getSubMatrix(matrix, idx, layout) -> retval
cv.ml.TrainData_getSubMatrix(matrix, idx, layout) -> retval

渡されたインデックスで指定された行・列を行列から取り出す。

引数
matrix入力行列 (サポートされている型: CV_32S, CV_32F, CV_64F)
idx1次元のインデックスベクトル
layout行を取り出すか (cv::ml::ROW_SAMPLES)、列を取り出すか (cv::ml::COL_SAMPLES) を指定する

◆ getSubVector()

static Mat cv::ml::TrainData::getSubVector ( const Mat & vec,
const Mat & idx )
static
Python:
cv.ml.TrainData.getSubVector(vec, idx) -> retval
cv.ml.TrainData_getSubVector(vec, idx) -> retval

渡されたインデックスで指定された要素を1次元ベクトルから取り出す。

引数
vec入力ベクトル (サポートされている型: CV_32S, CV_32F, CV_64F)
idx1次元のインデックスベクトル

◆ getTestNormCatResponses()

virtual Mat cv::ml::TrainData::getTestNormCatResponses ( ) const
pure virtual
Python:
cv.ml.TrainData.getTestNormCatResponses() -> retval

◆ getTestResponses()

virtual Mat cv::ml::TrainData::getTestResponses ( ) const
pure virtual
Python:
cv.ml.TrainData.getTestResponses() -> retval

◆ getTestSampleIdx()

virtual Mat cv::ml::TrainData::getTestSampleIdx ( ) const
pure virtual
Python:
cv.ml.TrainData.getTestSampleIdx() -> retval

◆ getTestSamples()

virtual Mat cv::ml::TrainData::getTestSamples ( ) const
pure virtual
Python:
cv.ml.TrainData.getTestSamples() -> retval

テストサンプルの行列を返す。

◆ getTestSampleWeights()

virtual Mat cv::ml::TrainData::getTestSampleWeights ( ) const
pure virtual
Python:
cv.ml.TrainData.getTestSampleWeights() -> retval

◆ getTrainNormCatResponses()

virtual Mat cv::ml::TrainData::getTrainNormCatResponses ( ) const
pure virtual
Python:
cv.ml.TrainData.getTrainNormCatResponses() -> retval

正規化されたカテゴリ応答のベクトルを返す。

この関数は応答のベクトルを返す。各応答は0から<number of classes>-1までの整数である。実際のラベル値は、クラスラベルベクトルから取得できる。TrainData::getClassLabelsを参照のこと。

◆ getTrainResponses()

virtual Mat cv::ml::TrainData::getTrainResponses ( ) const
pure virtual
Python:
cv.ml.TrainData.getTrainResponses() -> retval

応答のベクトルを返す。

この関数は、順序付き応答または元のカテゴリ応答を返す。通常、回帰アルゴリズムで使用される。

◆ getTrainSampleIdx()

virtual Mat cv::ml::TrainData::getTrainSampleIdx ( ) const
pure virtual
Python:
cv.ml.TrainData.getTrainSampleIdx() -> retval

◆ getTrainSamples()

virtual Mat cv::ml::TrainData::getTrainSamples ( int layout = ROW_SAMPLE,
bool compressSamples = true,
bool compressVars = true ) const
pure virtual
Python:
cv.ml.TrainData.getTrainSamples([, layout[, compressSamples[, compressVars]]]) -> retval

学習サンプルの行列を返す。

引数
layout要求するレイアウト。初期のレイアウトと異なる場合、行列は転置される。ml::SampleTypesを参照のこと。
compressSamplestrueの場合、関数は学習サンプル (sampleIdxで指定されたもの) のみを返す
compressVarstrueの場合、関数は有効な変数のみを含む、より短い学習サンプルを返す。

現在の実装では、この関数は物理的なデータコピーを避けようとし、TrainData内に格納された行列を返す (転置や圧縮が必要な場合を除く)。

◆ getTrainSampleWeights()

virtual Mat cv::ml::TrainData::getTrainSampleWeights ( ) const
pure virtual
Python:
cv.ml.TrainData.getTrainSampleWeights() -> retval

◆ getValues()

virtual void cv::ml::TrainData::getValues ( int vi,
InputArray sidx,
float * values ) const
pure virtual
Python:
cv.ml.TrainData.getValues(vi, sidx, values) -> None

◆ getVarIdx()

virtual Mat cv::ml::TrainData::getVarIdx ( ) const
pure virtual
Python:
cv.ml.TrainData.getVarIdx() -> retval

◆ getVarSymbolFlags()

virtual Mat cv::ml::TrainData::getVarSymbolFlags ( ) const
pure virtual
Python:
cv.ml.TrainData.getVarSymbolFlags() -> retval

◆ getVarType()

virtual Mat cv::ml::TrainData::getVarType ( ) const
pure virtual
Python:
cv.ml.TrainData.getVarType() -> retval

◆ loadFromCSV()

static Ptr< TrainData > cv::ml::TrainData::loadFromCSV ( const String & filename,
int headerLineCount,
int responseStartIdx = -1,
int responseEndIdx = -1,
const String & varTypeSpec = String(),
char delimiter = ',',
char missch = '?' )
static

データセットを.csvファイルから読み込み、すぐに利用できる訓練データを返す。

引数
filename入力ファイル名
headerLineCount先頭でスキップする行数。ヘッダに加えて、この関数は空行と#で始まる行もスキップする
responseStartIdx最初の出力変数のインデックス。-1の場合、関数は最後の変数を応答とみなす
responseEndIdx最後の出力変数のインデックス + 1。-1の場合、responseStartIdxに単一の応答変数があるとみなす。
varTypeSpec変数の型を指定する省略可能なテキスト文字列。形式はord[n1-n2,n3,n4-n5,...]cat[n6,n7-n8,...]である。すなわち、n1 to n2 (両端を含む範囲)、n3n4 to n5 ... の変数は順序付きとみなされ、n6n7 to n8 ... はカテゴリ値とみなされる。範囲[n1..n2] + [n3] + [n4..n5] + ... + [n6] + [n7..n8]はすべての変数を網羅する必要がある。varTypeSpecが指定されない場合、アルゴリズムは以下の規則を用いる:
  • すべての入力変数はデフォルトで順序付きとみなされる。ある列に数値でない値、例えば 'apple', 'pear', 'apple', 'apple', 'mango' が含まれる場合、対応する変数はカテゴリ値とみなされる。
  • 出力変数が複数ある場合、それらはすべて順序付きとみなされる。数値でない値が使われるとErrorが報告される。
  • 出力変数が単一の場合、その値が数値でないかすべて整数であれば、カテゴリ値とみなされる。そうでなければ順序付きとみなされる。
delimiter各行の値を区切るために使用する文字。
missch欠損した観測値を指定するために使用する文字。数字であってはならない。これは数値でない値だが、変数が順序付きかカテゴリ値かの判定には全く影響しない。
覚え書き
データセットが入力変数のみを含み、応答 (responses) を含まない場合は、responseStartIdx = -2 および responseEndIdx = 0 を指定する。出力変数のベクトルにはゼロのみが格納される。

◆ missingValue()

static float cv::ml::TrainData::missingValue ( )
inlinestatic

◆ setTrainTestSplit()

virtual void cv::ml::TrainData::setTrainTestSplit ( int count,
bool shuffle = true )
pure virtual
Python:
cv.ml.TrainData.setTrainTestSplit(count[, shuffle]) -> None

訓練データを訓練用部分とテスト用部分に分割する。

参照
TrainData::setTrainTestSplitRatio

◆ setTrainTestSplitRatio()

virtual void cv::ml::TrainData::setTrainTestSplitRatio ( double ratio,
bool shuffle = true )
pure virtual
Python:
cv.ml.TrainData.setTrainTestSplitRatio(ratio[, shuffle]) -> None

訓練データを訓練用部分とテスト用部分に分割する。

この関数は、指定された相対サイズの部分集合を選択し、それを訓練セットとして返す。この関数を呼び出さない場合は、すべてのデータが訓練に使われる。なお、各 TrainData::getTrain* には対応する TrainData::getTest* が存在するため、テスト用部分集合も取得して処理できる。

参照
TrainData::setTrainTestSplit

◆ shuffleTrainTest()

virtual void cv::ml::TrainData::shuffleTrainTest ( )
pure virtual
Python:
cv.ml.TrainData.shuffleTrainTest() -> None

このクラス詳解は次のファイルから抽出されました: