Developer Guide for Intel® Data Analytics Acceleration Library 2016 Update 4
Online processing computation mode assumes that data arrives in blocks i = 1, 2, 3, … nblocks.
PCA computation in the online processing mode follows the general computation schema for online processing described in Algorithms.
The PCA algorithm in the online processing mode 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 |
|
---|---|---|
data |
Pointer to the ni x p numeric table that represents the current data block. The input can be an object of any class derived from NumericTable. |
The PCA algorithm in the online processing mode has the following parameters, depending on the computation method parameter method:
Parameter |
method |
Default Value |
Description |
---|---|---|---|
algorithmFPType |
defaultDense or svdDense |
double |
The floating-point type that the algorithm uses for intermediate computations. Can be float or double. |
method |
Not applicable |
defaultDense |
Available methods for PCA computation:
|
initializationProcedure
|
defaultDense |
Not applicable |
The procedure for setting initial parameters of the algorithm in the online processing mode. By default, the algorithm initializes nObservationsCorrelation, sumCorrelation, and crossProductCorrelation with zeros. |
svdDense |
Not applicable |
The procedure for setting initial parameters of the algorithm in the online processing mode. By default, the algorithm initializes nObservationsSVD, sumSVD, and sumSquaresSVD with zeros. |
|
covariance |
defaultDense |
SharedPtr<covariance::Online<algorithmFPType, covariance::defaultDense> > |
The correlation and variance-covariance matrices algorithm to be used for PCA computations with the correlation method. For details, see Correlation and Variance-covariance Matrices. Online Processing. |
The PCA algorithm in the online processing mode calculates partial results described below. They depend on the computation method. Pass the Result ID as a parameter to the methods that access the results of your algorithm. For more details, see Algorithms.
Result ID |
Result |
|
---|---|---|
Correlation method (defaultDense): |
||
nObservationsCorrelation |
Pointer to the 1 x 1 numeric table with the number of observations processed so far. By default, this result is an object of the HomogenNumericTable class, but you can define it as an object of any class derived from NumericTable except CSRNumericTable. |
|
crossProductCorrelation |
Pointer to the p x p numeric table with the partial cross-product matrix computed so far. By default, this table is an object of the HomogenNumericTable class, but you can define it as an object of any class derived from NumericTable except PackedSymmetricMatrix, PackedTriangularMatrix, and CSRNumericTable. |
|
sumCorrelation |
Pointer to the 1 x p numeric table with partial sums computed so far. By default, this table is an object of the HomogenNumericTable class, but you can define it as an object of any class derived from NumericTable except PackedSymmetricMatrix, PackedTriangularMatrix, and CSRNumericTable. |
|
SVD method (svdDense): |
||
nObservationsSVD |
Pointer to the 1 x 1 numeric table with the number of observations processed so far. By default, this result is an object of the HomogenNumericTable class, but you can define it as an object of any class derived from NumericTable except CSRNumericTable. |
|
sumSVD |
Pointer to the 1 x p numeric table with partial sums computed so far. By default, this table is an object of the HomogenNumericTable class, but you can define it as an object of any class derived from NumericTable except PackedSymmetricMatrix, PackedTriangularMatrix, and CSRNumericTable. |
|
sumSquaresSVD |
Pointer to the 1 x p numeric table with partial sums of squares computed so far. By default, this table is an object of the HomogenNumericTable class, but you can define it as an object of any class derived from NumericTable except PackedSymmetricMatrix, PackedTriangularMatrix, and CSRNumericTable. |
The PCA algorithm in the online processing mode calculates the results described below. Pass the Result ID as a parameter to the methods that access the results of your algorithm. For more details, see Algorithms.
Result ID |
Result |
|
---|---|---|
eigenvalues |
Pointer to the 1 x p numeric table that contains eigenvalues in the descending order. By default, this result is an object of the HomogenNumericTable class, but you can define the result as an object of any class derived from NumericTable except PackedSymmetricMatrix, PackedTriangularMatrix, and CSRNumericTable. |
|
eigenvectors |
Pointer to the p x p numeric table that contains eigenvectors in the row-major order. By default, this result is an object of the HomogenNumericTable class, but you can define the result as an object of any class derived from NumericTable except PackedSymmetricMatrix, PackedTriangularMatrix, and CSRNumericTable. |
Examples
C++:
Java*: