資源簡介
myPCA.m
代碼片段和文件信息
function?[PrimeVectorPrimeValueNumKmain_t?PrimeMatrixtE]=myPCA(data?yita);
%?函數功能:主成分分析
%?函數輸入:
%???????data:?原始數據
%???????yita:?需要保留的信息量(0-1)之間的數
%?函數輸出:
%???????PrimeVector:?特征向量
%???????PrimeValue:?特征值
%???????NumK:主成分個數
%???????main_t:主元向量
%???????PrimeMatrix:?主元矩陣
%???????t:主元矩陣
%???????E:殘差矩陣
[mmnn]=size(data);
if?mm ????data=data‘;
????mm=nn;
end
%?求協方差矩陣
R=cov(data);
%?求協方差矩陣的特征值和特征向量
[Tvector?lamda]=eig(R);
[mn]=size(Tvector);
%?對特征值排序
lamda_vector=zeros(n1);
for?i=1:n
????lamda_vector(i)=lamda(ii);?%?把矩陣寫成向量
end
[lamda_sortlamda_index]=sort(lamda_vector‘descend‘);?%?對特征值進行降序排列
%?確定需要保留的主元個數
n=length(lamda_sort);?%?計算特征
評論
共有 條評論