3.5.4 使用主成分分析的降维

3.5.4 使用主成分分析的降维 - 图1

3.5.4 使用主成分分析的降维 - 图2

上面观察展开的云点在一个方向非常平坦,因此,一个特征几乎可以准确用另两个特征来计算。PCA找到数据并不平坦的方向,并且可以通过投影到一个子空间中来减少维度。

警告: 根据你的scikit-learn版本,PCA将在模块decompositionpca中。

In [3]:

  1. from sklearn import decomposition
  2. pca = decomposition.PCA(n_components=2)
  3. pca.fit(iris.data)

Out[3]:

  1. PCA(copy=True, n_components=2, whiten=False)

In [4]:

  1. X = pca.transform(iris.data)

现在我们可视化(转换的)鸢尾花数据集:

In [6]:

  1. import pylab as pl
  2. pl.scatter(X[:, 0], X[:, 1], c=iris.target)

Out[6]:

  1. <matplotlib.collections.PathCollection at 0x107502b90>

3.5.4 使用主成分分析的降维 - 图3

PCA并不仅仅在高纬度数据集的可视化上有用。它也可以用于帮助加速对高维不太高效的有监督方法的预处理步骤。