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對應的...