学習データをカプセル化するクラス。 詳細...
#include <opencv2/ml.hpp>
|
| 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< TrainData > | create (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< TrainData > | loadFromCSV (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()
| 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型でなければならない。 |
| layout | ml::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 |
◆ 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) |
| idx | 1次元のインデックスベクトル |
| 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) |
| idx | 1次元のインデックスベクトル |
◆ 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を参照のこと。 |
| compressSamples | trueの場合、関数は学習サンプル (sampleIdxで指定されたもの) のみを返す |
| compressVars | trueの場合、関数は有効な変数のみを含む、より短い学習サンプルを返す。 |
現在の実装では、この関数は物理的なデータコピーを避けようとし、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 (両端を含む範囲)、n3、n4 to n5 ... の変数は順序付きとみなされ、n6、n7 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 |
◆ 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 |
このクラス詳解は次のファイルから抽出されました: