View Source Evision.ML.TrainData (Evision v0.1.15)

Link to this section Summary

Types

t()

Type that represents an Evision.ML.TrainData struct.

Functions

Creates training data from in-memory arrays.

Creates training data from in-memory arrays.

Positional Arguments
  • vi: int
Return
  • retval: int

Python prototype (for reference):

Return

Python prototype (for reference):

Return

Python prototype (for reference):

Returns the vector of class labels

Return

Python prototype (for reference):

Return
  • retval: int

Python prototype (for reference):

Return

Python prototype (for reference):

Return
  • retval: int

Python prototype (for reference):

Returns vector of symbolic names captured in loadFromCSV()

Return

Python prototype (for reference):

Return
  • retval: int

Python prototype (for reference):

Return
  • retval: int

Python prototype (for reference):

Return
  • retval: int

Python prototype (for reference):

Return
  • retval: int

Python prototype (for reference):

Return

Python prototype (for reference):

Return
  • retval: int

Python prototype (for reference):

Positional Arguments

Python prototype (for reference):

Return

Python prototype (for reference):

Return

Python prototype (for reference):

Extract from matrix rows/cols specified by passed indexes.

Extract from 1D vector elements specified by passed indexes.

Return

Python prototype (for reference):

Return

Python prototype (for reference):

Return

Python prototype (for reference):

Returns matrix of test samples

Return

Python prototype (for reference):

Returns the vector of normalized categorical responses

Returns the vector of responses

Return

Python prototype (for reference):

Returns matrix of train samples

Return

Python prototype (for reference):

Positional Arguments

Python prototype (for reference):

Return

Python prototype (for reference):

Return

Python prototype (for reference):

Return

Python prototype (for reference):

Splits the training data into the training and test parts

Splits the training data into the training and test parts

Splits the training data into the training and test parts

Splits the training data into the training and test parts

Python prototype (for reference):

Link to this section Types

@type t() :: %Evision.ML.TrainData{ref: reference()}

Type that represents an Evision.ML.TrainData struct.

  • ref. reference()

    The underlying erlang resource variable.

Link to this section Functions

Link to this function

create(samples, layout, responses)

View Source
@spec create(Evision.Mat.maybe_mat_in(), integer(), Evision.Mat.maybe_mat_in()) ::
  t() | {:error, String.t()}

Creates training data from in-memory arrays.

Positional Arguments
  • samples: Evision.Mat.

    matrix of samples. It should have CV_32F type.

  • layout: int.

    see ml::SampleTypes.

  • responses: Evision.Mat.

    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)

Keyword Arguments
  • varIdx: Evision.Mat.

    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: Evision.Mat.

    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: Evision.Mat.

    optional vector with weights for each sample. It should have CV_32F type.

  • varType: Evision.Mat.

    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.

Return

Python prototype (for reference):

create(samples, layout, responses[, varIdx[, sampleIdx[, sampleWeights[, varType]]]]) -> retval
Link to this function

create(samples, layout, responses, opts)

View Source
@spec create(
  Evision.Mat.maybe_mat_in(),
  integer(),
  Evision.Mat.maybe_mat_in(),
  [{atom(), term()}, ...] | nil
) :: t() | {:error, String.t()}

Creates training data from in-memory arrays.

Positional Arguments
  • samples: Evision.Mat.

    matrix of samples. It should have CV_32F type.

  • layout: int.

    see ml::SampleTypes.

  • responses: Evision.Mat.

    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)

Keyword Arguments
  • varIdx: Evision.Mat.

    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: Evision.Mat.

    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: Evision.Mat.

    optional vector with weights for each sample. It should have CV_32F type.

  • varType: Evision.Mat.

    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.

Return

Python prototype (for reference):

create(samples, layout, responses[, varIdx[, sampleIdx[, sampleWeights[, varType]]]]) -> retval
@spec getCatCount(t(), integer()) :: integer() | {:error, String.t()}
Positional Arguments
  • vi: int
Return
  • retval: int

Python prototype (for reference):

getCatCount(vi) -> retval
@spec getCatMap(t()) :: Evision.Mat.t() | {:error, String.t()}
Return

Python prototype (for reference):

getCatMap() -> retval
@spec getCatOfs(t()) :: Evision.Mat.t() | {:error, String.t()}
Return

Python prototype (for reference):

getCatOfs() -> retval
@spec getClassLabels(t()) :: Evision.Mat.t() | {:error, String.t()}

Returns the vector of class labels

Return

The function returns vector of unique labels occurred in the responses.

