在这次的笔记中我们用scikit-learn中的PCA来用代码实践一下:
from sklearn.decomposition import PCA
pca = PCA(n_components=1)
pca.fit(X)
pca.components_
X_reduction = pca.transform(X)
代码很简单,设置好n_components的个数,fit之后就可以transform样本集了。
这里面的pca还可以显示出n个维度的方差信息:
pca.explained_variance_ratio_
我们可以通过这个结果看出转化为n维后丢失了百分之多少的方差信息,并且来决定取几个维度的方差比较合适。
但其实scikit-learn中封装了更加高级的功能,直接设置一个百分比,不用设置维度的个数就可以了。
比如设置0.95表示我们保留0.95的信息:
pca = PCA(0.95)