3.5.4 使用主成分分析的降维
上面观察展开的云点在一个方向非常平坦,因此,一个特征几乎可以准确用另两个特征来计算。PCA找到数据并不平坦的方向,并且可以通过投影到一个子空间中来减少维度。
警告: 根据你的scikit-learn版本,PCA将在模块decomposition
或pca
中。
In [3]:
from sklearn import decomposition
pca = decomposition.PCA(n_components=2)
pca.fit(iris.data)
Out[3]:
PCA(copy=True, n_components=2, whiten=False)
In [4]:
X = pca.transform(iris.data)
现在我们可视化(转换的)鸢尾花数据集:
In [6]:
import pylab as pl
pl.scatter(X[:, 0], X[:, 1], c=iris.target)
Out[6]:
<matplotlib.collections.PathCollection at 0x107502b90>
PCA并不仅仅在高纬度数据集的可视化上有用。它也可以用于帮助加速对高维不太高效的有监督方法的预处理步骤。