Quality Metrics for Principal Components Analysis
Given the results of the PCA algorithm, data set
,
of eigenvalues in decreasing order, full number of principal components
and reduced number
of components
, the problem is to evaluate the explained variances radio and noise variance.
QualityMetricsId
for the PCA algorithm is explainedVarianceMetrics
.Details
The metrics are computed given the input data meets the following requirements:
- At least the largest eigenvalue
is non-zero. Returns an error otherwise.
- The number of eigenvalues
must be equal to the number of features provided. Returns an error if
is less than the number of features.
The PCA algorithm receives input argument eigenvalues
,
.
It represents the following quality metrics:
- Explained variance ratio
- Noise variance
The library uses the following quality metrics:
Quality Metric | Definition |
---|---|
Explained variance | |
Explained variance ratios | |
Noise variance |
Quality metrics for PCA are correctly calculated only if the eigenvalues vector obtained from the PCA algorithm has not been reduced.
That is, the nComponents parameter of the PCA algorithm must be zero or equal to the number of features.
The formulas rely on a full set of the principal components. If the set is reduced, the result is considered incorrect.
Batch Processing
Algorithm Input
The Quality Metrics for PCA algorithm accepts the input described below.
Pass the
Input ID
as a parameter to the methods that provide input for your algorithm.
For more details, see Algorithms.Input ID | Input |
---|---|
eigenvalues | You can define it as an object of any class derived from NumericTable except PackedSymmetricMatrix , PackedTriangularMatrix , and CSRNumericTable . |
Algorithm Parameters
The quality metric algorithm has the following parameters:
Parameter | Default Value | Description |
---|---|---|
algorithmFPType | float | The floating-point type that the algorithm uses for intermediate computations. Can be float or double . |
nComponents | The number of principal components | |
nFeatures | The number of features in the data set used as input in PCA algorithm.
If it is zero, the algorithm will compute the result for p. if |
Algorithm Output
The quality metric for PCA algorithm calculates the result described below.
Pass the
Result ID
as a parameter to the methods that access the results of your algorithm.Result ID | Result |
---|---|
explainedVariances | Pointer to the |
explainedVariancesRatios | Pointer to the |
noiseVariance | Pointer to the |
By default, each numeric table specified by the collection elements is an object of the
HomogenNumericTable
class,
but you can define the result as an object of any class derived from NumericTable
, except for PackedSymmetricMatrix
, PackedTriangularMatrix
, and CSRNumericTable.Examples
C++ (CPU)
Batch Processing:
Java*
There is no support for Java on GPU.
Batch Processing: