Scikit-Learn
143
Kernel PCA
Kernel
Principal Component Analysis,
an extension of PCA,
achieves non-linear
dimensionality reduction using kernels.
It supports both
transform and
inverse_transform.
The Scikit-learn ML library provides
sklearn.decomposition.KernelPCA
module.
Example
The below example will use
sklearn.decomposition.KernelPCA
module on Sklearn digit
dataset. We are using sigmoid kernel
.
from sklearn.datasets import load_digits
from sklearn.decomposition
import KernelPCA
X, _ = load_digits(return_X_y=True)
transformer = KernelPCA(n_components=10, kernel='sigmoid')
X_transformed = transformer.fit_transform(X)
X_transformed.shape
Output
(1797, 10)
PCA using randomized SVD
Principal Component Analysis (PCA) using randomized SVD is used to project data to a
lower-dimensional space preserving most of the variance by dropping the singular vector
of
components
associated
with
lower
singular
values.
Here,
the
sklearn.decomposition.PCA
module
with
the
optional
parameter
svd_solver=’randomized’
is going to be very useful.
Example
The below example will use
sklearn.decomposition.PCA
module
with the optional
parameter svd_solver=’randomized’ to find best 7 Principal components from Pima Indians
Diabetes dataset
.
from pandas import read_csv
from sklearn.decomposition
import PCA
path = r'C:\Users\Leekha\Desktop\pima-indians-diabetes.csv'
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age',
'class']
dataframe = read_csv(path, names=names)
array = dataframe.values
X = array[:,0:8]