模糊c均值聚类+FCM算法的MATLAB代码(10页).doc
《模糊c均值聚类+FCM算法的MATLAB代码(10页).doc》由会员分享,可在线阅读,更多相关《模糊c均值聚类+FCM算法的MATLAB代码(10页).doc(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-模糊c均值聚类+FCM算法的MATLAB代码-第 10 页模糊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
2、,epsm)% 输入:% Data: NS 型矩阵,聚类的原始数据,即一组有限的观测样本集,% Data 的每一行为一个观测样本的特征矢量,S 为特征矢量% 的维数,N 为样本点的个数% C: 聚类数,1CN% plotflag: 聚类结果 2D/3D 绘图标记,0 表示不绘图,为缺省值 % M: 加权指数,缺省值为 2% e% 输出:% U: CN 型矩阵,FCM 的划分矩阵% P: CS 型矩阵,FCM 的聚类中心,每一行对应一个聚类原型% Dist: CN 型矩阵,FCM 各聚类中心到各样本点的距离,聚类中% 心 i 到样本点 j 的距离为 Dist(i,j)% Cluster_Res:
3、 聚类结果,共 C 行,每一行对应一类% Obj_Fcn: 目标函数值% iter: FCM 算法迭代次数% See also: fuzzydist maxrowf fcmplotif nargin5 epsm=1.0e-6; endif nargin4 M=2;endif nargin4 | 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
4、(v)=v; endend% 绘图if plotflag fcmplot(Data,U,P,Obj_Fcn);endm文件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)% P0: 初始聚类中心% 输出: U,P,Dist,Cluster_Res,Obj_Fcn,iter: 见 fuz
5、zycm.m % See also: fuzzycmif nargin5 epsm=1.0e-6; endif nargin4 M=2;endif 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; endend% 绘图if plotflag fcmplot(Data,U,P,Obj_Fcn);endm文件3/7
6、:function fcmplot(Data,U,P,Obj_Fcn)% FCM 结果绘图函数% See also: fuzzycm maxrowf ellipseC,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)-m
7、in(v(:,2), . max(v(:,1)+min(v(:,1), . max(v(:,2)+min(v(:,2)/2, . r:,(max(v(:,3)+min(v(:,3)/2) end grid on,title(3D 聚类结果图,fontsize,8),hold offendm文件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 = ma
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模糊 均值 FCM 算法 MATLAB 代码 10
限制150内