样本
代码:
import matplotlib.pyplot as plt from sklearn.decomposition import PCA from sklearn.datasets import load_iris #加载鸢尾花数据集导入函数 data = load_iris()#加载数据,array([[5.1 3.5 1.4 0.2].....]) #print(data) y = data.target #各50个 0,1,2 暂不明作用, #print(y) X = data.data #print(X) #把array换成二维列表,数据不变 pca = PCA(n_components=2)#设置降维后主成分数目为2 reduce_X = pca.fit_transform(X) #对袁术数据进行降维[[-2.68412563 0.31939725]....] print(reduce_X) #按类别对降维后的数据进行保存 red_x, red_y = [], [] blue_x, blue_y = [], [] green_x, green_y = [], [] #按照鸢尾花的类别将降维后的数据点保存在不同的列表中 for i in range(len(reduce_X)): if y[i] == 0: red_x.append(reduce_X[i][0]) red_y.append(reduce_X[i][1]) elif y[i] == 1: blue_x.append(reduce_X[i][0]) blue_y.append(reduce_X[i][1]) else: green_x.append(reduce_X[i][0]) green_y.append(reduce_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()
效果图:
原文地址:https://www.cnblogs.com/ymzm204/p/11277218.html
时间: 2024-10-09 19:53:30