TrainData
Objective-C
@interface TrainData : NSObject
Swift
class TrainData : NSObject
Class encapsulating training data.
Please note that the class only specifies the interface of training data, but not implementation. All the statistical model classes in ml module accepts Ptr<TrainData> as parameter. In other words, you can create your own class derived from TrainData and pass smart pointer to the instance of this class into StatModel::train.
See
REF: ml_intro_dataMember of Ml
-
Extract from matrix rows/cols specified by passed indexes.
Declaration
Parameters
matrix
input matrix (supported types: CV_32S, CV_32F, CV_64F)
idx
1D index vector
layout
specifies to extract rows (cv::ml::ROW_SAMPLES) or to extract columns (cv::ml::COL_SAMPLES)
-
Extract from 1D vector elements specified by passed indexes.
Declaration
Parameters
vec
input vector (supported types: CV_32S, CV_32F, CV_64F)
idx
1D index vector
-
Returns the vector of normalized categorical responses
The function returns vector of responses. Each response is integer from `0` to `<number of classes>-1`. The actual label value can be retrieved then from the class label vector, see TrainData::getClassLabels.
-
Returns matrix of train samples
Declaration
Objective-C
- (nonnull Mat *)getTrainSamples:(int)layout compressSamples:(BOOL)compressSamples compressVars:(BOOL)compressVars;
Swift
func getTrainSamples(layout: Int32, compressSamples: Bool, compressVars: Bool) -> Mat
Parameters
layout
The requested layout. If it’s different from the initial one, the matrix is transposed. See ml::SampleTypes.
compressSamples
if true, the function returns only the training samples (specified by sampleIdx)
compressVars
if true, the function returns the shorter training samples, containing only the active variables.
In current implementation the function tries to avoid physical data copying and returns the matrix stored inside TrainData (unless the transposition or compression is needed).
-
Returns matrix of train samples
Declaration
Objective-C
- (nonnull Mat *)getTrainSamples:(int)layout compressSamples:(BOOL)compressSamples;
Swift
func getTrainSamples(layout: Int32, compressSamples: Bool) -> Mat
Parameters
layout
The requested layout. If it’s different from the initial one, the matrix is transposed. See ml::SampleTypes.
compressSamples
if true, the function returns only the training samples (specified by sampleIdx) the active variables.
In current implementation the function tries to avoid physical data copying and returns the matrix stored inside TrainData (unless the transposition or compression is needed).
-
Returns matrix of train samples
Declaration
Objective-C
- (nonnull Mat *)getTrainSamples:(int)layout;
Swift
func getTrainSamples(layout: Int32) -> Mat
Parameters
layout
The requested layout. If it’s different from the initial one, the matrix is transposed. See ml::SampleTypes. sampleIdx) the active variables.
In current implementation the function tries to avoid physical data copying and returns the matrix stored inside TrainData (unless the transposition or compression is needed).
-
Returns matrix of train samples
transposed. See ml::SampleTypes. sampleIdx) the active variables. In current implementation the function tries to avoid physical data copying and returns the matrix stored inside TrainData (unless the transposition or compression is needed).
-
Creates training data from in-memory arrays.
Declaration
Parameters
samples
matrix of samples. It should have CV_32F type.
layout
see ml::SampleTypes.
responses
matrix of responses. If the responses are scalar, they should be stored as a single row or as a single column. The matrix should have type CV_32F or CV_32S (in the former case the responses are considered as ordered by default; in the latter case - as categorical)
varIdx
vector specifying which variables to use for training. It can be an integer vector (CV_32S) containing 0-based variable indices or byte vector (CV_8U) containing a mask of active variables.
sampleIdx
vector specifying which samples to use for training. It can be an integer vector (CV_32S) containing 0-based sample indices or byte vector (CV_8U) containing a mask of training samples.
sampleWeights
optional vector with weights for each sample. It should have CV_32F type.
varType
optional vector of type CV_8U and size
<number_of_variables_in_samples> + <number_of_variables_in_responses>
, containing types of each input and output variable. See ml::VariableTypes. -
Creates training data from in-memory arrays.
Declaration
Parameters
samples
matrix of samples. It should have CV_32F type.
layout
see ml::SampleTypes.
responses
matrix of responses. If the responses are scalar, they should be stored as a single row or as a single column. The matrix should have type CV_32F or CV_32S (in the former case the responses are considered as ordered by default; in the latter case - as categorical)
varIdx
vector specifying which variables to use for training. It can be an integer vector (CV_32S) containing 0-based variable indices or byte vector (CV_8U) containing a mask of active variables.
sampleIdx
vector specifying which samples to use for training. It can be an integer vector (CV_32S) containing 0-based sample indices or byte vector (CV_8U) containing a mask of training samples.
sampleWeights
optional vector with weights for each sample. It should have CV_32F type.
`, containing types of each input and output variable. See ml::VariableTypes. -
Creates training data from in-memory arrays.
Declaration
Parameters
samples
matrix of samples. It should have CV_32F type.
layout
see ml::SampleTypes.
responses
matrix of responses. If the responses are scalar, they should be stored as a single row or as a single column. The matrix should have type CV_32F or CV_32S (in the former case the responses are considered as ordered by default; in the latter case - as categorical)
varIdx
vector specifying which variables to use for training. It can be an integer vector (CV_32S) containing 0-based variable indices or byte vector (CV_8U) containing a mask of active variables.
sampleIdx
vector specifying which samples to use for training. It can be an integer vector (CV_32S) containing 0-based sample indices or byte vector (CV_8U) containing a mask of training samples.
`, containing types of each input and output variable. See ml::VariableTypes. -
Creates training data from in-memory arrays.
Declaration
Parameters
samples
matrix of samples. It should have CV_32F type.
layout
see ml::SampleTypes.
responses
matrix of responses. If the responses are scalar, they should be stored as a single row or as a single column. The matrix should have type CV_32F or CV_32S (in the former case the responses are considered as ordered by default; in the latter case - as categorical)
varIdx
vector specifying which variables to use for training. It can be an integer vector (CV_32S) containing 0-based variable indices or byte vector (CV_8U) containing a mask of active variables. vector (CV_32S) containing 0-based sample indices or byte vector (CV_8U) containing a mask of training samples.
`, containing types of each input and output variable. See ml::VariableTypes. -
Creates training data from in-memory arrays.
Declaration
Parameters
samples
matrix of samples. It should have CV_32F type.
layout
see ml::SampleTypes.
responses
matrix of responses. If the responses are scalar, they should be stored as a single row or as a single column. The matrix should have type CV_32F or CV_32S (in the former case the responses are considered as ordered by default; in the latter case - as categorical) (CV_32S) containing 0-based variable indices or byte vector (CV_8U) containing a mask of active variables. vector (CV_32S) containing 0-based sample indices or byte vector (CV_8U) containing a mask of training samples.
`, containing types of each input and output variable. See ml::VariableTypes. -
Declaration
Objective-C
- (int)getCatCount:(int)vi NS_SWIFT_NAME(getCatCount(vi:));
Swift
func getCatCount(vi: Int32) -> Int32
-
Declaration
Objective-C
- (int)getLayout NS_SWIFT_NAME(getLayout());
Swift
func getLayout() -> Int32
-
Declaration
Objective-C
- (int)getNAllVars NS_SWIFT_NAME(getNAllVars());
Swift
func getNAllVars() -> Int32
-
Declaration
Objective-C
- (int)getNSamples NS_SWIFT_NAME(getNSamples());
Swift
func getNSamples() -> Int32
-
Declaration
Objective-C
- (int)getNTestSamples NS_SWIFT_NAME(getNTestSamples());
Swift
func getNTestSamples() -> Int32
-
Declaration
Objective-C
- (int)getNTrainSamples NS_SWIFT_NAME(getNTrainSamples());
Swift
func getNTrainSamples() -> Int32
-
Declaration
Objective-C
- (int)getNVars NS_SWIFT_NAME(getNVars());
Swift
func getNVars() -> Int32
-
Declaration
Objective-C
- (int)getResponseType NS_SWIFT_NAME(getResponseType());
Swift
func getResponseType() -> Int32
-
Returns vector of symbolic names captured in loadFromCSV()
Declaration
Objective-C
- (void)getNames:(nonnull NSArray<NSString *> *)names;
Swift
func getNames(names: [String])
-
Splits the training data into the training and test parts - see:
-setTrainTestSplitRatio:shuffle:
Declaration
Objective-C
- (void)setTrainTestSplit:(int)count shuffle:(BOOL)shuffle;
Swift
func setTrainTestSplit(count: Int32, shuffle: Bool)
-
Splits the training data into the training and test parts - see:
-setTrainTestSplitRatio:shuffle:
Declaration
Objective-C
- (void)setTrainTestSplit:(int)count;
Swift
func setTrainTestSplit(count: Int32)
-
Splits the training data into the training and test parts
The function selects a subset of specified relative size and then returns it as the training set. If the function is not called, all the data is used for training. Please, note that for each of TrainData::getTrain\* there is corresponding TrainData::getTest\*, so that the test subset can be retrieved and processed as well. - see: `-setTrainTestSplit:shuffle:`
Declaration
Objective-C
- (void)setTrainTestSplitRatio:(double)ratio shuffle:(BOOL)shuffle;
Swift
func setTrainTestSplitRatio(ratio: Double, shuffle: Bool)
-
Splits the training data into the training and test parts
The function selects a subset of specified relative size and then returns it as the training set. If the function is not called, all the data is used for training. Please, note that for each of TrainData::getTrain\* there is corresponding TrainData::getTest\*, so that the test subset can be retrieved and processed as well. - see: `-setTrainTestSplit:shuffle:`
Declaration
Objective-C
- (void)setTrainTestSplitRatio:(double)ratio;
Swift
func setTrainTestSplitRatio(ratio: Double)
-
Declaration
Objective-C
- (void)shuffleTrainTest NS_SWIFT_NAME(shuffleTrainTest());
Swift
func shuffleTrainTest()