Package org.opencv.ml

Class TrainData

java.lang.Object
org.opencv.ml.TrainData

public class TrainData
extends Object
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_data
  • Field Details

  • Constructor Details

  • Method Details

    • getNativeObjAddr

      public long getNativeObjAddr()
    • __fromPtr__

      public static TrainData __fromPtr__​(long addr)
    • getLayout

      public int getLayout()
    • getNTrainSamples

      public int getNTrainSamples()
    • getNTestSamples

      public int getNTestSamples()
    • getNSamples

      public int getNSamples()
    • getNVars

      public int getNVars()
    • getNAllVars

      public int getNAllVars()
    • getSample

      public void getSample​(Mat varIdx, int sidx, float buf)
    • getSamples

      public Mat getSamples()
    • getMissing

      public Mat getMissing()
    • getTrainSamples

      public Mat getTrainSamples​(int layout, boolean compressSamples, boolean compressVars)
      Returns matrix of train samples
      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:
      automatically generated
    • getTrainSamples

      public Mat getTrainSamples​(int layout, boolean compressSamples)
      Returns matrix of train samples
      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:
      automatically generated
    • getTrainSamples

      public Mat getTrainSamples​(int layout)
      Returns matrix of train samples
      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:
      automatically generated
    • getTrainSamples

      public Mat getTrainSamples()
      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).
      Returns:
      automatically generated
    • getTrainResponses

      Returns the vector of responses The function returns ordered or the original categorical responses. Usually it's used in regression algorithms.
      Returns:
      automatically generated
    • getTrainNormCatResponses

      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:
      automatically generated
    • getTestResponses

    • getTestNormCatResponses

    • getResponses

      public Mat getResponses()
    • getNormCatResponses

    • getSampleWeights

    • getTrainSampleWeights

    • getTestSampleWeights

    • getVarIdx

      public Mat getVarIdx()
    • getVarType

      public Mat getVarType()
    • getVarSymbolFlags

    • getResponseType

      public int getResponseType()
    • getTrainSampleIdx

    • getTestSampleIdx

    • getValues

      public void getValues​(int vi, Mat sidx, float values)
    • getDefaultSubstValues

    • getCatCount

      public int getCatCount​(int vi)
    • getClassLabels

      public Mat getClassLabels()
      Returns the vector of class labels The function returns vector of unique labels occurred in the responses.
      Returns:
      automatically generated
    • getCatOfs

      public Mat getCatOfs()
    • getCatMap

      public Mat getCatMap()
    • setTrainTestSplit

      public void setTrainTestSplit​(int count, boolean shuffle)
      Splits the training data into the training and test parts SEE: TrainData::setTrainTestSplitRatio
      Parameters:
      count - automatically generated
      shuffle - automatically generated
    • setTrainTestSplit

      public void setTrainTestSplit​(int count)
      Splits the training data into the training and test parts SEE: TrainData::setTrainTestSplitRatio
      Parameters:
      count - automatically generated
    • setTrainTestSplitRatio

      public void setTrainTestSplitRatio​(double ratio, boolean shuffle)
      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: TrainData::setTrainTestSplit
      Parameters:
      ratio - automatically generated
      shuffle - automatically generated
    • setTrainTestSplitRatio

      public void setTrainTestSplitRatio​(double ratio)
      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: TrainData::setTrainTestSplit
      Parameters:
      ratio - automatically generated
    • shuffleTrainTest

      public void shuffleTrainTest()
    • getTestSamples

      public Mat getTestSamples()
      Returns matrix of test samples
      Returns:
      automatically generated
    • getNames

      public void getNames​(List<String> names)
      Returns vector of symbolic names captured in loadFromCSV()
      Parameters:
      names - automatically generated
    • getSubVector

      public static Mat getSubVector​(Mat vec, Mat idx)
      Extract from 1D vector elements specified by passed indexes.
      Parameters:
      vec - input vector (supported types: CV_32S, CV_32F, CV_64F)
      idx - 1D index vector
      Returns:
      automatically generated
    • getSubMatrix

      public static Mat getSubMatrix​(Mat matrix, Mat idx, int layout)
      Extract from matrix rows/cols specified by passed indexes.
      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)
      Returns:
      automatically generated
    • create

      public static TrainData create​(Mat samples, int layout, Mat responses, Mat varIdx, Mat sampleIdx, Mat sampleWeights, Mat varType)
      Creates training data from in-memory arrays.
      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.
      Returns:
      automatically generated
    • create

      public static TrainData create​(Mat samples, int layout, Mat responses, Mat varIdx, Mat sampleIdx, Mat sampleWeights)
      Creates training data from in-memory arrays.
      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. <number_of_variables_in_responses>`, containing types of each input and output variable. See ml::VariableTypes.
      Returns:
      automatically generated
    • create

      public static TrainData create​(Mat samples, int layout, Mat responses, Mat varIdx, Mat sampleIdx)
      Creates training data from in-memory arrays.
      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. <number_of_variables_in_responses>`, containing types of each input and output variable. See ml::VariableTypes.
      Returns:
      automatically generated
    • create

      public static TrainData create​(Mat samples, int layout, Mat responses, Mat varIdx)
      Creates training data from in-memory arrays.
      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. <number_of_variables_in_responses>`, containing types of each input and output variable. See ml::VariableTypes.
      Returns:
      automatically generated
    • create

      public static TrainData create​(Mat samples, int layout, Mat responses)
      Creates training data from in-memory arrays.
      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. <number_of_variables_in_responses>`, containing types of each input and output variable. See ml::VariableTypes.
      Returns:
      automatically generated
    • finalize

      protected void finalize() throws Throwable
      Overrides:
      finalize in class Object
      Throws:
      Throwable