有关本篇文章的课件大家可以参考这个链接:https://www.icourse163.org/learn/BIT-1001872001?tid=1001965001#/learn/content?type=detail&id=1002854140&cid=1003246093,数据集和slide的获取可以查看本专辑case 0中的相应链接。
下面简单地介绍一下代码
首先是调用相应地包:
import matplotlib.pyplot as plt
from sklearn.decomposition import PCA
from sklearn.datasets import load_iris
导入鸢尾花数据集,如果好奇数据的形式,可以尝试输出:
data=load_iris()#导入数据
#print(data)
初始化模型:
pca=PCA(n_components=2)#初始化主成分分析模型,最终结果有两个主成分
使用模型进行降维,如果你好奇降维的结果可以尝试输出:
reduced_X=pca.fit_transform(X)#对X进行降维
#print(reduced_X)
将降维的结果按照所属类别的不同分成三类:
red_x,red_y=[],[]
blue_x,blue_y=[],[]
green_x,green_y=[],[]
for i in range(len(reduced_X)):#将数据根据类别存储
if y[i]==0:
red_x.append(reduced_X[i][0])
red_y.append(reduced_X[i][1])
elif y[i]==1:
blue_x.append(reduced_X[i][0])
blue_y.append(reduced_X[i][1])
else:
green_x.append(reduced_X[i][0])
green_y.append(reduced_X[i][1])
将分类后的数据做成散点图,不同类别使用不同的标记:
plt.scatter(red_x,red_y,c='r',marker='x')
plt.scatter(blue_x,blue_y,c='b',marker='D')
plt.scatter(green_x,green_y,c='g',marker='.')
plt.show()#展示数据图像
以上就是这个case的全部内容,代码可以复制以后直接运行。