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