利用PCA降維對鳶尾花數據進行分類


使用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()
View Code

結果如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM