用PCA對鳶尾花數據集降維並可視化


上篇博客中,我們介紹了並用代碼實現了PCA算法,本篇博客我們應用PCA算法對鳶尾花數據集降維,並可視化。

鳶尾花數據集簡介

代碼實現

代碼來自MOOC網的《Python機器學習應用》課程

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 = PCA(n_components=2)          # 加載PCA算法,設置降維后主成分數目為2
reduced_X = pca.fit_transform(X)   # 對原始數據進行降維,保存在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()

運行結果:

 

參考資料

[1] 鳶尾花數據集


免責聲明!

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



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