F_VN_CreatePcaTransformViaComponentNum

F_VN_CreatePcaTransformViaComponentNum 1:

Create a PCA-based feature transform from the provided data where the number of prinicpal components to be used is predefined. 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_CreatePcaTransformViaComponentNum : HRESULT
VAR_INPUT
    ipMlModel     : Reference To ITcVnMlModel;
    ipSamples     : ITcUnknown;
    nComponentNum : UDINT;
    hrPrev        : HRESULT;
END_VAR

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

nComponentNum

UDINT

Number of principal components (A value of 0 results in the automatic computation of the maximum number of components.)

hrPrev

HRESULT

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

F_VN_CreatePcaTransformViaComponentNum 3: Return value

HRESULT

Further information

The function F_VN_CreatePcaTransformViaComponentNum is a variant of F_VN_CreatePcaTransform. It contains the additional parameter nComponentNum to define the number of principal components for the feature reduction in advance.

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.

Number of components

The PCA calculates nComponentNum principal components. At 0, the maximum number of components is automatically calculated.

Application

For example, a PCA model with 5 principal components can be created like this:

hr := F_VN_CreatePcaTransformViaComponentNum(
    ipMlModel       := ipMlModel,
    ipSamples       := ipSamples,
    nComponentNum   := 5,
    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