模糊聚类matlab程序.doc

模糊聚类matlab程序.doc

ID:51822118

大小:33.50 KB

页数:4页

时间:2020-03-16

模糊聚类matlab程序.doc_第1页
模糊聚类matlab程序.doc_第2页
模糊聚类matlab程序.doc_第3页
模糊聚类matlab程序.doc_第4页
资源描述:

《模糊聚类matlab程序.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、functionjulei(data)%%%%%%%%%%%%%%%模糊聚类%%%%%%%%%%%%%%%%%%%%%%%DATAFORCLUS=data;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%基于模糊等价关系的模糊聚类%%%%%%%%%%%%%%%%%%%%%%%----------构造相似关系-----------%numrows=size(DATAFORCLUS,1);numcols=size(DATAFORCLUS,2);disp('请选择对象之间相似性统计量的方式:');d

2、isp('<1-相关系数法

3、2-夹角余弦法>');wayforr_ij=input('请输入:');switchwayforr_ijcase1,%-----------------------------------相关系数法fori=1:numrows,forj=1:numrows,meani=mean(DATAFORCLUS(i,:));meanj=mean(DATAFORCLUS(j,:));simiR(i,j)=sum((DATAFORCLUS(i,:)-meani).*(DATAFORCLUS

4、(j,:)-meanj))/...(sqrt(sum((DATAFORCLUS(i,:)-meani).^2))*sqrt(sum((DATAFORCLUS(j,:)-meanj).^2)));endendcase2,%-----------------------------------夹角余弦法fori=1:numrows,forj=1:numrows,simiR(i,j)=sum(DATAFORCLUS(i,:).*DATAFORCLUS(j,:))/...(sqrt(sum(DATAFORCLU

5、S(i,:).*DATAFORCLUS(i,:)))*sqrt(sum(DATAFORCLUS(j,:).*DATAFORCLUS(j,:))));endendend%-------改造成等价关系----------%sign=0;numselfmul=1;simiRk=eye(numrows);equi_tem=simiR;whilesign==0,fori=1:numrows,forj=1:numrows,forc=1:numrows,rij_temp(c)=min([equi_tem(i,c)eq

6、ui_tem(c,j)]);endsimiRk(i,j)=max(rij_temp);endend%--------------%ifsum(sum(simiRk-equi_tem,1))~=0,numselfmul=numselfmul+1;equi_tem=simiRk;elsesign=1;breakend%--------------%endifsign==1,disp('从相似矩阵到等价矩阵改造成功!!!');elsedisp('从相似矩阵到等价矩阵改造失败!!!');endequiR=sim

7、iRk;numclass=input('请输入聚类数:');%---------在不同的截集水平进行聚类--------------%clasc=0;comp_vec(1,1:numrows)=0;index=0;clasc=0;tip=0;alpha=0;temnumeachclass=0;while(tip==0),%alpha=input('请输入进行分类的截集水平λ:');%alpha=0.5;%调试if(alpha<0

8、

9、alpha>1),error('您输入的截集水平λ不符合分类要求->执行

10、结束!!!');endcomp_arr=ones(numrows)*alpha;result_arr=(equiR>=comp_arr);%--------------------result_arr判断矩阵%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%捡菜算法fori=1:numrows,ifsum(comp_vec(1,:)==result_arr(i,:))

11、;%numeachclass(clasc)=index-temnumeachclass;temsave=result_arr(i,:);forj=1:numrows,ifsum(result_arr(j,:)==temsave)==numrows,index=index+1;class(index)=j;result_arr(j,:)=0;%--------------------说明已经被归类temnumeachclass=temnume

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。