使用PCA方法對高維的鳶尾花數據(4維3類樣本)進行降維分類,部分鳶尾花數據集如下:

#coding=utf-8 import matplotlib.pyplot as plt from sklearn.decomposition import PCA from sklearn.datasets import load_iris data = load_iris()#以字典形式加載鳶尾花數據集 y = data.target #使用y表示數據集中的標簽 x = data.data #使用x表示數據集中的屬性數據 #使用PCA 算法,設置降維后主成分數目為 2 #print(x,'\n', y) pca = PCA(n_components=2) #對原始數據進行降維,保存在 reduced_X 中 reduced_X = pca.fit_transform(x) red_x, red_y = [], [] blue_x, blue_y = [], [] green_x, green_y = [], [] for i in range(len(reduced_X)): #標簽為0時,2維標簽數據保存到列表red_x,red_y中 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()
結果如下:

