多语言展示
当前在线:260今日阅读:152今日分享:13

如何利用Python进行主成分分析?

当数据维度很多的时候,利用主成分分析可以达到降维的目的。而python可以很简单地完成这个工作。
工具/原料
1

python

2

sklearn

3

数据集

方法/步骤
1

本文以sklearn中的wine数据集为例来说明主成分分析。首先下载数据集。from sklearn import datasetswine=datasets.load_wine()X=wine.datay=wine.targettarget_names=wine.target_names

2

从机器学习包中导入主成分分析函数。from sklearn.decomposition import PCA

3

建立主成分,这里设主成分个数为2个,即n_components=2,其他参数为默认值。pca = PCA(n_components=2)

4

训练模型,并得到主成分变量。X_p= pca.fit(X).transform(X)print(X.shape)#原始变量维度print(X_p.shape)#主成分变量的维度由结果可知,原来的13维变量,现在降到了二维变量。

5

获取每个主成分的贡献度。print('各主成分贡献度:{}'.format(pca.explained_variance_ratio_))可以看到第一个主成分贡献度已经很高。

6

当多维变量降维后,就可以在二维坐标绘制出散点图了。plt.figure()plt.scatter(X_p[:, 0], X_p[:, 1], c=y,alpha=.8,label=target_names)plt.legend()plt.title('PCA of Wine')

推荐信息