首頁  >  文章  >  後端開發  >  Python中的主成分分析實例

Python中的主成分分析實例

王林
王林原創
2023-06-10 08:19:53957瀏覽

Python中的主成分分析實例

主成分分析(Principal Component Analysis,PCA)是一種常用於資料降維的方法,可以將高維度資料降維至低維度,保留盡可能多的數據變異資訊。 Python提供了許多實作PCA的函式庫和工具,本文就透過一個實例來介紹如何使用Python中的sklearn函式庫實作PCA。

首先,我們需要準備一個資料集。本文將使用Iris資料集,該資料集包含150個樣本數據,每個樣本都有4個特徵值(花萼的長度和寬度、花瓣的長度和寬度),以及一個標籤(鳶尾花的類型)。我們的目標是將這4個特徵進行降維,找到最重要的主成分。

首先,我們需要導入必要的函式庫和資料集。

from sklearn.datasets import load_iris
from sklearn.decomposition import PCA
import matplotlib.pyplot as plt

iris = load_iris()
X = iris.data
y = iris.target

現在我們可以建立一個PCA物件並應用它。

pca = PCA(n_components=2)
X_pca = pca.fit_transform(X)

這裡的PCA物件設定n_components=2,表示我們只想在二維平面上展示我們處理後的資料。我們將fit_transform應用於原始資料X,取得處理後的資料集X_pca。

現在我們可以繪製結果圖。

plt.scatter(X_pca[:, 0], X_pca[:, 1], c=y)
plt.xlabel('Component 1')
plt.ylabel('Component 2')
plt.show()

在這個圖中,我們可以看到Iris資料集在降維後的二維空間中的分佈。每個點都表示一個鳶尾花的樣本,顏色表示鳶尾花的類型。

現在讓我們來看看主成分應該是什麼。

print(pca.components_)

這會輸出兩個向量,分別稱為「成分1」和「成分2」。

[[ 0.36158968 -0.08226889 0.85657211 0.35884393]
[-0.65653988 -0.72971237 0.1757674 0.1757674 0.07]。換句話說,我們可以將主成分看作是用於線性組合原始特徵的向量。結果中的每個向量都是單位向量。

我們也可以查看每個成分解釋的資料變異量。

print(pca.explained_variance_ratio_)

這個輸出會顯示每個成分解釋的資料變異量的比例。

[0.92461621 0.05301557]

我們可以看到,這兩個成分總共解釋了資料中94%的變異量。這意味著我們可以非常準確地捕捉數據的特徵。

有一件事要注意,PCA會將所有特徵從原始資料中刪除。因此,如果我們需要保留某些特徵,我們需要在應用PCA之前手動刪除它們。

這就是如何使用Python中的sklearn函式庫實作PCA的實例。 PCA可應用於所有類型的數據,幫助我們從高維度數據中發現最重要的成分。如果您可以理解本文中的程式碼,你也就會有能力在您自己的資料集上應用PCA了。

以上是Python中的主成分分析實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn