资源描述:
《模糊聚类分析报告实验报告材料》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用文档专业:信息与计算科学姓名:学号:实验一模糊聚类分析实验目的:掌握数据文件的标准化,模糊相似矩阵的建立方法,会求传递闭包矩阵;会使用数学软件MATLAB进行模糊矩阵的有关运算实验学时:4学时实验内容:⑴根据已知数据进行数据标准化.⑵根据已知数据建立模糊相似矩阵,并求出其传递闭包矩阵.⑶(可选做)根据模糊等价矩阵绘制动态聚类图.⑷(可选做)根据原始数据或标准化后的数据和⑶的结果确定最佳分类.实验日期:20017年12月02日实验步骤:1问题描述:设有8种产品,它们的指标如下:x1=(37,38,12
2、,16,13,12)x2=(69,73,74,22,64,17)x3=(73,86,49,27,68,39)x4=(57,58,64,84,63,28)x5=(38,56,65,85,62,27)x6=(65,55,64,15,26,48)x7=(65,56,15,42,65,35)x8=(66,45,65,55,34,32)建立相似矩阵,并用传递闭包法进行模糊聚类。2解决步骤:2.1建立原始数据矩阵设论域为被分类对象,每个对象又有个指标表示其性状,,由此可得原始数据矩阵。标准文案实用文档于是,得到原始
3、数据矩阵为其中表示第个分类对象的第个指标的原始数据,其中m=6,n=8。2.2样本数据标准化2.2.1对上述矩阵进行如下变化,将数据压缩到[0,1],使用方法为平移极差变换和最大值规格化方法。(1)平移极差变换:,显然有,而且也消除了量纲的影响。(2)最大值规格化:,2.2.2使用Matlab实现代码:function[x_zuida,x_pingyi]=bzh(x)%函数功能:标准化矩阵[m,n]=size(x);B=max(x);B1=max(x)-min(x);Bm=min(x);fori=1:n
4、x1(:,i)=x(:,i)/B(i);%最大值规格化x2(:,i)=(x(:,i)-Bm(i))/B1(i);%平移极差标准化endx_zuida=x1x_pingyi=x2标准文案实用文档2.2.3样本数据标准化后结果如图所示:图一最大值规格化图二平移极差标准化2.3构造模糊相似矩阵2.3.1根据各分类对象的不同指标的标准化数据,计算分类对象间的相似程度rij,建立模糊相似矩阵R,该操作又称标定,计算标定的方法很多,这里使用最大最小法和算术平均最小法。(1)最大最小法:(2)算术平均最小法:标准文案
5、实用文档2.3.2使用Matlab实现代码:function[R1,R2]=bd(x)%函数功能:标定[m,n]=size(x);fori=1:mforj=1:mfork=1:nqx(k)=min(x(i,k),x(j,k));%取小qd(k)=max(x(i,k),x(j,k));%取大endR1(i,j)=sum(qx)/sum(qd);%最大最小法R2(i,j)=2*sum(qx)/(sum(x(i,:))+sum(x(j,:)));%算术平均最小法ifi==jR1(i,j)=1;R2(i,j)=
6、1;endendendR_zuidazuixiao=R1R_suanshu=R22.3.4将最大规格化后的数据进行构造模糊相似矩阵如图所示:图三最大最小法构造模糊相似矩阵标准文案实用文档图四算术平均法造构造模糊相似矩阵2.4建立模糊等价矩阵2.4.1根据标定所得的矩阵,只是一个模糊相似矩阵,不一定具有传递性,为了进行分类,还需要将改造成等价矩阵。采用平方法计算传递闭包:经过有限次运算后存在k使,于是,即为所求的模糊等价矩阵。2.4.2使用Matlab实现代码:function[tr]=chuandi(x
7、)%函数功能:求传递闭包R=x;a=size(R);B=zeros(a);flag=0;whileflag==0fori=1:aforj=1:afork=1:aB(i,j)=max(min(R(i,k),R(k,j)),B(i,j));%R与R内积,先取小再取大endendendifB==Rflag=1;elseR=B;%循环计算R传递闭包endendtr=B;标准文案实用文档2.4.3对最大最小法构造模糊的相似矩阵求传递闭包结果如图所示:图五最大最小法构造模糊相似矩阵的传递闭包图六算术平均法造构造模糊
8、相似矩阵的传递闭包2.5聚类分析2.5.1得到模糊等价矩阵后,可在适当水平上截取,将模糊等价矩阵中大于值的数归为一类。2.5.2使用Matlab实现求截矩阵代码:function[M,N]=julei(tR1)%函数功能:求出lamda截矩阵tR=tR1;lamda=unique(tR);%取A矩阵不同元素构成的向量,来确定阈值L=length(lamda);lamda=sort(lamda,'descend');fori=1:LtR=tR