Python prototype (for reference):

getClassLabels() -> retval
Link to this function

getDefaultSubstValues(self)

View Source
@spec getDefaultSubstValues(t()) :: Evision.Mat.t() | {:error, String.t()}
Return

Python prototype (for reference):

getDefaultSubstValues() -> retval
@spec getLayout(t()) :: integer() | {:error, String.t()}
Return
  • retval: int

Python prototype (for reference):

getLayout() -> retval
@spec getMissing(t()) :: Evision.Mat.t() | {:error, String.t()}
Return

Python prototype (for reference):

getMissing() -> retval
@spec getNAllVars(t()) :: integer() | {:error, String.t()}
Return
  • retval: int

Python prototype (for reference):

getNAllVars() -> retval
@spec getNames(t(), [binary()]) :: :ok | {:error, String.t()}

Returns vector of symbolic names captured in loadFromCSV()

Positional Arguments
  • names: [String]

Python prototype (for reference):

getNames(names) -> None
Link to this function

getNormCatResponses(self)

View Source
@spec getNormCatResponses(t()) :: Evision.Mat.t() | {:error, String.t()}
Return

Python prototype (for reference):

getNormCatResponses() -> retval
@spec getNSamples(t()) :: integer() | {:error, String.t()}
Return
  • retval: int

Python prototype (for reference):

getNSamples() -> retval
@spec getNTestSamples(t()) :: integer() | {:error, String.t()}
Return
  • retval: int

Python prototype (for reference):

getNTestSamples() -> retval
@spec getNTrainSamples(t()) :: integer() | {:error, String.t()}
Return
  • retval: int

Python prototype (for reference):

getNTrainSamples() -> retval
@spec getNVars(t()) :: integer() | {:error, String.t()}
Return
  • retval: int

Python prototype (for reference):

getNVars() -> retval
@spec getResponses(t()) :: Evision.Mat.t() | {:error, String.t()}
Return

Python prototype (for reference):

getResponses() -> retval
@spec getResponseType(t()) :: integer() | {:error, String.t()}
Return
  • retval: int

Python prototype (for reference):

getResponseType() -> retval
Link to this function

getSample(self, varIdx, sidx, buf)

View Source
@spec getSample(t(), Evision.Mat.maybe_mat_in(), integer(), number()) ::
  :ok | {:error, String.t()}
Positional Arguments

Python prototype (for reference):

getSample(varIdx, sidx, buf) -> None
@spec getSamples(t()) :: Evision.Mat.t() | {:error, String.t()}
Return

Python prototype (for reference):

getSamples() -> retval
@spec getSampleWeights(t()) :: Evision.Mat.t() | {:error, String.t()}
Return

Python prototype (for reference):

getSampleWeights() -> retval
Link to this function

getSubMatrix(matrix, idx, layout)

View Source
@spec getSubMatrix(Evision.Mat.maybe_mat_in(), Evision.Mat.maybe_mat_in(), integer()) ::
  Evision.Mat.t() | {:error, String.t()}

Extract from matrix rows/cols specified by passed indexes.

Positional Arguments
  • matrix: Evision.Mat.

    input matrix (supported types: CV_32S, CV_32F, CV_64F)

  • idx: Evision.Mat.

    1D index vector

  • layout: int.

    specifies to extract rows (cv::ml::ROW_SAMPLES) or to extract columns (cv::ml::COL_SAMPLES)

Return

Python prototype (for reference):

getSubMatrix(matrix, idx, layout) -> retval
@spec getSubVector(Evision.Mat.maybe_mat_in(), Evision.Mat.maybe_mat_in()) ::
  Evision.Mat.t() | {:error, String.t()}

Extract from 1D vector elements specified by passed indexes.

Positional Arguments
Return

Python prototype (for reference):

getSubVector(vec, idx) -> retval
Link to this function

getTestNormCatResponses(self)

View Source
@spec getTestNormCatResponses(t()) :: Evision.Mat.t() | {:error, String.t()}
Return

Python prototype (for reference):

getTestNormCatResponses() -> retval
@spec getTestResponses(t()) :: Evision.Mat.t() | {:error, String.t()}
Return

Python prototype (for reference):

getTestResponses() -> retval
@spec getTestSampleIdx(t()) :: Evision.Mat.t() | {:error, String.t()}
Return

Python prototype (for reference):

getTestSampleIdx() -> retval
@spec getTestSamples(t()) :: Evision.Mat.t() | {:error, String.t()}

Returns matrix of test samples

Return

Python prototype (for reference):

