数据挖掘-K-近邻分类器-Iris数据集分析-PCA降维处理后显示分类情况(三)

# 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()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhangyingchengqi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值