聚類算法matlab程序_第1頁
聚類算法matlab程序_第2頁
聚類算法matlab程序_第3頁
聚類算法matlab程序_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

clearallclosealldisp('Theonlyinputneededisadistancematrixfile')disp('Theformatofthisfileshouldbe:')disp('Column1:idofelementi')disp('Column2:idofelementj')disp('Column3:dist(i,j)')mdist=input('example_distances');%nameofthedistancematrixfile(withsinglequotes)?\ndisp('Readinginputdistancematrix')xx=load(mdist);

ND=max(xx(:,2));NL=max(xx(:,1));if(NL>ND)

ND=NL;

end

N=size(xx,1);

fori=1:ND

forj=1:ND

dist(i,j)=0;

end

end

fori=1:N

ii=xx(i,1);

jj=xx(i,2);

dist(ii,jj)=xx(i,3);

dist(jj,ii)=xx(i,3);

end

percent=2.0;

fprintf('averagepercentageofneighbours(hardcoded):%5.6f\n',percent);

position=round(N*percent/100);sda=sort(xx(:,3));

dc=sda(position);

fprintf('ComputingRhowithgaussiankernelofradius:%12.6f\n',dc);

fori=1:ND

rho(i)=0.;

end

%

%Gaussiankernel

%

fori=1:ND-1

forj=i+1:ND

rho(i)=rho(i)+exp(-(dist(i,j)/dc)*(dist(i,j)/dc));rho(j)=rho(j)+exp(-(dist(i,j)/dc)*(dist(i,j)/dc));

endend%

%"Cutoff"kernel

%

%fori=1:ND-1

forj=i+1:ND

if(dist(i,j)<dc)

rho(i)=rho(i)+1.;

rho(j)=rho(j)+1.;

end

end

%

%

%

%

%

%%endmaxd=max(max(dist));

[rho_sorted,ordrho]=sort(rho,'descend');

delta(ordrho(1))=-1.;

nneigh(ordrho(1))=0;

forii=2:ND

delta(ordrho(ii))=maxd;

forjj=1:ii-1

if(dist(ordrho(ii),ordrho(jj))<delta(ordrho(ii)))delta(ordrho(ii))=dist(ordrho(ii),ordrho(jj));nneigh(ordrho(ii))=ordrho(jj);

end

end

end

delta(ordrho(1))=max(delta(:));

disp('Generatedfile:DECISIONGRAPH')

disp('column1:Density')

disp('column2:Delta')

fid=fopen('DECISION_GRAPH','w');

fori=1:ND

fprintf(fid,'%6.2f%6.2f\n',rho(i),delta(i));

end

disp('Selectarectangleenclosingclustercenters')

scrsz=get(0,'ScreenSize');

figure('Position',[672scrsz(3)/4.scrsz(4)/1.3]);

fori=1:ND

ind(i)=i;

gamma(i)=rho(i)*delta(i);

end

subplot(2,1,1)

tt=plot(rho(:),delta(:),'o','MarkerSize',5,'MarkerFaceColor','k','MarkerEdgeColor','k');

title('DecisionGraph','FontSize',15.0)

xlabel('\rho')

ylabel('\delta')subplot(2,1,1)rect=getrect(l);

rhomin=rect(1);

deltamin=rect(4);

NCLUST=0;

fori=1:ND

cl(i)=-1;

end

fori=1:ND

if((rho(i)>rhomin)&&(delta(i)>deltamin))NCLUST=NCLUST+1;

cl(i)=NCLUST;

icl(NCLUST)=i;

end

end

fprintf('NUMBEROFCLUSTERS:%i\n',NCLUST);

disp('Performingassignation')

%assignation

fori=1:ND

if(cl(ordrho(i))==-1)

cl(ordrho(i))=cl(nneigh(ordrho(i)));

end

end

%halo

fori=1:ND

halo(i)=cl(i);

end

if(NCLUST>1)

fori=1:NCLUST

bord_rho(i)=0.;

end

fori=1:ND-1

forj=i+1:ND

if((cl(i)~=cl(j))&&(dist(i,j)<=dc))

rho_aver=(rho(i)+rho(j))/2.;

if(rho_aver>bord_rho(cl(i)))bord_rho(cl(i))=rho_aver;

end

if(rho_aver>bord_rho(cl(j)))bord_rho(cl(j))=rho_aver;

end

end

end

end

fori=1:ND

if(rho(i)<bord_rho(cl(i)))

halo(i)=0;

end

end

end

fori=1:NCLUST

nc=0;

nh=0;

forj=1:ND

if(cl(j)==i)

nc=nc+1;

end

if(halo(j)==i)

nh=nh+1;

end

end

fprintf('CLUSTER:%iCENTER:%iELEMENTS:%iCORE:%iHALO:%i\n',i,icl(i),nc,nh,nc-nh);

end

cmap=colormap;

fori=1:NCLUST

ic=int8((i*64.)/(NCLUST*1.));

subplot(2,1,1)

holdon

plot(rho(icl(i)),delta(icl(i)),'o','MarkerSize',8,'MarkerFaceColor',cmap(ic,:),'MarkerEdgeColor',cmap(ic,:));

end

subplot(2,1,2)

disp('Performing2Dnonclassicalmultidimensionalscaling')

Y1=mdscale(dist,2,'criterion','metricstress');

plot(Y1(:,1),Y1(:,2),'o','MarkerSize',2,'MarkerFaceColor','k','MarkerEdgeColor','k');

title('2DNonclassicalmultidimensionalscaling','FontSize',15.0)

xlabel('X')

ylabel('Y')

fori=1:ND

A(i,1)=0.;

A(i,2)=0.;

end

fori=1:NCLUST

nn=0;

ic=int8((i*64.)/(NCLUST*1.));

forj=1:ND

if(halo(j)==i)

nn=nn+1;

A(nn,1)=Y1(j,1);

A(nn,2)=Y1(j,2);

end

end

holdon

plot(A(1:nn,1),A(1:nn,2),'o','MarkerSize',2,'MarkerFaceColor',cmap(ic,:),'MarkerEdgeColor',cmap(ic,:));

end%fori=1:ND

%if(halo(i)>0)

% ic=int8((halo(i)*64.)/(NCLUST*1.));

% holdon

%

plot(Y1(i,1),Y1(i,2),'o','MarkerSize',2,'MarkerFaceColor',cmap(ic,:),'MarkerEdgeColor',cmap(ic,:));

%end

%end

faa=fopen('CLUSTER_ASSIGNATION','w');

disp('Generatedfile;CLUSTER_ASSIG

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論