The available Python options are detailed in the aoclda.factorization.KernelPCA() class constructor.
The following options can be set using da_options_set_?:
Option Name |
Type |
Default |
Description |
Constraints |
|---|---|---|---|---|
kernel |
string |
\(s=\) linear |
Kernel function to use. |
\(s=\) linear, poly, precomputed, rbf, or sigmoid. |
coef0 |
real |
\(r=1\) |
Independent term for polynomial and sigmoid kernels. |
There are no constraints on \(r\). |
eigen solver |
string |
\(s=\) auto |
Which method to use for computing the eigendecomposition of the kernel matrix |
\(s=\) auto, or syevd. |
copy data |
string |
\(s=\) yes |
Whether or not to store a copy of the training data. |
\(s=\) no, or yes. |
remove zero eig |
string |
\(s=\) no |
Whether to remove components whose eigenvalue is zero. |
\(s=\) no, or yes. |
gamma |
real |
\(r=-1\) |
Kernel coefficient for rbf, poly, and sigmoid kernels. |
There are no constraints on \(r\). |
fit inverse transform |
string |
\(s=\) no |
Whether to fit the inverse transform. |
\(s=\) no, or yes. |
degree |
integer |
\(i=3\) |
Degree for the polynomial kernel. |
\(1 \le i\) |
alpha |
real |
\(r=1\) |
Ridge regularization parameter for the inverse transform linear solve. |
\(0 < r\) |
n_components |
integer |
\(i=0\) |
Number of kernel principal components to compute. |
\(0 \le i\) |
check data |
string |
\(s=\) no |
Check input data for NaNs prior to performing computation. |
\(s=\) no, or yes. |
storage order |
string |
\(s=\) column-major |
Whether data is supplied and returned in row- or column-major order. |
\(s=\) c, column-major, f, fortran, or row-major. |
If n_components is set to 0, all principal components with a non-zero eigenvalue are retained.
When fit inverse transform is set to "yes", an approximate inverse transform is fitted during compute using kernel ridge regression.
This is performed at compute time rather than on the first call to inverse_transform, so it carries additional memory and compute overhead.
This option should only be set when inverse_transform will be used. It is incompatible with kernel='precomputed'.
When remove zero eig is enabled, components corresponding to near-zero eigenvalues are discarded after compute.
The resulting n_components may be smaller than the value requested; query da_handle_get_result_int with da_kernel_pca_n_components to obtain the number of components computed.
When copy data is set to "no", the user’s data pointer is retained rather than copied and must remain valid through all subsequent calls.
For the rbf, poly, and sigmoid kernels, when gamma is not set (or set to a value less than \(0\)) it defaults to \(1/n_{\mathrm{features}}\) and is resolved at compute time.
The resolved value can be retrieved via da_handle_get_result_? with da_kernel_pca_gamma.