属性约简MATLAB算法有实例有讲解_第1页
属性约简MATLAB算法有实例有讲解_第2页
属性约简MATLAB算法有实例有讲解_第3页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、粗糙集属性约简题目:SARS诊断注:这是我学粗糙集时老师给的作业U干 咳呼 吸 困 难血 液 检 测高 烧38度X射线浓痰血 细 胞 多寒 战肌 肉 酸 痛乏力胸膜痛头 痛非典11111000011011200000000000003101000000100040001111010110510011111011006010111 1111001071000111001110811110000110119101110001101110111100 100 11 11 101 !_111I-11011100011011121 10d110 00110 11属性约简的顺序如下:求正域、生成未经处理的

2、区分矩阵、对区分矩阵进行化简、求核、对已经处理过的区分矩阵进行属性约简。约简后的决策表有26行,所有12个属性都是正域中的属性,核为空程序:% mai n.mtic;a= 1,1,1,1,0,0,0,0,1,1,0,1;0,0,0,0,0,0,0,0,0,0,0,0;1,0,1,0,0,0,0,0,0,1,0,0;0,0,0,1,1,1,1,0,1,0,1,1;1,0,0,1,1,1,1,1,0,1,1,0;0,1,0,1,1,1,1,1,1,0,0,1;1,0,0,0,1,1,1,0,0,1,1,1;1,1,1,1,0,0,0,0,1,1,0,1;1,0,1,1,1,0,0,0,1,1,0,

3、1;1,1,1,1,0,0,0,0,1,1,0,1;1,0,1,1,1,0,0,0,1,1,0,1;1,0,1,1,1,0,0,0,1,1,0,1 ;d=1;0;0;0;0;0;0;1;1;1;1;1;pos=posCD(a,d);dismat=dismatrix(a,d,pos);dism=disbe(dismat);core=cor(dism);red,row=redu(dism);time=toc% dismatrix.m% 生成未经处理的区分矩阵 dismatfunction dismat=dismatrix(a,d,pos)m,n=size(a);p=1;index1=0;index

4、2=0;index=0;dis=-1*ones(m*(m-1)/ 2,n);for i=1:mfor j=i+1:mif (isxbelongtopos(i,pos)&isxbelongtopos(j,pos).|(isxbelongtopos(i,pos)&isxbelongtopos(j,pos).|(isxbelongtopos(i,pos)&isxbelongtopos(j,pos)&isxybelongtoindD(i,j,d) index2=1;endif index2=0continue;endfor k=1:nif a(i,k)=a(j,k)dis(p,k)=1;index1=

5、1;else dis(p,k)=0;endendif index1=1p=p+1;index=1;endindex1=0;index2=0;endendif p=m*(m-1)/ 2if index=0dismat=;return;endif dis(p,1)=-1p=p-1;endelse p=m*(m-1)/ 2;enddismat=dis(1:p,:);% redu.m% 对已经处理过的区分矩阵进行知识约简 function red,row=redu(dism) m,n=size(dism);red=; row=0; if m=0return;endfor i=1:nif dism(1,

6、i)=0 row=row+1;end end red(1:row,:)=zeros(row,n); j=1; for i=1:rowwhile dism(1,j)=0 j=j+1;endred(i,j)=1;j=j+1; end temp=;tempdis=; rowd=0;rowd1=0; for i=2:mj=1;while j=row temp=uni(dism(i,:),red(j,:); s,n=size(temp);rowd1=rowd+s; tempdis(rowd+1:rowd1,:)=temp; rowd=rowd1;j=j+1; temp=;endred=; red=dis

7、be(tempdis); tempdis=;row,n=size(red); rowd=0;rowd1=0;% disbe.m% 对区分矩阵或者约简矩阵进行化简即去掉包含关系 function dism=disbe(dis)m,n=size(dis);p=m;for i=1:mif dis(i,1)=-1for j=1:mif i=j & dis(j,1)=-1if dis(i,:)=dis(j,:) dis(i,:)=dis(j,:); dis(j,1)=-1; p=p-1;endendendendenddism=ones(p,n);j=1;for i=1:pwhile j=m & dis(

8、j,1)=-1j=j+1;enddism(i,:)=dis(j,:);j=j+1;end% posCD.m% a 为条件属性矩阵, d 为决策属性向量% pos 为正域 , 保存条件属性矩阵的索引值 function pos=posCD(a,d)m,n=size(a);p=m;index=0;for i=1:mif a(i,1)=-1for j=i+1:mif a(j,1)=-1 &(a(i,:)=a(j,:)&d(i)=d(j) a(j,1)=-1;p=p-1;index=1;endif index=1 a(i,1)=-1;p=p-1;index=0; end end end pos=zer

9、os(p,1);i=1;for r=1:pwhile a(i,1)=-1&i=mi=i+1;endpos(r)=i;r=r+1;i=i+1;end% cor.m% 对已经处理过的区分矩阵求核 function core=cor(dism) m,n=size(dism); core1=zeros(1,n);number=0;for i=1:mnum=0;p=0;for j=1:nif dism(i,j)=0 num=num+1; p=j;endendif num=1core1(p)=1; number=number+1;endendif number=0core=0;elsecore=zeros

10、(1,number);j=1;for i=1:numberwhile core1(j)=0 j=j+1;end core(i)=core1(j); j=j+1;endend% uni.m%对区分矩阵的第i行和red(j,:)运算,即将a中 %所有的1分别插入到red(j,:)中,待去掉包含关系 function tempred=uni(disa,red) m,n=size(red);num=0;for i=1:nif disa(i)=0 num=num+1;endendtempred=ones(m*num,n);temp=;j=1;for i=1:numwhile disa(j)=0 j=j+

11、1;endtemp=red;temp(:,j)=ones(m,1); tempred(i-1)*m+1:i*m,:)=temp;j=j+1;end% isxbelongtopos.m% 判断 x 是否在正域 pos 中% x 为索引值% 返回值 p ,如果 x 在 pos 中 p=1 否则 p=0 function p=isxbelongtopos(x,pos) m,n=size(pos);p=0;if x=0p=-1;return;endfor i=1:mif x=pos(i)p=1;break;endend% isxybel on gtoi ndD.m%判断x,y是否在indD中% x,y

12、为索引值% 返回值p,如果x,y在indD中p=1否则p=0 function p=isxybel on gto in dD(x,y,d)if xsize(d) | ysize(d)P=-1;return;endif d(x)=d(y)p=1;else p=0;end约简后的决策表序号干咚呼吸困碍血液检测高烧戒2X射跻浓痰白跚胞埶In肉醴旖乏刘头痛10O1- Oo1 ooo1 o.li o0.2O1L111O1Ao10.ooooo3OOOI LO-.1 oooooo41 O110.1O1Ag I m0.ooooo5OO0. -O0.-Ao0.o.% o0.6O11OO1-oe n-oo.T oo-7 4OO. 二O0.10.1o 一o.T o0.8OOO11 IXO1 ooT-1n*1AIT o911门-.1 Mo10.A-n-0.t10.WOOOli1oT a,T o0.o1-o 0.o.t11TAD2-1QOOOo-0o1-1* a1*0.31-OOOOoo0.*I*o1*14 *1-OOO- -0.0.o代一 -.110.5.111O门O1 OooooT111 - oo6IX -OOOo0.0.o

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论