getTestSamples() -> retval
Link to this function

getTestSampleWeights(self)

View Source
@spec getTestSampleWeights(t()) :: Evision.Mat.t() | {:error, String.t()}
Return

Python prototype (for reference):

getTestSampleWeights() -> retval
Link to this function

getTrainNormCatResponses(self)

View Source
@spec getTrainNormCatResponses(t()) :: Evision.Mat.t() | {:error, String.t()}

Returns the vector of normalized categorical responses

Return

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.

Python prototype (for reference):

getTrainNormCatResponses() -> retval
@spec getTrainResponses(t()) :: Evision.Mat.t() | {:error, String.t()}

Returns the vector of responses

Return

The function returns ordered or the original categorical responses. Usually it's used in regression algorithms.

Python prototype (for reference):

getTrainResponses() -> retval
@spec getTrainSampleIdx(t()) :: Evision.Mat.t() | {:error, String.t()}
Return

Python prototype (for reference):

getTrainSampleIdx() -> retval
@spec getTrainSamples(t()) :: Evision.Mat.t() | {:error, String.t()}

Returns matrix of train samples

Keyword Arguments
  • layout: int.

    The requested layout. If it's different from the initial one, the matrix is transposed. See ml::SampleTypes.

  • compressSamples: bool.

    if true, the function returns only the training samples (specified by sampleIdx)

  • compressVars: bool.

    if true, the function returns the shorter training samples, containing only the active variables.

Return

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).

Python prototype (for reference):

getTrainSamples([, layout[, compressSamples[, compressVars]]]) -> retval
Link to this function

getTrainSampleWeights(self)

View Source
@spec getTrainSampleWeights(t()) :: Evision.Mat.t() | {:error, String.t()}
Return

Python prototype (for reference):

getTrainSampleWeights() -> retval
Link to this function

getValues(self, vi, sidx, values)

View Source
@spec getValues(t(), integer(), Evision.Mat.maybe_mat_in(), number()) ::
  :ok | {:error, String.t()}
Positional Arguments

Python prototype (for reference):

getValues(vi, sidx, values) -> None
@spec getVarIdx(t()) :: Evision.Mat.t() | {:error, String.t()}
Return

Python prototype (for reference):

getVarIdx() -> retval
@spec getVarSymbolFlags(t()) :: Evision.Mat.t() | {:error, String.t()}
Return

Python prototype (for reference):

getVarSymbolFlags() -> retval
@spec getVarType(t()) :: Evision.Mat.t() | {:error, String.t()}
Return

Python prototype (for reference):

getVarType() -> retval
Link to this function

setTrainTestSplit(self, count)

View Source
@spec setTrainTestSplit(t(), integer()) :: :ok | {:error, String.t()}

Splits the training data into the training and test parts

Positional Arguments
  • count: int
Keyword Arguments
  • shuffle: bool.

@sa TrainData::setTrainTestSplitRatio

Python prototype (for reference):

setTrainTestSplit(count[, shuffle]) -> None
Link to this function

setTrainTestSplit(self, count, opts)

View Source
@spec setTrainTestSplit(t(), integer(), [{atom(), term()}, ...] | nil) ::
  :ok | {:error, String.t()}

Splits the training data into the training and test parts

Positional Arguments
  • count: int
Keyword Arguments
  • shuffle: bool.

@sa TrainData::setTrainTestSplitRatio

Python prototype (for reference):

setTrainTestSplit(count[, shuffle]) -> None
Link to this function

setTrainTestSplitRatio(self, ratio)

View Source
@spec setTrainTestSplitRatio(t(), number()) :: :ok | {:error, String.t()}

Splits the training data into the training and test parts

Positional Arguments
  • ratio: double
Keyword Arguments
  • shuffle: bool.

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. @sa TrainData::setTrainTestSplit

Python prototype (for reference):

setTrainTestSplitRatio(ratio[, shuffle]) -> None
Link to this function

setTrainTestSplitRatio(self, ratio, opts)

View Source
@spec setTrainTestSplitRatio(t(), number(), [{atom(), term()}, ...] | nil) ::
  :ok | {:error, String.t()}

Splits the training data into the training and test parts

Positional Arguments
  • ratio: double
Keyword Arguments
  • shuffle: bool.

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. @sa TrainData::setTrainTestSplit

Python prototype (for reference):

setTrainTestSplitRatio(ratio[, shuffle]) -> None
@spec shuffleTrainTest(t()) :: :ok | {:error, String.t()}

Python prototype (for reference):

shuffleTrainTest() -> None