F_VN_CreatePcaTransformViaVariance

F_VN_CreatePcaTransformViaVariance 1:

Create a PCA-based feature transform from the provided data based on a given fraction of variance to be retained. The maximum number of principal components that can be computed equals the minimum of the number of samples and the number of features. The initial reference count is set to one if a new model is created and kept, otherwise. (expert function)

Syntax

Definition:

FUNCTION F_VN_CreatePcaTransformViaVariance : HRESULT
VAR_INPUT
    ipMlModel         : Reference To ITcVnMlModel;
    ipSamples         : ITcUnknown;
    fRetainedVariance : LREAL;
    hrPrev            : HRESULT;
END_VAR

F_VN_CreatePcaTransformViaVariance 2: Inputs

Name

Type

Description

ipMlModel

Reference To ITcVnMlModel

Returns the created feature transform (Non-zero interface pointers are reused.)

ipSamples

ITcUnknown

Container holding a batch of input samples (ContainerType_Vector_Vector_REAL or ContainerType_Vector_Vector_LREAL)

fRetainedVariance

LREAL

Fraction of variance that is to be retained by the PCA (A value of 1.0 signifies 100%.)

hrPrev

HRESULT

HRESULT indicating the result of previous operations (If SUCCEEDED(hrPrev) equals false, no operation is executed.)

F_VN_CreatePcaTransformViaVariance 3: Return value

HRESULT

Further information

The function F_VN_CreatePcaTransformViaVariance is a variant of F_VN_CreatePcaTransform. It contains the additional parameter fRetainedVariance to define the retained variance.

Parameter

Model

The created model is returned in the interface pointer ipMlModel.

Samples

All samples are sent to the model in a container via ipSamples.

Retained variance

In PCA, the principal components are chosen so that the proportion fRetainedVariance of variance remains in the samples. With 1, the entire variance remains, so that the number of features is not reduced.

Application

For example, a PCA model with 65% retained variance can be created like this:

hr := F_VN_CreatePcaTransformViaComponentNum(
    ipMlModel           := ipMlModel,
    ipSamples           := ipSamples,
    fRetainedVariance   := 0.65,
    hrPrev              := hr);

Related functions

Required License

TC3 Vision Machine Learning

System Requirements

Development environment

Target platform

PLC libraries to include

TwinCAT V3.1.4024.54 or later

PC or CX (x64) with PL50, e.g. Intel 4-core Atom CPU

Tc3_Vision