資源簡介
k均值聚類算法(k-means clustering algorithm)是一種迭代求解的聚類分析算法,其步驟是隨機選取K個對象作為初始的聚類中心,然后計算每個對象與各個種子聚類中心之間的距離,把每個對象分配給距離它最近的聚類中心。聚類中心以及分配給它們的對象就代表一個聚類。每分配一個樣本,聚類的聚類中心會根據聚類中現有的對象被重新計算。這個過程將不斷重復直到滿足某個終止條件。終止條件可以是沒有(或最小數目)對象被重新分配給不同的聚類,沒有(或最小數目)聚類中心再發生變化,誤差平方和局部最小。此資源實現了隨機賦值,并且在此分類的結果。

代碼片段和文件信息
k=10;
mu1=[kk];%數學期望
mu2=[-k-k];%數學期望
mu3=[-kk];%數學期望
mu4=[k-k];%數學期望
sigma=[1?0;0?1];%協方差矩陣
N=2000;
p1=mvnrnd(mu1sigma0.25*N);%生成第一象限樣本
p2=mvnrnd(mu2sigma0.25*N);%生成第三象限樣本
p3=mvnrnd(mu3sigma0.25*N);%生成第二象限樣本
p4=mvnrnd(mu4sigma0.25*N);%生成第四象限樣本
plot(p1(:1)p1(:2)‘b*‘);hold?on;
plot(p2(:1)p2(:2)‘b*‘);hold?on;
plot(p3(:1)p3(:2)‘r*‘);hold?on;
plot(p4(:1)p4(:2)‘r*‘);grid?on;
fid=fopen(‘data.txt‘‘wt‘);%寫入文件路徑
%fprintf(fid‘%4.5f\n‘N);
[mn]=size(p1);???????????????????%獲取矩陣的大小,p為要輸出的矩陣
%fprintf(fid‘first\n‘1);
for?i=1:1:m
%?????if?mod(i100)==0
%?????????fprintf(fid‘water?levle?since?%d?hours\n‘i/100-1);
%?????end
????for?j=1:1:n
????????if?j==n????????????????????%如果一行的個數達到n個則換行,否則空格
????????????fprintf(fid‘%4.5f\n‘p1(ij));
????????else
????????????fprintf(fid‘%4.5f\t‘p1(ij));
????????end
????end
end
[mn]=size(p2);???????????????????%獲取矩陣的大小,p為要輸出的矩陣
%fprintf(fid‘second\n‘1);
for?i=1:1:m
%?????if?mod(i100)==0
%?????????fprintf(fid‘water?levle?since?%d?hours\n‘i/100-1);
%?????end
????for?j=1:1:n
????????if?j==n????????????????????%如果一行的個數達到n個則換行,否則空格
????????????fprintf(fid‘%4.5f\n‘p2(ij));
????????else
????????????fprintf(fid‘%4.5f\t‘p2(ij));
????????end
????end
end
[mn]=size(p3);???????????????????%獲取矩陣的大小,p為要輸出的矩陣
%fprintf(fid‘third\n‘1);
for?i=1:1:m
%?????if?mod(i100)==0
%?????????fprintf(fid‘water?levle?since?%d?hours\n‘i/100-1);
%?????end
????for?j=1:1:n
????????if?j==n????????????????????%如果一行的個數達到n個則換行,否則空格
????????????fprintf(fid‘%4.5f\n‘p3(ij));
????????else
????????????fprintf(fid‘%4.5f\t‘p3(ij));
????????end
????end
end
[mn]=size(p4);???????????????????%獲取矩陣的大小,p為要輸出的矩陣
%fprintf(fid‘forth\n‘1);
for?i=1:1:m
%?????if?mod(i100)==0
%?????????fprintf(fid‘water?levle?since?%d?hours\n‘i/100-1);
%?????end
????for?j=1:1:n
????????if?j==n????????????????????%如果一行的個數達到n個則換行,否則空格
????????????fprintf(fid‘%4.5f\n‘p4(ij));
????????else
????????????fprintf(fid‘%4.5f\t‘p4(ij));
????????end
????end
end
fclose(fid);?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????8365??2011-11-22?12:51??K_means隨機賦初值\EM.CPP
?????文件???????2289??2011-11-22?12:47??K_means隨機賦初值\generate.m
?????目錄??????????0??2019-06-18?09:26??K_means隨機賦初值
-----------?---------??----------?-----??----
????????????????10654????????????????????3
- 上一篇:應用多元統計聚類分析
- 下一篇:學生信息管理系統開題報告
評論
共有 條評論