




已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
模糊c均值聚類 FCM算法的MATLAB代碼 我做畢業(yè)論文時(shí)需要模糊C-均值聚類,找了好長時(shí)間才找到這個(gè),分享給大家:FCM算法的兩種迭代形式的MATLAB代碼寫于下,也許有的同學(xué)會用得著:m文件1/7:function U,P,Dist,Cluster_Res,Obj_Fcn,iter=fuzzycm(Data,C,plotflag,M,epsm)% 模糊 C 均值聚類 FCM: 從隨機(jī)初始化劃分矩陣開始迭代% U,P,Dist,Cluster_Res,Obj_Fcn,iter = fuzzycm(Data,C,plotflag,M,epsm)% 輸入:% Data: NS 型矩陣,聚類的原始數(shù)據(jù),即一組有限的觀測樣本集,% Data 的每一行為一個(gè)觀測樣本的特征矢量,S 為特征矢量% 的維數(shù),N 為樣本點(diǎn)的個(gè)數(shù)% C: 聚類數(shù),1CN% plotflag: 聚類結(jié)果 2D/3D 繪圖標(biāo)記,0 表示不繪圖,為缺省值 % M: 加權(quán)指數(shù),缺省值為 2% epsm: FCM 算法的迭代停止閾值,缺省值為 1.0e-6% 輸出:% U: CN 型矩陣,FCM 的劃分矩陣% P: CS 型矩陣,FCM 的聚類中心,每一行對應(yīng)一個(gè)聚類原型% Dist: CN 型矩陣,FCM 各聚類中心到各樣本點(diǎn)的距離,聚類中% 心 i 到樣本點(diǎn) j 的距離為 Dist(i,j)% Cluster_Res: 聚類結(jié)果,共 C 行,每一行對應(yīng)一類% Obj_Fcn: 目標(biāo)函數(shù)值% iter: FCM 算法迭代次數(shù)% 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(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)% 輸入: Data,plotflag,M,epsm: 見 fuzzycm.m% P0: 初始聚類中心% 輸出: U,P,Dist,Cluster_Res,Obj_Fcn,iter: 見 fuzzycm.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:function fcmplot(Data,U,P,Obj_Fcn)% FCM 結(jié)果繪圖函數(shù)% 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)-min(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 聚類結(jié)果圖,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% 調(diào)用格式: mr = maxrowf(U,c)% See also: addrif nargin2 c=1;endN=size(U,2);mr(1,N)=0;for j=1:N aj=addr(U(:,j),descend); mr(j)=aj(c);endm文件6/7:function ellipse(a,b,center,style,c_3d)% 繪制一個(gè)橢圓% 調(diào)用: ellipse(a,b,center,style,c_3d)% 輸入:% a: 橢圓的軸長(平行于 x 軸)% b: 橢圓的軸長(平行于 y 軸)% center: 橢圓的中心 x0,y0,缺省值為 0,0% style: 繪制的線型和顏色,缺省值為實(shí)線藍(lán)色% c_3d: 橢圓的中心在 3D 空間中的 z 軸坐標(biāo),可缺省if nargin4 style=b;endif nargin4 plot3(x,y,ones(1,360)*c_3d,style)else plot(x,y,style)endm文件7/7:function f = addr(a,strsort)% 返回向量升序或降序排列后各分量在原始向量中的索引% 函數(shù)調(diào)用: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;endsa=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;endif strcmp(strsort,descend) f=fliplr(f);end幾天前我還在這里發(fā)帖求助,可是很幸運(yùn)在其他地方找到了,在這里和大家分享一下!function center, U, obj_fcn = FCMClust(data, cluster_n, options) % FCMClust.m 采用模糊C均值對數(shù)據(jù)集data聚為cluster_n類% % 用法: % 1.center,U,obj_fcn = FCMClust(Data,N_cluster,options); % 2.center,U,obj_fcn = FCMClust(Data,N_cluster); % % 輸入: % data - nxm矩陣,表示n個(gè)樣本,每個(gè)樣本具有m的維特征值 % N_cluster - 標(biāo)量,表示聚合中心數(shù)目,即類別數(shù) % options - 4x1矩陣,其中 % options(1):隸屬度矩陣U的指數(shù),1 (缺省值: 2.0) % options(2):最大迭代次數(shù) (缺省值: 100) % options(3):隸屬度最小變化量,迭代終止條件 (缺省值: 1e-5) % options(4):每次迭代是否輸出信息標(biāo)志 (缺省值: 1) % 輸出: % center - 聚類中心 % U - 隸屬度矩陣 % obj_fcn - 目標(biāo)函數(shù)值 % 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,:) = maxU); % 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 & nargin = 3, %判斷輸入?yún)?shù)個(gè)數(shù)只能是2個(gè)或3個(gè) error(Too many or too few input arguments!); end data_n = size(data, 1); % 求出data的第一維(rows)數(shù),即樣本個(gè)數(shù) in_n = size(data, 2); % 求出data的第二維(columns)數(shù),即特征值長度 % 默認(rèn)操作參數(shù) default_options = 2; % 隸屬度矩陣U的指數(shù) 100; % 最大迭代次數(shù) 1e-5; % 隸屬度最小變化量,迭代終止條件 1; % 每次迭代是否輸出信息標(biāo)志if nargin = 2, options = default_options; else %分析有options做參數(shù)時(shí)候的情況 % 如果輸入?yún)?shù)個(gè)數(shù)是二那么就調(diào)用默認(rèn)的option; if length(options) 4, %如果用戶給的opition數(shù)少于4個(gè)那么其他用默認(rèn)值; tmp = default_options; tmp(1:length(options) = options; options = tmp; end % 返回options中是數(shù)的值為0(如NaN),不是數(shù)時(shí)為1 nan_index = find(isnan(options
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 短期租房合同模板
- 電子商務(wù)協(xié)議書范文二零二五年
- 公廁結(jié)賬合同標(biāo)準(zhǔn)文本
- 二零二五版房地產(chǎn)代理銷售的合同范例
- 蓄電池爆炸事故應(yīng)急救援預(yù)案
- 設(shè)計(jì)定金協(xié)議范本
- 2025年地震數(shù)據(jù)采集系統(tǒng)合作協(xié)議書
- 人事中介合同正式合同范例
- 買樹林合同樣本
- 2024年蘇教版三年級下冊數(shù)學(xué)全冊教案及教學(xué)反思
- GB/T 13452.2-2008色漆和清漆漆膜厚度的測定
- 2023年中國工商銀行天津分行校園招聘考試錄用公告
- 班組工程量結(jié)算書
- 生產(chǎn)件批準(zhǔn)申請書
- 環(huán)境監(jiān)測考試知識點(diǎn)總結(jié)
- 爵士音樂 完整版課件
- 嘉興華雯化工 - 201604
- 冀教版七年級下冊數(shù)學(xué)課件 第8章 8.2.1 冪的乘方
- XX公司“十四五”戰(zhàn)略發(fā)展規(guī)劃及年度評價(jià)報(bào)告(模板)
- 計(jì)算機(jī)輔助設(shè)計(jì)(Protel平臺)繪圖員級試卷1
- 除法口訣表(完整高清打印版)
評論
0/150
提交評論