主成分分析PCA在matlab中實現的展示

2021-10-06 16:17:45 字數 1319 閱讀 9613

by:yang liu

a=[1,2,3,4,5,6,7,8,9,10;1.2,2.5,3.6,98,65,5,6,4,5,4;88,99,66,55,

44,11,22,33,66,55;7,8,96,5,4,5,6,5,4,556;1,2,5,4,8,96,3,2,1,1]——輸入所要分析的資料,其中行向量表示一組資料,列向量表示的是一種特徵。

運算結果:

b=zscore(a)——通過zscore函式對矩陣a進行標準化,新資料=(原資料-均值)/標準差。

運算結果:

c=cov(b)——通過cov函式求解b的協方差矩陣c,c等於b的轉置矩陣和b自身相乘。

運算結果:

[d,e]=eig(c)——通過eig矩陣計算協方差矩陣的特徵向量和特徵值。

運算結果:

d=fliplr(d)——把特徵向量,根據對應特徵值的大小,從大到小排列,由於eig函式計算出的特徵向量一定為根據特徵值,從小到大排序的,所以此處使用fliplr函式對矩陣進行左右反轉。

運算結果:

f=diag(e)——提取特徵值。

l=sort(h,『descend』)——對特徵值進行從大到小排序。

m=0

n=0o=sum(l)

while m/o<0.85

n=n+1

m=m+l(n)

end——計算出累計貢獻大於85%的主成分。

new=b*d(:,1:n)——引用陣列公式,「:」表示引用所有行,「1:n」表示引用1-n列,此**含義,就是把1-n列的所有資料賦予給新的矩陣。

最終運算結果:

參考文獻:

Matlab 主成分分析(PCA)

是一種資料降維方法。保留具有代表性的主成分,捨棄比重較小的成分。演算法步驟 matlab 實現 clear all close all clc load data.mat m,n size x step1 預處理資料。均值標準化 零均值 特徵縮放 x x repmat mean x 50,1 s s...

pca主成分分析 PCA主成分分析(中)

矩陣 matrix,很容易讓人們想到那部著名的科幻電影 駭客帝國 事實上,我們又何嘗不是真的生活在matrix中。機器學習處理的大多數資料,都是以 矩陣 形式儲存的。矩陣是向量的組合,而乙個向量代表一組資料,資料又是多維度的。比如每個人的都具有身高 體重 長相 性情等多個維度的資訊資料,而這些多維度...

MATLAB實現主成分分析 PCA

function ds,com num,pv,new score,new score s pca dr a,t pca dr 主成分降維及分析函式 輸入變數 a 原始資料 未標準化處理 t 設定累積貢獻率的閾值 輸出變數 ds 特徵值及貢獻率 com num 閾值t對應的主成分數 pv 閾值t對應的...