Kernel Principal Components Analysis
An implementation of Kernel Principal Components Analysis (KPCA). This can be used to perform nonlinear dimensionality reduction or preprocessing on a given dataset.
Available Predicates
kernel_pca/20
This program performs Kernel Principal Components Analysis (KPCA) on the specified dataset with the specified kernel. This will transform the data onto the kernel principal components, and optionally reduce the dimensionality by ignoring the kernel principal components with the smallest eigenvalues.
%% part of the predicate definition
kernel_pca( +string,
+integer, +integer,
+string,
+float32, +float32, +float32, +float32,
+pointer(float_array), +integer, +integer,
-pointer(float_array), -integer, -integer,
-pointer(float_array), -integer,
-pointer(float_array), -integer, -integer,
-integer)
Parameters
Name | Type | Description | Default |
---|---|---|---|
kernel | +string | The kernel to use. The full list of the usable kernels you can find here | linear |
centerTranformedData | +integer(bool) | If set, the transformed data will be centered about the origin. | (0)false |
useNystoem | +integer(bool) | If set, the Nystroem method will be used. | (0)false |
nystroemMethod | +string | Sampling scheme to use for the Nystroem method: "kmeans", "ordered", "random" | kmeans |
degree | +float | Degree of polynomial, for "polynomial" kernel. | 1.0 |
offset | +float | Offset, for "hyptan" and "polynomial" kernels. | 0.0 |
bandwidth | +float | Bandwidth, for "gaussian", "epanechnikov" and "laplacian" kernels. | 1.0 |
scale | +float | Scale, for "hyptan" | - |
data | +matrix | Data matrix. | - |
transformedData | -matrix | Matrix to output results into. | - |
eigenValues | -vector | KPCA eigenvalues will be written to this vector. | - |
eigenVectores | -matrix | KPCA eigenvectors will be written to this matrix. | - |
newDimension | -integer | New dimension for the dataset. | - |
Connected Links/Resources
If you want a more detailed explanation, then go to the python documentation. There is most of the time a good explanation on how the methods work and what the parameters do.
added some of the links from the python documentation