数据挖掘-K-近邻分类器-Iris数据集分析-PCA降维处理后显示分类情况(三)
# coding: utf-8#使用PCA(principal component analysis主成分分析法)减少系统的维数( 因为以上四个测量数据减少到三个后,就可以使用3D散点图更好的描述)#PCA可以保留足以描述各数据点特征的信息,其中新生成的各维叫主成分.#scikit-learn库中的fit_transform()函数就是用来降维处理的.#PCA对象简介 :http:
·
# coding: utf-8
#使用PCA(principal component analysis主成分分析法)减少系统的维数( 因为以上四个测量数据减少到三个后,就可以使用3D散点图更好的描述)
#PCA可以保留足以描述各数据点特征的信息,其中新生成的各维叫主成分.
#scikit-learn库中的fit_transform()函数就是用来降维处理的.
#PCA对象简介 : http://blog.csdn.net/u012102306/article/details/52294726
import matplotlib.pyplot as plt
#3D散点图
from mpl_toolkits.mplot3d import Axes3D
#数据集
from sklearn import datasets
#PCA对象
from sklearn.decomposition import PCA
#中文显示
import matplotlib.font_manager as fm
#mac中的字体问题请看: https://zhidao.baidu.com/question/161361596.html
myfont = fm.FontProperties(fname='/Library/Fonts/Xingkai.ttc')
#加载数据
iris=datasets.load_iris()
#取出花的种类
species=iris.target
#执行PCA降维处理
x_reduced=PCA(n_components=3).fit_transform(iris.data)
#绘制3D散点图
fig=plt.figure()
ax=Axes3D(fig)
ax.set_title(u"PCA降维后的数据",size=14,fontproperties=myfont)
ax.scatter(x_reduced[:,0],x_reduced[:,1],x_reduced[:,2],c=species)
ax.set_xlabel(u"第一特征向量",fontproperties=myfont)
ax.set_ylabel(u"第二特征向量",fontproperties=myfont)
ax.set_zlabel(u"第三特征向量",fontproperties=myfont)
ax.w_xaxis.set_ticklabels(())
ax.w_yaxis.set_ticklabels(())
ax.w_zaxis.set_ticklabels(())
#将图表保存为png图片, 注意这句话必须在plot()之后,否则将得到一个空白图片
plt.savefig('python_8_3_鸢尾花分类预测_PCA降维后显示.png')
plt.show()
推荐内容
更多推荐
所有评论(0)