Performing Kernel Principal Components Analysis
PCA is good at reducing the number of dimensions, but it works in a linear manner. If the data is not organized in a linear fashion, PCA fails to do the required job. This is where Kernel PCA comes into the picture. You can learn more about it at http://www.ics.uci.edu/~welling/classnotes/papers_class/Kernel-PCA.pdf. Let's see how to perform Kernel PCA on the input data and compare it to how PCA performs on the same data.
How to do it…
- Create a new Python file, and import the following packages:
import numpy as np import matplotlib.pyplot as plt from sklearn.decomposition import PCA, KernelPCA from sklearn.datasets import make_circles
- Define the seed value for the random number generator. This is needed to generate the data samples for analysis:
# Set the seed for random number generator np.random.seed(7)
- Generate data that is distributed in concentric circles to demonstrate how PCA doesn't work in this case:
# Generate samples...