实验三-K-均值聚类算法实验报告

上传人:我*** 文档编号:132127323 上传时间:2020-05-12 格式:DOC 页数:4 大小:22KB
返回 下载 相关 举报
实验三-K-均值聚类算法实验报告_第1页
第1页 / 共4页
实验三-K-均值聚类算法实验报告_第2页
第2页 / 共4页
实验三-K-均值聚类算法实验报告_第3页
第3页 / 共4页
实验三-K-均值聚类算法实验报告_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《实验三-K-均值聚类算法实验报告》由会员分享,可在线阅读,更多相关《实验三-K-均值聚类算法实验报告(4页珍藏版)》请在金锄头文库上搜索。

1、 模式识别实验报告实验三 K-Means聚类算法 一、 实验目的 1) 加深对非监督学习的理解和认识 2) 掌握动态聚类方法K-Means 算法的设计方法 二、 实验环境 1) 具有相关编程软件的PC机 三、 实验原理 1) 非监督学习的理论基础 2) 动态聚类分析的思想和理论依据 3) 聚类算法的评价指标四、算法思想K-均值算法的主要思想是先在需要分类的数据中寻找K组数据作为初始聚类中心,然后计算其他数据距离这三个聚类中心的距离,将数据归入与其距离最近的聚类中心,之后再对这K个聚类的数据计算均值,作为新的聚类中心,继续以上步骤,直到新的聚类中心与上一次的聚类中心值相等时结束算法。实验代码fu

2、nction km(k,A)%函数名里不要出现“-”warning offn,p=size(A);%输入数据有n个样本,p个属性cid=ones(k,p+1);%聚类中心组成k行p列的矩阵,k表示第几类,p是属性%A(:,p+1)=100;A(:,p+1)=0;for i=1:k %cid(i,:)=A(i,:); %直接取前三个元祖作为聚类中心 m=i*floor(n/k)-floor(rand(1,1)*(n/k) cid(i,:)=A(m,:); cid;endAsum=0;Csum2=NaN;flags=1;times=1;while flags flags=0; times=time

3、s+1; %计算每个向量到聚类中心的欧氏距离 for i=1:n for j=1:k dist(i,j)=sqrt(sum(A(i,:)-cid(j,:).2);%欧氏距离 end %A(i,p+1)=min(dist(i,:);%与中心的最小距离 x,y=find(dist(i,:)=min(dist(i,:); c,d=size(find(y=A(i,p+1); if c=0 %说明聚类中心变了 flags=flags+1; A(i,p+1)=y(1,1); else continue; end end i flags for j=1:k Asum=0; r,c=find(A(:,p+1)

4、=j); cid(j,:)=mean(A(r,:),1); for m=1:length(r) Asum=Asum+sqrt(sum(A(r(m),:)-cid(j,:).2); end Csum(1,j)=Asum; end sum(Csum(1,:) %if sum(Csum(1,:)Csum2 % break; %end Csum2=sum(Csum(1,:); Csum; cid; %得到新的聚类中心 endtimesdisplay(A矩阵,最后一列是所属类别);Afor j=1:k a,b=size(find(A(:,p+1)=j); numK(j)=a;endnumKtimesxl

5、swrite(data.xls,A); 五、算法流程图开 始读入要分类的数据设置初始聚类中心计算数据到K个聚类中心的距离将数据分入与其距离最小的聚类计算新的聚类中心聚类中心是否收敛?否输出K个分类好的聚类结 束是六、实验结果Kmeans6 iterations, total sum of distances = 204.82110 iterations, total sum of distances = 205.88616 iterations, total sum of distances = 204.8219 iterations, total sum of distances = 205

6、.886.9 iterations, total sum of distances = 205.8868 iterations, total sum of distances = 204.8218 iterations, total sum of distances = 204.82114 iterations, total sum of distances = 205.88614 iterations, total sum of distances = 205.8866 iterations, total sum of distances = 204.821Ctrs =1.0754 -1.06321.0482 1.3902-1.1442 -1.1121SumD =64.9329七、实验心得初始的聚类中心的不同,对聚类结果没有很大的影响,而对迭代次数有显著的影响。数据的输入顺序不同,同样影响迭代次数,而对聚类结果没有太大的影响。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号