.. _`Kernel Principal Component Analysis (KPCA)`: .. _`org.sysess.sympathy.machinelearning.kpca`: Kernel Principal Component Analysis (KPCA) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. image:: PCA.svg :width: 48 Non-linear dimensionality reduction through the use of kernels :Configuration: - *n_components* Number of components. If None, all non-zero components are kept. - *kernel* Kernel. Default="linear". - *degree* Degree for poly kernels. Ignored by other kernels. - *gamma* Kernel coefficient for rbf, poly and sigmoid kernels. Ignored by other kernels. - *coef0* Independent term in poly and sigmoid kernels. Ignored by other kernels. - *alpha* Hyperparameter of the ridge regression that learns the inverse transform (when fit_inverse_transform=True). - *fit_inverse_transform* Learn the inverse transform for non-precomputed kernels. (i.e. learn to find the pre-image of a point) - *remove_zero_eig* If True, then all components with zero eigenvalues are removed, so that the number of components in the output may be < n_components (and sometimes even zero due to numerical instability). When n_components is None, this parameter is ignored and components with zero eigenvalues are removed regardless. - *eigen_solver* Select eigensolver to use. If n_components is much less than the number of training samples, arpack may be more efficient than the dense eigensolver. - *tol* Convergence tolerance for arpack. If 0, optimal value will be chosen by arpack. - *max_iter* Maximum number of iterations for arpack. If None, optimal value will be chosen by arpack. - *random_state* If int, random_state is the seed used by the random number generator; If RandomState instance, random_state is the random number generator; If None, the random number generator is the RandomState instance used by `np.random`. Used when ``eigen_solver`` == 'arpack'. .. versionadded:: 0.18 - *n_jobs* The number of parallel jobs to run. If `-1`, then the number of jobs is set to the number of CPU cores. .. versionadded:: 0.18 :Attributes: - *lambdas_* Eigenvalues of the centered kernel matrix in decreasing order. If `n_components` and `remove_zero_eig` are not set, then all values are stored. - *alphas_* Eigenvectors of the centered kernel matrix. If `n_components` and `remove_zero_eig` are not set, then all components are stored. - *dual_coef_* Inverse transform matrix. Set if `fit_inverse_transform` is True. - *X_transformed_fit_* Projection of the fitted data on the kernel principal components. - *X_fit_* The data used to fit the model. If `copy_X=False`, then `X_fit_` is a reference. This attribute is used for the calls to transform. :Inputs: :Outputs: **model** : model Model *Ports*: **Outputs**: :model: model Model *Configuration*: **n_components** Number of components. If None, all non-zero components are kept. **kernel** Kernel. Default="linear". **degree** Degree for poly kernels. Ignored by other kernels. **gamma** Kernel coefficient for rbf, poly and sigmoid kernels. Ignored by other kernels. **coef0** Independent term in poly and sigmoid kernels. Ignored by other kernels. **alpha** Hyperparameter of the ridge regression that learns the inverse transform (when fit_inverse_transform=True). **fit_inverse_transform** Learn the inverse transform for non-precomputed kernels. (i.e. learn to find the pre-image of a point) **remove_zero_eig** If True, then all components with zero eigenvalues are removed, so that the number of components in the output may be < n_components (and sometimes even zero due to numerical instability). When n_components is None, this parameter is ignored and components with zero eigenvalues are removed regardless. **eigen_solver** Select eigensolver to use. If n_components is much less than the number of training samples, arpack may be more efficient than the dense eigensolver. **tol** Convergence tolerance for arpack. If 0, optimal value will be chosen by arpack. **max_iter** Maximum number of iterations for arpack. If None, optimal value will be chosen by arpack. **random_state** If int, random_state is the seed used by the random number generator; If RandomState instance, random_state is the random number generator; If None, the random number generator is the RandomState instance used by `np.random`. Used when ``eigen_solver`` == 'arpack'. .. versionadded:: 0.18 **n_jobs** The number of parallel jobs to run. If `-1`, then the number of jobs is set to the number of CPU cores. .. versionadded:: 0.18 .. automodule:: node_decomposition .. class:: KernelPCA