k-means聚类MATLAB的基本代码

  • F8_591108
    了解作者
  • 5.9KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-06-14 08:01
    上传日期
用于k-means聚类的MATLAB代码的编写,实现数据的聚类分析
k均值聚类.zip
  • k均值聚类
  • k-means-1
  • km_demo.m
    768B
  • kmeans.zip
    1.5KB
  • simple_kmeans.m
    1.7KB
  • k-means-2
  • fuzzykmeans.m
    2.3KB
  • fuzzykmeans.rar
    1KB
内容介绍
clear all; n=100; k=5; q=3; x=[0 1000; 0 1000]; cs=5; ps=20; sd=60; X=nngenc(x,cs,ps,sd); %X=fix(1000*rand(2,n));%随机产生n个数作为对象,(X(1,j),X(2,j))为一个对象。 %load X.mat; X1=[1:n]; X=X/1000; meandistance=getmeandistance(X); while(1) Y=randsample(X1,k); %随机产生k个簇中心 int h; h=3;E(1)=-1;E(2)=-2;E(3)=-3; for p=1:k %把初始值放入均值数组Z中 Z(1,p)=X(1,Y(p)); Z(2,p)=X(2,Y(p)); end r=1; for j=1:k for(w=(j+1):k) if(distance(Z(1,j),Z(2,j),Z(1,w),Z(2,w))<(meandistance/2)); r=0; end end end if(r==1) break; end end % Z(1,1)=0.100;Z(1,2)=0.640;Z(1,3)=0.400;Z(1,4)=0.800;Z(1,5)=0.900; % Z(2,1)=0.200;Z(2,2)=0.300;Z(2,3)=0.190;Z(2,4)=0.700;Z(2,5)=1.000; while(1) for j=1:k plot(Z(1,j),Z(2,j),'Marker','o', 'MarkerEdgeColor','k', 'MarkerFaceColor',[1/j,0,1/j],'markersize',10); hold on; axis([-0.1 1.1 -0.1 1.1]);grid on %pause(0.00001); end %plot(X(1,:),X(2,:),'.'); for j=1:n %计算X(i)属于第j簇的隶属度Wij。 for p=1:k D(p)=distance(X(1,j),X(2,j),Z(1,p),Z(2,p)); if(D(p)==0) A(p,j)=1; else A(p,j)=(1/(D(p)^2))^(1/(q-1)); end end s=sum(A(:,j)); for p=1:k A(p,j)=A(p,j)/s; end end double e; e=0; for j=1:n %计算目标函数 for p=1:k d=distance(X(1,j),X(2,j),Z(1,p),Z(2,p)); e=e+(A(p,j)^q)*(d^2); end end double s1;double s2;double s3; for p=1:k %重新计算簇均值Cj s1=0;s2=0;s3=0; for j=1:n s1=s1+(A(p,j)^q)*(X(1,j)); s2=s2+(A(p,j)^q)*(X(2,j)); s3=s3+(A(p,j)^q); end Z(1,p)=s1/s3; Z(2,p)=s2/s3; end E(h)=e; if((E(h)==E(h-1))&(E(h)==E(h-2))) break; end h=h+1; end for j=1:n %for p=1:k [a,v]=max(A(:,j)); plot(X(1,j),X(2,j),'Marker','o', 'MarkerEdgeColor','k', 'MarkerFaceColor',[(100-20*v)/100,0,(20*v)/100]); hold on; % pause(0.0001); end axis([-0.1 1.1 -0.1 1.1]);grid on
评论
    相关推荐
    • 粒子群聚类matlab
      K均值算法:调用模糊聚类库函数kmeans Pso粒子群聚类程序:没有最优解,多次迭代 基于模拟退火的k均值聚类:可以有最优解 基于pso的k均值算法:有最优解,根据适应度判断,适应度越小,分类效果越好
    • 动态聚类MATLAB 代码
      根据矩阵计算聚类中心 并分类,再计算聚类中心,迭代出最终结果
    • 聚类MATLAB程序
      聚类MATLAB程序,希望能够对同行有所帮助!
    • k均值聚类 matlab
      matlab 中 k均值聚类 从其他地方k来得 里面有图 句子有解释
    • Kmeans聚类matlab程序
      用Kmeans聚类方法实现随即点的分类,在二维平面上以均匀分布随机多个点,输入所需聚类数以得到聚类结果。
    • K聚类matlab程序
      方便对于大容量的数据进行聚类压缩,K-means算法目前是比较主流的主流方法,亲测有效,需要的可以下载,有问题的也可以给我留言进行交流。
    • 图像聚类matlab程序
      针对图像聚类,编写的图像聚类matlab的程序,简单易懂。
    • 聚类matlab实现
      聚类,数据集为大家熟悉的TwoMoons,还有SPL的字母字样的数据,用谱聚类实现之后,可以得到较好的结果。
    • 模糊聚类matlab程序
      积分最低,模糊聚类matlab程序,里面有相关系数法聚类,欧几里得法等聚类方法
    • SIM800C_MQTT.rar
      使用SIM800C模块,使用MQTT协议,连接中国移动onenet平台,能实现数据的订阅、发布、存储等