l = %每個變數代表的意思,後面的散點圖會用到
x=zscore(v) %資料標準化
[coef,score,eig,t]=princomp(x); %matlab自帶的princomp函式進行主成分分析
s=0;
i=1;
while s/sum(eig)<0.95
s=s+eig(i);
i=i+1;
end %獲得累積貢獻率達到0.95的矩陣。
new=x*coef(:,1:i-1)
figure
pareto(eig/sum(eig));
figure(2);
plot(eig,'r+');
hold on
plot(eig,'b-');
a = coef(:,1);
b = coef(:,2);
figure(3);
scatter3(a,b,c,'k'); %主成分1,2,3的三維散點圖
for i = 1:11
text(a(i)+0.05,b(i)+0.05,c(i)+0.05,l); %散點圖的點與標籤的位置設定
endxlabel('pc1');
ylabel('pc2');
zlabel('pc3')
**如上所示,另附上本人學習過程中對於主成分分析的筆記
1.輸入矩陣v為m*n的矩陣,m是樣本數,n是維度。
2.coef
矩陣中每一列代表乙個主成分的係數,第一列是第一主成分,每一列的每一行代表維度(變數例如大小、尺寸、面積等)的係數。
3.最後的散點圖可用coef矩陣中前2列,表排名前2的成分,以第一主成分的每一行為x座標,第二主成分的每一行為y座標,畫散點圖
參考文獻:林海明, 張文霖. 主成分分析與因子分析的異同和spss軟體——兼與劉玉玫、盧紋岱等同志商榷[j]. 統計研究, 2005(03):65-69.
主成分分析 降維
import pandas as pd 引數初始化 inputfile data principal component.xls outputfile tmp dimention reducted.xls 降維後的資料 data pd.read excel inputfile,header none...
PCA主成分分析(降維)
opencv中使用 實現降維分類預處理 參考 降維 我的理解是,通過降維得到基本特徵可以加快學習演算法。並且由於降維後的資料本身就是正交的,和聚類一樣可以實現分類 識別問題。在自我學習中也可以採用大量無標註的影象,對這些影象降維分類,並結合部分編碼資料得到特徵。例如 將很2500張人臉資訊,通過25...
降維 PCA 主成分分析
其實早該整理一下pca了,怎奈一直沒有時間,可能是自己對時間沒有把握好吧,下面進入正題。所謂降維,就是降低資料的維數。在機器學習中尤其常見,之前做過對一幅提取小波特徵,對於一幅大小為800 600的,如果每個點提取五個尺度 八個方向的特徵,那麼每乙個畫素點提取40個特徵,那麼一副的話就是40 800...