F_VN_CreatePcaTransformViaVariance
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
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) | |
fRetainedVariance |
LREAL |
Fraction of variance that is to be retained by the PCA (A value of 1.0 signifies 100%.) |
hrPrev |
HRESULT indicating the result of previous operations (If SUCCEEDED(hrPrev) equals false, no operation is executed.) |
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 |