F_VN_CreatePcaTransformViaComponentNum
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
Inputs
Name |
Type |
Description |
---|---|---|
ipMlModel |
Reference To ITcVnMlModel |
Returns the created feature transform (Non-zero interface pointers are reused.) |
ipSamples |
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 indicating the result of previous operations (If SUCCEEDED(hrPrev) equals false, no operation is executed.) |
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 |