資源簡介
將給定數據進行降維后,利用K-means進行聚類
代碼片段和文件信息
clc
clear?all
fid=fopen(‘data.txt‘‘r‘);
X=fscanf(fid‘%g‘[4?150]);
[m?n]=size(X);
X=X‘;
an=fclose(fid);
fprintf(‘標準樣本變換法標準化的(std):\n‘)
std=zscore(X)
fprintf(‘計算相關系數矩陣(st):\n‘)
st=corrcoef(std)
fprintf(‘特征向量(vec)及特征值(val):\n‘)
[vecval]=eig(st)
newval=diag(val);
[yi]=sort(newval);??????%對特征根進行排序,y為排序結果,i為索引
fprintf(‘特征根排序:\n\n‘)
for?z=1:length(y)
????newy(z)=y(length(y)+1-z);
end
fprintf(‘%g\n‘newy)
rate=y/sum(y);%【計算貢獻率】
fprintf(‘\n貢獻率:\n‘)
newrate=(newy/sum(newy))%
sumrate=0;
newi=[];
for?k=length(y):-1:1
????sumrate=sumrate+rate(k);
????newi(length(y)+1-k)=i(k);
????if?sumrate>0.85?break;?%【85%在這里改動】
????end??
end????????
fprintf(‘主成分數:%g\n\n‘length(newi));%【newi里放的是主成分】
fprintf(‘主成分荷載:\n‘)
for?p=1:length(newi)
????for?q=1:length(y)
????????result(
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????4348??2015-12-07?18:12??data.txt
?????文件???????1326??2015-12-08?22:07??pca.m
-----------?---------??----------?-----??----
?????????????????5674????????????????????2
評論
共有 條評論