F_VN_CreatePcaTransform

F_VN_CreatePcaTransform 1:

Create a PCA-based feature transform from the provided data. 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.

Syntax

Definition:

FUNCTION F_VN_CreatePcaTransform : HRESULT
VAR_INPUT
    ipMlModel : Reference To ITcVnMlModel;
    ipSamples : ITcUnknown;
    hrPrev    : HRESULT;
END_VAR

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

hrPrev

HRESULT

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

F_VN_CreatePcaTransform 3: Return value

HRESULT

Further information

The function F_VN_CreatePcaTransform creates a Principal Component Analysis (PCA) model.

Principal Component Analysis models

In Principal Component Analysis, the principal components of the sample distribution are calculated. The principal components are the directions within the feature space that show the greatest variance in the samples. The dimension of the feature space is reduced by projecting the data onto selected principal components, in which the variance of the data is retained as much as possible.

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.

Application

For example, a PCA model for feature reduction can be created like this:

hr := F_VN_CreatePcaTransform(
    ipMlModel   := ipMlModel,
    ipSamples   := ipSamples,
    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