模糊c均值聚类+FCM算法的MATLAB代码

上传人:飞*** 文档编号:47868050 上传时间:2018-07-05 格式:PDF 页数:9 大小:9.85KB
返回 下载 相关 举报
模糊c均值聚类+FCM算法的MATLAB代码_第1页
第1页 / 共9页
模糊c均值聚类+FCM算法的MATLAB代码_第2页
第2页 / 共9页
模糊c均值聚类+FCM算法的MATLAB代码_第3页
第3页 / 共9页
模糊c均值聚类+FCM算法的MATLAB代码_第4页
第4页 / 共9页
模糊c均值聚类+FCM算法的MATLAB代码_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《模糊c均值聚类+FCM算法的MATLAB代码》由会员分享,可在线阅读,更多相关《模糊c均值聚类+FCM算法的MATLAB代码(9页珍藏版)》请在金锄头文库上搜索。

1、模糊 c 均值聚类FCM 算法的 MATLAB代码我做毕业论文时需要模糊C-均值聚类,找了好长时间才找到这个,分享给大家:FCM 算法的两种迭代形式的MATLAB 代码写于下 ,也许有的同学会用得着: m 文件 1/7: function U,P,Dist,Cluster_Res,Obj_Fcn,iter=fuzzycm(Data,C,plotflag,M,epsm) % 模糊C 均值聚类FCM: 从随机初始化划分矩阵开始迭代% U,P,Dist,Cluster_Res,Obj_Fcn,iter = fuzzycm(Data,C,plotflag,M,epsm) % 输入 : % Data:

2、N S 型矩阵 ,聚类的原始数据,即一组有限的观测样本集, % Data 的每一行为一个观测样本的特征矢量,S 为特征矢量% 的维数 ,N 为样本点的个数% C: 聚类数 ,14 | plotflag Obj_Fcn(iter)=sum(sum(Um.*Dist.2); end % FCM 算法迭代停止条件if norm(U-U0,Inf) 3 res = maxrowf(U); for c = 1:C v = find(res=c); Cluster_Res(c,1:length(v)=v; end end % 绘图if plotflag fcmplot(Data,U,P,Obj_Fcn);

3、 end m 文件 2/7: function U,P,Dist,Cluster_Res,Obj_Fcn,iter=fuzzycm2(Data,P0,plotflag,M,epsm) % 模糊C 均值聚类FCM: 从指定初始聚类中心开始迭代% U,P,Dist,Cluster_Res,Obj_Fcn,iter = fuzzycm2(Data,P0,plotflag,M,epsm) % 输入 : Data,plotflag,M,epsm: 见 fuzzycm.m % P0: 初始聚类中心% 输出 : U,P,Dist,Cluster_Res,Obj_Fcn,iter: 见 fuzzycm.m %

4、 See also: fuzzycm if nargin4 | plotflag Obj_Fcn(iter)=sum(sum(Um.*Dist.2); end % FCM 算法迭代停止条件if norm(P-P0,Inf) 3 res = maxrowf(U); for c = 1:C v = find(res=c); Cluster_Res(c,1:length(v)=v; end end % 绘图if plotflag fcmplot(Data,U,P,Obj_Fcn); end m 文件 3/7: function fcmplot(Data,U,P,Obj_Fcn) % FCM 结果绘图

5、函数% See also: fuzzycm maxrowf ellipse C,S = size(P); res = maxrowf(U); str = po*x+dv2 figure(2),plot3(P(:,1),P(:,2),P(:,3),rs),hold on for i=1:C v=Data(find(res=i),:); plot3(v(:,1),v(:,2),v(:,3),str(rem(i,12)+1) ellipse(max(v(:,1)-min(v(:,1), . max(v(:,2)-min(v(:,2), . max(v(:,1)+min(v(:,1), . max(v

6、(:,2)+min(v(:,2)/2, . r:,(max(v(:,3)+min(v(:,3)/2) end grid on,title(3D 聚类结果图 ,fontsize,8),hold off end m 文件 4/7: function D=fuzzydist(A,B) % 模糊聚类分析 : 样本间的距离% D = fuzzydist(A,B) D=norm(A-B); m 文件 5/7: function mr=maxrowf(U,c) % 求矩阵U 每列第c 大元素所在行 ,c 的缺省值为1 % 调用格式 : mr = maxrowf(U,c) % See also: addr i

7、f nargin4 plot3(x,y,ones(1,360)*c_3d,style) else plot(x,y,style) end m 文件 7/7: function f = addr(a,strsort) % 返回向量升序或降序排列后各分量在原始向量中的索引% 函数调用 :f = addr(a,strsort) % strsort: ascend or descend % default is ascend % - example - % addr( 4 5 1 2 ) returns ans: % 3 4 1 2 if nargin=1 strsort=ascend; end sa

8、=sort(a); ca=a; la=length(a);f(la)=0; for i=1:la f(i)=find(ca=sa(i),1); ca(f(i)=NaN; end if strcmp(strsort,descend) f=fliplr(f); end 几天前我还在这里发帖求助, 可是很幸运在其他地方找到了, 在这里和大家分享 一下!function center, U, obj_fcn = FCMClust(data, cluster_n, options) % FCMClust.m 采用模糊 C均值对数据集 data 聚为 cluster_n类 % % 用法: % 1. cen

9、ter,U,obj_fcn = FCMClust(Data,N_cluster,options); % 2. center,U,obj_fcn = FCMClust(Data,N_cluster); % % 输入: % data - nxm矩阵, 表示 n 个样本, 每个样本具有 m的维特征值 % N_cluster - 标量, 表示聚合中心数目 , 即类别数 % options - 4x1矩阵,其中 % options(1): 隶属度矩阵 U的指数, 1 (缺省值 : 2.0) % options(2): 最大迭代次数 (缺省值 : 100) % options(3): 隶属度最小变化量 ,

10、 迭代终止条件 (缺省值 : 1e-5) % options(4): 每次迭代是否输出信息标志 (缺省值 : 1) % 输出: % center - 聚类中心 % U - 隶属度矩阵 % obj_fcn - 目标函数值 % Example: % data = rand(100,2); % center,U,obj_fcn = FCMClust(data,2); % plot(data(:,1), data(:,2),o); % hold on; % maxU = max(U); % index1 = find(U(1,:) = maxU); % index2 = find(U(2,:) = m

11、axU); % line(data(index1,1),data(index1,2),marker,*,color,g); % line(data(index2,1),data(index2,2),marker,*,color,r); % plot(center(1 2,1),center(1 2,2),*,color,k) % hold off; if nargin = 2 end data_n = size(data, 1); % 求出 data 的第一维 (rows) 数, 即样本个数 in_n = size(data, 2); % 求出 data 的第二维 (columns) 数,即特

12、征值长度 % 默认操作参数 default_options = 2; % 隶属度矩阵 U的指数100; % 最大迭代次数1e-5; % 隶属度最小变化量 , 迭代终止条件1; % 每次迭代是否输出信息标志if nargin = 2, options = default_options; else %分析有 options做参数时候的情况% 如果输入参数个数是二那么就调用默认的option; if length(options) 1, if abs(obj_fcn(i) - obj_fcn(i-1) min_impro, break; end, end end iter_n = i; % 实际迭代次数 obj_fcn(iter_n+1:max_iter) = ;

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

当前位置:首页 > 行业资料 > 其它行业文档

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