一、方法
主成分分析也成主分量分析,利用降維的思想,將多個指標特徵轉化為少數的幾個綜合指標特徵。是一種線性變化來簡化資料集的技術。在減少維數的同時還盡可能多的保留資料集的特徵。
作用在於: 降低維數,弄清變數間關係,在低維可以圖形化,構造回歸模型以及篩選回歸變數等
二、步驟
1.對原始資料標準化 xi=(xi-平均值xi)/si
2.計算標準化後的相關係數矩陣r
3.計算r的特徵值和特徵向量
4.計算貢獻率和累計貢獻率以及主成分載荷 lij=sqrt(lambai)eij,其中ei是對應特徵值lambdai的特徵向量,eij為ei的第j個分量
三、實驗
資料 data.txt
148 41 72 78
139 34 71 76
160 49 77 86
149 36 67 79
159 45 80 86
142 31 66 76
153 43 76 83
150 43 77 79
151 42 77 80
139 31 68 74
140 29 64 74
161 47 78 84
158 49 78 83
140 33 67 77
137 31 66 73
152 35 73 79
149 47 82 79
145 35 70 77
160 47 74 87
156 44 78 85
151 42 73 82
147 38 73 78
157 39 68 80
147 30 65 75
157 48 80 88
151 36 74 80
144 36 68 76
141 30 67 76
139 32 68 73
148 38 70 78
print.m
%pca 主成分分析結果表
function print(x)
z=zscore(x);%進行標準化 (x-平均x/s)
r=corrcoef(z);%對標準化後的矩陣求相關係數矩陣r,這裡使用cov也是可以的,和結果相差無幾,cov的時候可以不對x進行標準化
[v,d]=eig(r); %對相關係數矩陣r求特徵值和特徵向量分別為d和v
cols=size(x,2);%獲取特徵的個數
characters=zeros(1,cols);%將特徵值儲存在characters中
for i=1:cols
characters(i)=d(i,i);
end[sortedcharacters,label]=sort(characters,'descend'); %逆序排序,並記下結果和索引
fprintf(' eigenvalue of the correlation matrix \n');
fprintf(' eigenvalue difference proportion cumulative \n');
total=0;
for i=1:cols
fprintf([' z' num2str(i)]);
fprintf(' %.4f',sortedcharacters(i));
if i==cols
fprintf(' . ');
else
fprintf(' %.4f',sortedcharacters(i)-sortedcharacters(i+1));
endfprintf(' %.4f',sortedcharacters(i)/sum(sortedcharacters));
total=total+sortedcharacters(i);
fprintf(' %.4f\n',total/sum(sortedcharacters));
endfprintf(' eigenvectors \n');
fprintf(' z1 z2 z3 z4 \n');
for i=1:cols
fprintf([' x' num2str(i)]); %進行字串連線
for j=1:cols
fprintf(' %8.4f ',v(i,label(j))); %格式化輸出
endfprintf('\n');
end
結果
可以看出前兩個特徵累計貢獻率已達到96.36%,因此只需要兩個特徵就可以很好地概括這組資料. 一般取累計貢獻率達85%-95%的特徵值lambda1,lambda2,..lambdam對應的前m個主成分. 當沿著z1的向量方向投影是最好的.
pca主成分分析 PCA主成分分析(中)
矩陣 matrix,很容易讓人們想到那部著名的科幻電影 駭客帝國 事實上,我們又何嘗不是真的生活在matrix中。機器學習處理的大多數資料,都是以 矩陣 形式儲存的。矩陣是向量的組合,而乙個向量代表一組資料,資料又是多維度的。比如每個人的都具有身高 體重 長相 性情等多個維度的資訊資料,而這些多維度...
主成分分析PCA
主要參考這篇文章 個人總結 pca是一種對取樣資料提取主要成分,從而達到降維的目的。相比於上篇文章介紹到的svd降維不同,svd降維是指減少資料的儲存空間,資料的實際資訊沒有缺少。個人感覺pca更類似與svd的去噪的過程。pca求解過程中,涉及到了svd的使用。針對資料集d 假設di 的維度為 w ...
PCA 主成分分析
在進行影象的特徵提取的過程中,提取的特徵維數太多經常會導致特徵匹配時過於複雜,消耗系統資源,不得不採用特徵降維的方法。所謂特徵降維,即採用乙個低緯度的特徵來表示高緯度。將高緯度的特徵經過某個函式對映至低緯度作為新的特徵。pca和lda區別 pca是從特徵的角度協方差角度 求出協方差矩陣的特徵值和特徵...