生活随笔
收集整理的這篇文章主要介紹了
python-主成分分析-降维-PCA
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
PCA算法及其應用
主成分分析(PCA) 主城成分分析(PCA):常見的降維方法,用于高維數據集的探索與可視化,還可以用作數據壓縮和預處理。?PCA 可以把具有相關性的高維變量合成為線性無關的低維變量,成為主成分,主成分能夠保留原始數據的信息。相關知識及術語 方差:是各個樣本和樣本均值的差的平方和的均值,用來度量一維數據的分散程度。 ? ? ? ? ? ? ? ? ? ? ? ??協方差:用于度量兩個變量之間的線性相關性的程度,若兩變量的協方差為0,則可認為二者線性無關。協方差矩陣:協方差矩陣則是由變量的協方差值構成的矩陣(對稱陣)。特征向量和特征值 ?:描述數據集的非零向量,滿足公式:,,A是方陣,是特征向量,是特征值。PCA原理: 矩陣的主成分就是其協方差矩陣對應的特征向量,按照對應的特征值得大小進行排序,最大的特征值就是第一主成分,其次是第二主成分,依次類推。sklearn庫進行主成分分析,加載sklearn.decomposition.PCA降維,主要參數:
? ? ? ? n_components:指定主成分的個數,即降維后數據的維度。
? ? ? ? svd_solver:設置特征值分解方法,默認auto,可選full,arpack,randomized。鳶尾花數據降維可視化實例
#實例:鳶尾花數據降維可視化
import matplotlib.pyplot as plt
from sklearn.decomposition import PCA
from sklearn.datasets import load_irisdata=load_iris()y=data.target #數據集中的標簽
x=data.data #數據集中的屬性數據pca=PCA(n_components=2) #降維后主成分數目
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)):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='*')plt.scatter(blue_x,blue_y,c='b',marker='o')
plt.scatter(green_x,green_y,c='g',marker='.')
plt.show()
?
總結
以上是生活随笔為你收集整理的python-主成分分析-降维-PCA的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。