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

下载本文档

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

文档简介

1、粗糙集属性约简题目:SARS诊断注:这是我学粗糙集时老师给的作业U干 咳呼 吸 困 难血液检测高 烧 38 度X射 线浓痰血 细 胞 多寒 战肌 肉 酸 痛乏 力胸膜痛头痛非典111110000110112000000000000031010000001000400011110101105100111110110060101111110010710001110011108111100001101191011100011011101111000011011111011100011011121011100011011属性约简的顺序如下:求正域、生成未经处理的区分矩阵、对区分矩阵进行化简、求核、对

2、已经处理过的区分矩阵进行属性约简。约简后的决策表有26行,所有12个属性都是正域中 的属性,核为空 程序:% main.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,1;1,1,1,1,0,0,0,0,

3、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;index2=0;index=0;dis=-1*o

4、nes(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=1;else dis(p,k)=0;end

5、endif 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,i)=0row=row+1;endendred(1:ro

6、w,:)=zeros(row,n);j=1;for i=1:rowwhile dism(1,j)=0j=j+1;endred(i,j)=1;j=j+1;endtemp=;tempdis=;rowd=0;rowd1=0;for i=2:mj=1;while j=rowtemp=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=disbe(tempdis);tempdis=;row,n=size(red);rowd=0;

7、rowd1=0;end% 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(j,1)=-1j=j+1;enddism(i,:)=dis(j,:);j=j+1;end% po

8、sCD.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;endendif index=1a(i,1)=-1;p=p-1;index=0;endendendpos=zeros(p,1);i=1;for r=1:pwhile a(i,1)=-1&i=mi=i+1;endpos(r)=i

9、;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)=0num=num+1;p=j;endendif num=1core1(p)=1;number=number+1;endendif number=0core=0;elsecore=zeros(1,number);j=1;for i=1:numberwhile core1(j)=0j=j+1;endcore(i)=co

10、re1(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) =0num=num+1;endendtempred=ones(m*num,n);temp=;j=1;for i=1:numwhile disa(j)=0j=j+1;endtemp=red;temp(:,j)=ones(m,1);tempred(i-1)*m+1:i*m,:)=temp;j=j+1;e

11、nd% isxbelongtopos.m%判断x是否在正域pos中% x为索引值%返回值p,如果x在pos中p=1否则p=0function 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% isxybelongtoindD.m%判断x,y是否在indD中% x,y为索引值%返回值p,如果x,y在indD中p=1否则p=0 function p=isxybelongtoindD(x,y,d) if xsize(d) | ysize(d)p=-1;

12、return;endif d(x)=d(y)p=1;else p=0;end约简后的决策表序 串干 .晾呼吸囹谊血液检测高 烧 38CPX射密寒战曰肌肉酸痛4乏痛q头痛1.-,爵l.T1.0.:OnOn。,JJO.T2.-,0:?iiIf0 .,:?thO.nO.nD.n0.,.Oi3.1d.:口0.,110.,1.,o i0.,0.,.4.nCl.TLi(;0:,1Ik化0:;On0.x.O.x3,O.n(;1.0OnjD0., /0 a.。;p.,L0.,Q.,InP11.,0.,O.ia.如k,0.n1,电O.H,1.,0.:,O.yaSn00.,o:v1,0.,0o.,t.,0.,1.,0.,0,私i,口.,b.T,1,0.10也.O.r0.,.11.,0,10.,0 11 !0耳0 .,CL0 1O.I1.111.,0 10.10 n1 !O.yO.n1,10.1O.n1.1di12.,D.,.o.GD.,.0.,L.1一,1 一,013.,0.,.0c.0.,0.,Lf01 一,114b.f0.1,D.,CL,c0.,LiLG15.,b.f0.0.,D.,O.r0.,1=11.,眠G16.s0Cl-0.,Q:1-OnLO.Ya17.i.,01-o-.:眼0snn118.,1.TO.iOn0 .0.1:?LO.TO.T1:11.,L私

温馨提示

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

评论

0/150

提交评论