粗糙集属性约简matlab程序
基于MapReduce的高效粗糙集属性约简算法
第34卷第4期 2017年4月计算机应用与软件Computer Applications and SoftwareV o L34No. 4Apr. 2017基于MapReduce的高效粗糙集属性约简算法吕洁1刘利民1胡皎月1许志伟131(内蒙古工业大学信息工程学院内蒙古呼和浩特010080)2(中国科学院计算技术研究所北京100086)摘要针对粗糙集理论中传统的基于正域的属性约简算法和基于信息熵的属性约简算法无法得到最小约简集的问题,给出基于信息熵改进的属性约简算法,即先使用条件熵识别出重要度值最大的属性,使用正域进行约 简判断。
在此基础上,设计了高效的基于M a p R e d u c e的信息熵改进属性约简算法。
以真实海量气象数据为基础, 在H a d o o p集群上实现上述算法,验证了该算法的有效性和效率。
关键词 属性约简粗糙集理论信息熵中图分类号T P311文献标识码A D O I:10. 3969/j. issn. 1000-386x. 2017. 04.046EFFICIENT ROUGH SET ATTRIBUTE REDUCTION ALGORITHMBASED ON MAPREDUCELii Jie1Liu Limin1H u Jiaoyue1X u Zhiwei1’21(College of Information Engineering, Inner Mongolia University of Technology ,Huhhot 010080, Inner Mongolia, China)2 (Institute of Computing Technology ^Chinese Academy of Sciences, Beijing 100086, China)Abstract Aiming at the problem that the traditional attribute reduction algorithm based on positive domain and the attribute reduction algorithm based on information entropy can ,t get the m i n i m u m reduction set in rough set theory,an optimized attribute reduction algorithm based on information entropy is proposed. T h e conditional entropy is used to identify the attribute with the highest significance value, and the positive domain is used to the reduction judgment. O n this basis,an efficient algorithm of information entropy improved attribute reduction based on M a p R e d u c e is designed. Based on the real meteorological data, the algorithm is implemented on H a d o o p cluster, and the effectiveness and efficiency of the algorithm are verified.Keywords Attribute reduction R o u g h set theory Information entropy熵改进属性约简算法,通过真实海量气象数据,验证了 〇弓丨言算法的有效性。
基于粗集可辨识矩阵的属性频率约简算法
基于粗集可辨识矩阵的属性频率约简算法1 粗集可辨识矩阵粗集可辨识矩阵作为一种不精确、但可以提取较好特征的聚类方法,在数据挖掘任务中得到了广泛的应用。
它的核心是分布式的,也就是说,可以利用大量的类内数据来构建实例和属性之间的关系。
它的主要操作是将内部元素的属性频率应用于矩阵,然后利用频率约简算法把矩阵约简成一个稀疏的矩阵表示。
2 属性频率约简算法属性频率约简算法是一种使用统计学的技术,通过收集类内的特征频率,来构建属性间的关联,有效地对属性进行频率约简,从而获得较精确的特征聚类。
它的基本原理是,根据给定的特征计算来计算每个特征的频率,然后使用一种统计学技术来将它们抽象成一个稀疏的矩阵。
它的主要步骤如下:首先通过计算每个特征出现的频率来填充矩阵,然后使用最大熵原则对矩阵进行约简,最后利用聚类算法将不同的特征聚类,从而获得一种更有效的特征形式。
综上,属性频率约简算法可以使特征简化,矩阵简化,并且可以提取出一种有效的特征。
3 属性频率约简的优势属性频率约简算法的优势有:首先,它可以构建出有效的聚类,从而使分析任务更加容易;其次,它还可以用于建立稀疏的特征,这样可以更好地减少冗余的特征和噪声;最后,它可以有效地处理高维数据中的大量元素,并使其聚类更有效。
4 属性频率约简的应用属性频率约简算法在很多领域都有广泛的应用,如文本分类、图像分类、软件推荐等。
比如,在自然语言处理中,可以使用属性频率约简来提取文本的关键词,从而帮助文本分类。
另外,它还可以用来提取图像中的特征,从而方便图像分类。
此外,它还可以用于大规模数据访问和软件推荐,从而更加有效地实现软件任务。
5 结论从上文可以看出,基于粗集可辨识矩阵的属性频率约简算法可以有效提取出有效特征,并有很多应用。
它可以简化特征,减少运算量,有效地提取特征,从而实现数据挖掘的目的。
另外,属性频率约简的优势可以极大提升数据挖掘的性能,使算法更加有效。
粗糙集数据分析系统MATLAB仿真工具箱设计
收稿日期:2005-12-29基金项目:国家自然科学基金资助项目(60574011)・作者简介:张雪峰(1966-),男,辽宁沈阳人,东北大学副教授,博士研究生;张庆灵(1956-),男,辽宁营口人,东北大学教授,博士生导师・第28卷第1期2007年1月东北大学学报(自然科学版)Journal o f Nort heastern U ni versit y (N at ural S cience )V o l.28,No.1!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Jan.2007粗糙集数据分析系统M A T L A B 仿真工具箱设计张雪峰,张庆灵(东北大学理学院,辽宁沈阳110004)摘要:围绕不可区分关系和相对正区域两个核心概念,通过知识之间的依赖程度,提出了粗糙集数据分析的算法,通过比较属性约简的数目,选择最少属性数量的约简结果・利用M ATLA B 处理集合函数的优势,得到了求取相对核、上(下)近似、等价关系、相对重要度、属性相对约简、范畴相对约简、最小决策规则等的各种算法的程序实现・实现了M ATLA B 仿真工具箱设计・利用图形用户界面(GU I )方法,设计了良好的人-机交互系统的主界面・最后给出实际例子的程序运行结果,对推动粗糙集理论在具体实践中应用和普及,具有实际意义・关键词:粗糙集;属性约简;属性核;M ATLA B ;仿真;工具箱中图分类号:T P 393.09文献标识码:A 文章编号:1005-3026(2007)01-0040-04D esi g n of MATLAB s i mul ati on Tool Box f or Rou g h set Dat a Anal y sis s y ste mZ~ANG xue-f en g ,Z~ANG @in g -lin g(Schoo l o f S ciences ,N ort heastern U n ivers it y ,S hen y an g 110004,c h i na .c orres p ondent :Z~ANG G i n g -li n g ,p ro f essor ,E-m ail :C lzhan g !m ail .neu .edu .cn )Abstract :T he t W o kernel conce p ts ,i ndiscerni bilit y relation and relati ve p ositi ve re g ion ,aref ocused on.A n alg orith mis p ro p osed to anal y ze t he rou g h set data anal y sis s y ste m,accordi n g to t he m ut ual de p endenc y bet W een diff erent ki nds o f knoW led g e.T he nu m bers o f reduced attri butes are com p ared to p ick out a reduction result i nvo lvi n g t he m i ni m u m nu m ber o f attri butes.T aki n g t he advanta g e o f M ATLAB i n deali n g W it h set f unctions ,t he p ro g ra m realizations o f m an y al g orit h m s are g i ven to so lve relati ve core ,u pp er a pp rox i m ation ,loW er a pp rox i m ation ,e C ui valence relation ,relati ve si g nificance level ,relati ve reduction o f attri butes ,relati ve reduction o f dom ai n and m i ni m al decision rules ,t hus desi g ni n g t he M ATLAB si m ulation too l .B y W a y o f g ra p hical user i nterf ace (GU I ),t he f avorable m ai n i nterf ace o f m an-m achi ne i nteraction s y ste mis desi g ned.A n exa m p le resulti n g from runni n g is g i ven ,Which shoW s t he p ractical si g nificance to t he a pp lications o f rou g h set t heor y .K e y words :rou g h set ;attri butes reduction ;attri bute core ;M ATLAB;si m ulation ;too l box 随着信息的不断增长,对信息分析工具的要求也越来越高,人们希望自动地从数据中获取其潜在的依赖模型・研究能够从大量客观信息中形成不依赖专家经验和其他主观评价的实际概括(归纳)的系统就显得越来越重要・粗糙集(Rou g h S et ,简写为RS )是波兰数学家Z.Pa W lak 于1982年提出的[1]・1991年Pa W lak出版了专著,奠定了严密的数学基础[2]・1997年Z.Pa W lak 利用粗糙集方法进行基于知识的决策支持[3]・虽然RS 至今只有二十几年的发展历史,但取得的研究成果是令人瞩目的・它是一种较有前途的软计算方法・基于粗糙集方法的数据知识表达和知识推理不需要预先给出概率分布、模糊隶属函数、可信度分配等相关特征知识和主观经验信息,可从现有的数据出发给出知识的简化和约简,为处理不精确、不确定、含糊、不完备、不一致信息和知识提供了一种新数学方法・该理论是数据挖掘、知识融合、信息计算、专家控制系统的重要理论基础・M ATLAB 是当前最流行的、功能强大的高效率的数值计算的可视化科技应用软件和编程语言之一・尽管M ATLAB具有很强的计算功能,但是,M ATLAB的最新版V7.0里仍然没有粗糙集方面的函数和工具箱・考虑到M ATLAB具有许多现成的处理集合、矩阵及其他数学关系的函数及其解释性语言的特点,结合考虑粗糙集的处理集合与等价关系特点,利用M ATLAB开发粗糙集数据分析系统仿真应用工具箱能够发挥二者各自的优势,它比用VC++等其他计算机语言具有事半功倍的效果・粗糙集数据分析与处理的工具软件尚不多见,国外有RO SETTA,RO SE等,这些软件有的价格高,有的功能单一,效率不高,在国内很不普及・为了促进粗糙集理论更广泛地应用于具体实践中,利用现有的算法,开发一个成功的粗糙集数据分析系统具有重大实际意义[4]・1粗糙集简介粗糙集理论对知识进行了形式化定义,为知识处理提供了一套严密的分析工具・粗糙集理论可从数据中发现隐含的知识,揭示潜在的规律・设X,Y G U,R是定义在U上的等价关系,集合X关于R的下近似为:R-(X)=U{Y G U/R:Y二X}・R-(X)是根据现有知识判断肯定属于X的对象组成的最大的集合,称为正区,记为PO S(X)・上近似为:R-(X)=U{Y G U/R:Y n X羊}・R-(X)是由所有与集合X相交非空的等价类的并集,是那些可能属于X的对象组成的最小集合・集合边界区定义为:B nd(X)=R-(X)-R-(X)・如果Bnd(X)是空集,则称X关于R是清晰的;反之,则称X为关于R的粗糙集[5]・一个信息系统S可以表示为:S=〈U,A,V,f〉,其中,U是对象的集合,即论域;A是属性集合;如果属性集A可以分为条件属性集C和决策属性集D,即C U D=A,C n D=,则该信息系统称为决策系统或决策表・例如表1所示,论域U有7个元素,第一到第四列为条件属性,第五列为决策属性・表1一个信息系统实例Tabl e1An exam P l e o f i nf o r mati on s y s t em U C1C2C3C4D110011210001300000411010511022621022722222在信息系统中,对于每个属性子集R二A,不可分辨关系I ND(R):I ND(R)={(I,$)G U>U:T G R,T(I)= T($)},显然I ND(R)是一个等价关系,对象I在属性集R上的等价类[I]I ND(R)定义为[I]I ND(R)={$:$G U,$I ND(R)I}・为简便起见,在不产生混淆的情况下用R代替I ND(R)・假定R代表论域U中的一种关系,当R描述对U的分类,即U中对象之间的等价关系时,用U/R={X1,X2,…,X7}表示根据关系R,U中的对象构成的所有等价类族,称为关于U的知识・属性约简是指在保持信息系统的分类或决策能力不变的条件下,删除其中的冗余属性・如果I ND(R)=I ND(R-{T}),称T为R中可省略的・决策表约简的目的是用最少的条件辨别每一个决策类,即将决策表中包含的决策知识精简・对简化后的决策表进行条件属性约简,即如果某条件属性去掉以后决策表仍旧保持协调,则该属性是冗余的,可以去掉・在信息系统S中,若P,G二A,则G的P正区域PO SP(G)定义为PO S P(G)=U P-(X),X G U/G・R中所有不可约去的关系称为核,由它构成的集合称为R的核集,记成CORE(R)[6]・2RSDA系统实现粗糙集理论方法以对系统观察和测量所得数据进行分类的能力为基础,其主要思想是在保持分类能力不变的前提下,通过知识约简,推导出问题的决策或分类规则・粗糙集理论中所有的概念和运算都是通过等价关系和集合运算来定义的,粗糙集理论的很多概念和运算的直观性较差,人们不容易理解其本质・因此影响了粗糙集的推广与提高,RS理论在工业中带来具体的显著效益的应用还非常少・粗糙集数据分析(rou g h set data anal sis,RSDA)是一种分析数据之间相关性和依赖性的一种符号方法・利用RSDA可以从数据中提取规则、寻找关键属性和属性值,从而进行预测和决策・它的优点是不需要做人为的假设,规则的产生完全是由数据驱动的・基于粗糙集的数据分析方法实际是对决策表进行约简的过程,这个处理过程主要函数如下・2.1MATLAB集合函数介绍M ATLAB的70余个工具箱覆盖面极广,包括丰富的数值分析、矩阵运算、图形绘制、数据处14第1期张雪峰等:粗糙集数据分析系统M ATLAB仿真工具箱设计理、信号处理、图像处理、小波分析、鲁棒控制、系统辨识、非线性控制、模糊逻辑、神经网络、优化理论、统计分析等・由于它的功能强大且应用越来越广泛,加之不断开发出来的大量的应用于不同学科的工具箱,使M ATLAB越来越受到人们的重视,成为国际控制界广泛使用的语言之一・M ATLAB中有数量庞大的函数库,下面对本开发平台中所使用和涉及的主要的函数或指令的含义进行描述・表2MATLAB部分集合函数Tabl e2Part o f MATLAB se t f unc ti ons函数名称功能描述cat(d,A,B)把数组A和B按指定的维数d连接起来sort(A)将数组A元素按升顺排列起来i ntersect(a,b)返回a和b中共有的值,所得到的向量的元素按升顺排列is m e m ber(a,S)返回一个和向量a同样长度的向量,其中的元素描述了a中各个元素对应属于集合S的状态setd iff(a,b)返回a中有但b中没有的元素,得到的向量的元素按升顺排列un i C ue(a)返回向量a中的元素值,但不出现重复strvcat(t1,t2,t3,…)对于字符串t1,t2,t3,…等进行竖向组合un ion(a,b)返回a或b中的值,所得到的向量的元素按升顺排列set xor(a,b)集合的异或运算2.2主要MATLAB程序Rou g1集理论所有的概念和计算都是以不可分辨关系为基础,通过引入上近似集和下近似集,在集合运算上定义的・这通常称为Rou g1集理论的代数观点・由于粗糙集的这些概念抽象、难于理解,阻碍了其普及和发展,特别不利于与其他领域实际应用项目的结合・仿真技术作为一种研究工具可以提高开发和研究系统的效率,M ATLAB强大的数据分析和高级可视化软件使其成为许多科研与应用开发的首选平台,本文对粗糙集中基本的概念和方法利用M ATLAB的函数实现其功能仿真,下面介绍主要M ATLAB程序・(1)函数I=R su pp er($,a,I)求取决策表为I的$集合,关于a的不可分辨关系为上近似集・以下的I等变量都为表1中的数据,程序如下:f unction I=R su pp er($,a,I)Z=i nd(a,I);I=[];[1,Z]=s ize(Z);f or=1:1ZZ=setd iff(Z(,:),0);ZZZ=i ntersect(ZZ,$);[Z1,Z Z]=s ize(ZZZ);if Z Z!=0,I=cat(2,I,ZZ);endend I=sort(I,2);例如,取a=[4],$=[1245]・程序结果为!$=R su pp er($,a,I)=[1234567]・(2)函数I=R slow er($,a,I)求取决策表为I中集合$,关于a的不可分辨关系为下近似集・把(1)中带下划线的3行程序用下面的一行程序替代就变成R slow er($,a,I)・if is m e m ber(ZZ,$),I=cat(2,I,ZZ);end,例如,a,$同上,在命令提示符下,有!$=R low er($,a,I)=[14]・(3)函数$=i nd(a,I)求取决策表I的属性为a的不可分辨关系・求不可分辨关系的最坏复杂度为0("A""U"2),因为在最坏的情况下需要扫描对象集合两次,每个对象一次,每个对象的等价类一次・本文利用改进的算法:首先按给定属性集对对象进行编码,之后对编码值排序,然后扫描一遍即可,复杂度为0("A""U"l g"U")・程序主要代码:f unction$=i nd(a,I)[1,Z]=s ize(I);[a1,a Z]=s ize(a);$=I;f or i=1:1,O(i)=code(a Z,$(i,:),10);end$=O’;[$$,I]=sort($);$=[$$I];[b,a,l]=un i C ue($$);$=[l I];m=m ax(l);aa=zeros(m,1);f or ii=1:m f or j=1:1if l(j)==ii,aa(ii,j)=[I(j)];endend end$=aa;f unction$$=code(a,I,b)$$=0;f or i=1:a,$$=$$+I(i)#b*(a-i);例如取a=[5],有!$=i nd(a,I)={{3,4},{1,2},{5,6,7}}・(4)函数[$,b]=p os(1,Z)求取决策表为I时,G的P正域,$是"PO SP(G)"/"U"的值,b 是G的P正域集合・例如,取a=[1:4],b=[5],有![$,b]=p os(i nd(a,I),i nd(b,I)),$=1,b =[1234567]・(5)函数$=redu(c,d,I)求取决策表为I 的条件属性为c决策属性为d的属性约简・例如,对于表1所示系统,取c=[1:4],d=[5],得到! $=redu(c,d,I)=[124]・(6)函数$=core(c,d,I)求取决策表为I 的条件属性为c决策属性为d的核属性・例如c,d,I同上例,结果为!$=core(c,d,I)=[12 4]・函数p os(1,Z),redu(c,d,I)和core(c,d,I)的具体算法和程序见文献[7]・另外,也有一些学者从信息论的观点对Rou g1集理论进行研究,以信息熵为基础提出了24东北大学学报(自然科学版)第28卷相应的Rou g h集理论的信息论观点・还有学者提出变精度等扩展粗糙集模型,只要把以上基本算法稍加调整和改变就可以方便地实现相应不同的扩展算法[8-9]・3图形用户界面利用M ATLAB程序特点进行粗糙集仿真大大减少了编程工作量,对于一个成功的软件来说,其内容和基本功能固然应该是第一位的,但除此之外,图形界面的优劣往往也决定着该软件的档次・M ATLAB图形用户界面的优势使得系统工具箱形象直观,容易对输入输出量化论域、属性变量、属性重要度函数和粗糙规则进行修改・也可以通过存贮在w orks p ace或文本文件上的数据进行分析和处理・界面结构的设计利用M ATLAB的GU I DE功能・RsDA系统应用平台的界面程序主要内容就是每个控件的回调函数,利用回调函数,把编制的功能分散的粗糙集函数整合在如图1的主界面中,下面以控件B row se为例,给出回调函数C allback的语句・Function brow se-C allback(h0b j ect,eventdata,hand les)[filena m e,p at hna m e,filteri ndex]=ui g etfile(/!. t xt/,/打开/,/D:"M ATLA B6p5"W0RK"A.TXT/);set(hand les.readx,/stri n g/,[p at hna m e,filena m e])在M ATLAB提示符下键入rsdav3命令则启动如图1所示的仿真工具箱主界面,用户可由其中的B row se按钮读入输入信息表,在相应输入栏给出条件属性C和决策属性D的列号,以及待处理的A,R,Y集合的内容,则可进一步进行分析・例如,单击redu则可以进行约简,结果将在results out p ut栏中显示出来・图1粗糙集仿真工具箱主界面F i g.1Ma i n i nt e rf ace o f r ou g h se t s i mul ati on t oo l box4结论本文介绍了如何利用M ATLAB的集合函数及图形用户界面开发和设计粗糙集仿真工具箱的方法和步骤・将M ATLAB和粗糙集理论有机结合起来,实现了复杂粗糙集应用问题系统的设计和高效仿真及数据约简,对于普及粗糙集理论,推广粗糙集在实际中应用和进一步提高教学效果都具有明显的促进作用・该方法的具体应用实例可以参见文献[10]・软件包的编码还没有进行最优最小化处理,工具箱设计的功能还不完善,系统的性能还需进一步提高,以满足大数据集系统的需要・进一步工作包括增加工具箱的功能,降低算法的复杂度,增加变精度粗糙集模块、连续属性离散化模块、基于信息熵的属性约简、与概率方法和模糊集方法联合的粗糙集处理方法的工具箱模块,由于M ATLAB解释性语言的特点,这些问题用户可很方便地进行处理和扩展・参考文献:[1]Pa w lak Z.Rou g h sets[J].i nternational Journal o fC o m P uter and i n f or m ation s cience,1982,11(5):341-356.[2]Pa w lak Z.Rou g h sets—t heoretical as p ects of reason i n g aboutdata[M].N or w e ll:K lu w er A cade m ic Pub lisher,1991:1-5.[3]Pa w lak Z.Rou g h set a pp roach to know led g e-based decis ionsu pp ort[J].e uro P ean Journal o f0P erational R esearch,1997,99(1):48-57.[4]张雪峰・粗糙集数据分析系统应用平台的研究与程序开发[D]・沈阳:东北大学,2004・(Zhan g Xue-f en g.T he launch and research f or rou g h set dataanal y s is s y ste m[D].s hen y an g:N ort heastern U n ivers it y,2004.)[5]Pa w lak Z,B usse J G,s low i nski R,et al.Rou g h sets[J].C o mm unication o f t he ACM,1995,38(11):89-95.[6]郝丽娜,王伟,吴光宇,等・粗糙集-神经网络故障诊断方法研究[J]・东北大学学报:自然科学版,2003,24(3):252-255・(~ao L i-na,W an g W e i,W u G uan g-y u,et al.R esearch onrou g h set-neural net w ork f ault d ia g nos is m et hod[J].Journalo f N ort heastern uniuersit y:Nat ural s cience,2003,24(3):252-255.)[7]Zhan g X F,Zhan g G L.P ro g ra m realization of rou g h setattri butes reduction[C]#P roceed i n g s o f6t h W orld C on g resson C ontro l and A utom ation(W C I CA2006).P iscata w a y:I EEE,2006:5995-5999.[8]W on g s K M,Z iarko W.0n o p ti m al decis ion tab les i ndecis ion tab les[J].bulletin o f t he P olish A cade m y o fs ciences,1985,33:694-696.[9]N ow icki R,s low i nski R,s tef anow ski J.Evaluation o fvi broacoustic d ia g nostic s y m p tom s b y m eans o f t he rou g h setst heor y[J].C o m P uters in i ndustr y,1992,20(2):141-152.[10]薛定宇,陈阳泉・高等应用数学问题的M ATLAB求解[M]・北京:清华大学出版社,2004:377-382・(Xue D i n g-y u,Chen y an g-C uan.T he so lution on M ATLABo f advanced a pp lication m at he m atics[M].B e i j i n g:T s i n g huaU n ivers it y P ress,2004:377-382.)34第1期张雪峰等:粗糙集数据分析系统M ATLAB仿真工具箱设计。
基于粗糙集的属性约简算法
} 。
…
3
的上 近似 集 B ) 根据 知识 判定 可 能属 ( , 于 的 中的对象 组成 的集合 B X)= { ∈ Ul ( X B( " X ≠ } X)I 1 。
定义 3 正域
收 稿 日期 :0 l 3 1 2 1 - —l 0 基 金项 目 : 国家 自然 科 学 基 金 资 助 项 目( 07 0 9 6543 )
D c u D =Q, = ) ( Cn D 两个不同的集合。 概念 2 完备信息系统与不完备信息系统 在决 策信息系统 D S=< , uD, , UC VP>中, 中每个对
1 2 基本 定义 .
L )= { ( Y∈ UI( Y ,)∈ L , } L = { ∈ UI ( X L ) } , L = { ∈ UJ ( X )n ≠ } 。
() 2 () 3 () 4
定义 1 不可 分辨 关 系
限制容 差关 系具 有 自反 性 和对 称性 , 是不 具 但 有 传递 性 。
步骤 有的约简属性集都包含的不可省略属性 的集合 , 记 为 C R P)=n R D( O E( E P)。
步骤 7 将 R d e 集里的属性与 c集合里剩余的
属性 分别结 合 。 步骤 8 采 用组合 属性 , 复步骤 2 ~6 重 。 步骤 9 从 R d的尾部 开 始 , 后 往前 对 每 个 e 从
2 2 知 识约 简算法 .
q }I D B 是一个等价关系。 )。 ( ) N 由这种等价关 系导
出 的对 的划 分记 为 U ID( , 中包 含样本 的 /N B)其 等价类 记 为 [ ] 。
粗糙集理论的使用方法与步骤详解
粗糙集理论的使用方法与步骤详解引言:粗糙集理论是一种用来处理不确定性和模糊性问题的数学工具,它在数据分析和决策支持系统中得到了广泛的应用。
本文将详细介绍粗糙集理论的使用方法与步骤,帮助读者更好地理解和应用这一理论。
一、粗糙集理论概述粗糙集理论是由波兰学者Pawlak于1982年提出的,它是一种基于近似和粗糙程度的数学理论。
粗糙集理论的核心思想是通过对属性间的关系进行分析,识别出数据集中的重要特征和规律。
它主要包括近似集、正域、决策表等概念。
二、粗糙集理论的使用方法1. 数据预处理在使用粗糙集理论之前,首先需要对原始数据进行预处理。
这包括数据清洗、数据变换和数据归一化等步骤,以确保数据的准确性和一致性。
2. 构建决策表决策表是粗糙集理论中的重要概念,它由属性和决策构成。
构建决策表时,需要确定属性集和决策集,并将其表示为一个矩阵。
属性集包括原始数据中的各个属性,而决策集则是属性的决策结果。
3. 确定正域正域是指满足某一条件的样本集合,它是粗糙集理论中的关键概念。
通过对决策表进行分析,可以确定正域,即满足给定条件的样本集合。
正域的确定可以通过计算属性的约简度或者使用启发式算法等方法。
4. 近似集的计算近似集是粗糙集理论中的核心概念,它是指属性集在正域中的近似表示。
通过计算属性集在正域中的近似集,可以确定属性之间的关系和重要程度。
近似集的计算可以使用不同的算法,如基于粒计算、基于覆盖算法等。
5. 属性约简属性约简是粗糙集理论中的一个重要问题,它是指从属性集中选择出最小的子集,保持属性集在正域中的近似表示不变。
属性约简的目标是减少属性集的复杂性,提高数据分析和决策的效率。
属性约简可以通过计算属性的重要度、使用启发式算法或者遗传算法等方法实现。
6. 决策规则的提取决策规则是粗糙集理论中的重要结果,它是从决策表中提取出来的一组条件和决策的组合。
决策规则可以帮助我们理解数据集中的规律和特征,从而做出更好的决策。
一种基于粗糙集的属性值约简方法
摘
要
利用矩 阵的可操作性等优点 , 将决策表 中的知识通过 区分矩阵反映 出来 , 对决策表 的值 约简操作转换 为对 矩阵 的运算。
提 出基 于区分矩 阵的一些重要性质及在此基础上 的属性值约简方法 , 最后通过 实验和 实例验证 了该 算法是有 效可行 的。
关 键 词 粗 糙 集 区分 矩 阵 属 性 值 约 简 属 性 重 要 度
ATTRI BUTE VALUE REDUCTI oN ALGoRI THM BAS ED oN RoUGH SET TH Eo RY
Ch n Xio u e ay n La n h a , n Co g u
Ke wo d y rs
Ro g e D s e n b e marx A t b t au e u t n At iu e sg i c n e u h st ic r a l t t i u e v le r d ci i r o t b t inf a c r i
U 如果 Va∈P, , 都有 f , )=f Y a 。说 明仅 仅根据 条件 ( a (,)
0 引 言
粗糙集理论是一种新 型的处理不 确定 的 、 模糊 的和不完 整
属性子集 P提供的信息 , 无法将对 象 , Y区分开来 , 称对象 , Y 在条件属性子集 P上是不可 区分 的 , 记为 : D( I P):{ ,)∈ N ( Y U×UI Va∈ P , ) 厂 Y a }I D( 是 U上的等价关 系。 a :_ , ) , ( N P)
信息 的数学工具。在粗糙集 理论 中, 知识被 看作是关 于论域 的 划分 , 是一种对对象进行分类 的能力 , 理论是建立 在集 合的基 该
属性约简(MATLAB算法)有实例有讲解
粗糙集属性约简注:这是我学粗糙集时老师给的作业属性约简的顺序如下:求正域、生成未经处理的区分矩阵、对区分矩阵进行化简、求核、对已经处理过的区分矩阵进行属性约简。
约简后的决策表有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,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*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)&~i sxybelongtoindD(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;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,i)~=0row=row+1;endendred(1:row,:)=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;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(j,1)=-1;p=p-1;elseif 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% 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;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;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)=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)~=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;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% isxybelongtoindD.m% 判断x,y是否在indD中% x,y为索引值% 返回值p,如果x,y在indD中p=1否则p=0 function p=isxybelongtoindD(x,y,d)if x<=0 | x>size(d) | y<=0 | y>size(d) p=-1;return;endif d(x)==d(y)p=1;else p=0;end约简后的决策表如有侵权请联系告知删除,感谢你们的配合!。
一种基于Rough集的海量数据属性约简方法
第21卷第4期重庆邮电大学学报(自然科学版)Vol .21 No .42009年8月Journa l of Chongq i n g Un i versity of Posts and Teleco mm un i ca ti on s(Na tura l Sc i ence Ed iti on)Aug .2009一种基于Rough 集的海量数据属性约简方法收稿日期:2009203225 基金项目:国家自然科学基金(60573068);重庆市自然科学基金重点项目(2008BA2017);重庆市教育委员会科学技术研究项目(KJ090512,KJ7150080050)胡 峰,张 杰,刘 静,肖大伟(重庆邮电大学计算机科学与技术研究所,重庆400065)摘 要:海量数据属性约简的研究是数据挖掘研究中的一个难点。
已有的许多属性约简算法对于空间复杂度考虑得不够,导致了算法不能适应大数据集的约简处理。
结合分治法,在给定属性序下,提出了基于分治策略的属性约简算法。
利用该算法可以快速得到海量数据的属性约简结果。
仿真实验结果说明了该算法的高效性。
关键词:粗集;数据挖掘;分治;属性约简;属性序中图分类号:TP18 文献标识码:A文章编号:16732825X (2009)0420455206A ttr i bute reducti on a lgor ith m for huge da t a ba sed on rough set theoryHU Feng,ZHANG J ie,L IU J ing,X I A O Da 2wei(I nstitute of Computer Science and Technol ogy,Chongqing University of Posts and Telecommunicati ons,Chongqing 400065,P .R.China )Abstract:The attribute reducti on of huge data is a difficult p r oble m in the research of data m ining .A t p resent,many at 2tribute reducti on algorith m s lack considerati on on s pace comp lexity,which makes the m cannot adap t t o the reducti on of large data set .I n this paper,an attribute reducti on algorith m of ordered attributes was p r oposed based on the divide and conquer,and this algorith m can be used t o dealwith huge data reducti on .Si m ulati on results show the efficiency of the algo 2rith m.Key words:r ough set;data m ining;divide and conquer;attribute reducti on;attribute order0 引 言海量数据是指巨大的、浩瀚的数据。
基于粗糙集理论的决策表属性约简算法
2O 07年 l 月 2 第 2 卷 第 4期 2
山 东 师 范 大 学 学 报 ( 然 科 学 版) 自 Junl f hnogN u a U i rt( a r c ne ora o adn onl n e i N t a Si c) S v sy ul e
是属性值 的集合 , 即属 性 的值 域集 , 中 是 属性 。 其
∈A的值 域 ; 是信 息函数 ,: . 厂 厂 U×A+ , . ,o ∈V 它指定了 U中每一对象 的属性值 . 即厂 ( ) , 我们将具 有条件属 性和决策 属
在决策表 中, 对于属性子 集 Rc A, 可 分辨 关 系 1D( 定 义 为 :N R)={ 不 N R) I D( ( ,Y E U×UI f ,。 ) VoE R, ( ):
便于叙述 , 设决策表 中对象 的个数 为 n 条件属性集 合 C有 m个属性 , , 其值 域为有 限离散集 合 , 用 I 表示集 合 的基 . 并 *I 由决
策属性 D导 出的等价类构成 U的一个划分 : :{ 。 , , , } … , . 在决策表 C 中, D 若一些对象具有相 同的条件属性值而属 于不 同的决策类 , 则称 这些对象为不一致对象 , 否则称为一致 性
- Y ) . D( 是一个等价关 系 , 厂 ,o } 1 ) ( N 对象 在属性集 R上 的等 价类[ ( 义为 : () YI E U, D( }为方 ] 刚定 [ ] :{ y1 R) . y N
便起见 , 在不 产生混淆的情况下用 R代替 1D( . N R)等价关 系 ID( ) 1 D( 中的等价类 分别称 为条件 类 和决策类 . 了 N C 和 N D) 为
但在理论上证 明它们对 最小约简是不完备 的 . 文献 [ ] 5 中利用 区分矩 阵 的特性 , 出的算 法 只是 针对 一致性 的决 策表和在 核 提 值存在 的情况 下才 能适 用 ; 文献 [ ] [ ] 6和 7 虽然算法的效率较高 , 但不一定能 找到系统的最小约简 . 因为在进 行求解决策表属性约简 P过程 中 , 实际上是 寻找使 得所有一致性对象在 P上 也是 一致 性对象 的过程 . 即是说在
粗糙集理论的常见使用方法介绍
粗糙集理论的常见使用方法介绍粗糙集理论是一种用于处理不确定性和模糊性问题的数学工具,它在数据挖掘、模式识别和人工智能等领域得到了广泛的应用。
本文将介绍粗糙集理论的常见使用方法,包括近似集的构建、属性约简和决策规则的提取。
一、近似集的构建近似集是粗糙集理论的核心概念之一,它用于描述数据集中的不确定性信息。
在实际应用中,我们通常需要根据给定的数据集构建近似集。
构建近似集的方法有多种,其中最常见的是基于属性约简的方法。
首先,我们需要将原始数据集进行离散化处理,将连续属性转换为离散属性。
然后,根据数据集中的属性之间的关系构建一个属性关系矩阵。
属性关系矩阵中的每个元素表示两个属性之间的关系强度,可以使用不同的度量方法来计算。
接下来,我们可以根据属性关系矩阵来构建近似集,其中每个近似集表示一个属性的约简。
二、属性约简属性约简是粗糙集理论中的一个重要问题,它用于减少数据集中的冗余属性,提高数据挖掘和模式识别的效率。
属性约简的目标是找到一个最小的属性子集,使得该子集能够保持数据集中的信息完整性。
属性约简的方法有多种,其中最常用的是基于启发式算法的方法。
启发式算法通过迭代搜索的方式,逐步减少属性集合的大小,直到找到一个最小的属性子集。
常见的启发式算法包括遗传算法、模拟退火算法和粒子群优化算法等。
三、决策规则的提取决策规则是粗糙集理论的另一个重要应用,它用于从数据集中提取出具有决策能力的规则。
决策规则的提取可以帮助我们理解数据集中的规律和模式,从而做出准确的决策。
决策规则的提取方法有多种,其中最常用的是基于属性约简的方法。
首先,我们可以根据属性约简的结果,将数据集划分为多个等价类。
然后,对每个等价类进行进一步分析,提取出具有决策能力的规则。
最后,通过对规则进行评估和选择,得到最终的决策规则集合。
四、案例分析为了更好地理解粗糙集理论的应用方法,我们可以通过一个案例来进行分析。
假设我们有一个销售数据集,其中包含了客户的属性信息和购买的产品信息。
基于粗糙集理论的属性约简算法的VB实现
约简算法的研究具有特别意义 ’ 在研究粗糙集理论及属性约简 算 法 的 过 程 中 $需 要 对 各 种 算 法 的 有 效 性 进 行 验 证 $对 各 种 算 法的效率进行对比 $ 而且研究粗糙集理论的最终目的是将其应 用于实际的各种数据库的运算中 $ 因此我们开发了一套用于研 究 粗 糙 集 理 论 属 性 约 简 算 法 的 软 件 $ 该 软 件 以 "8 实 现 $ 作 为 研究粗糙集理论的辅助工具 ’ 本文首先对粗糙集理论基本概念 进 行 介 绍 $接 着 介 绍 该 软 件 的 设 计 和 结 构 功 能 $举 例 说 明 该 软 件的应用 $ 并提出该软件有待进一步扩展的功能 ’
!"
产品 ’ 研发 ’ 测试 & &
!!!!!!!" !"
!!!!!!!"
摘 要 关键词
基于粗糙集理论的属性约简算法的 "# 实现
熊红艳 徐 宁 章 云 !广东工业大学自动化学院 "广州 $%&&’& #
()*+,- !.,/012/013+045/*67/*
粗糙集理论成为近年来数据挖掘领域的研究热点 " 基于粗糙集理论的属性约简算法具有重要的研究意义 " 开发
!"#$%"&’()’* +((,-./(% 012/3(-4’ +5*4,-(6" 789&2 4’ :4/*6 ;&( <6&4,= >9-’* ?7
@-4’* A4’*=B’ @/ C-’* D6B’* E/’
">?5/*+5,/0 @+7?-53#A?+01B/01 C0,DEFG,53 /H ;E720/-/13$A?+01I2/? $%&&’&%
序信息系统中变精度粗糙集属性约简的Matlab实现
变精度 粗糙 集属 性 约 简的计 算 。 当序 信 息 系统 变精 度 粗糙 集考 虑单 个优 势决 策 时 , 约 简类 型不 受 系统 协调 性 的影 响 , 因此进 行 了考 虑 单 个优 势 决 策 的约 简计 算研 究 , 并 和 可行 性 。
i n Do mi n a nc e - Ba s e d Va r i a b l e Pr e c i s i o n Ro ug h S e t
x u We i — h u a , Z H A N G X i a n — t a o , WA N G Q i a o — r o n g
第2 7卷 第 1 期
Vo 1 . 2 7 No. 1
重 庆 理 工 大 学 学 报 (自然科 学 )
J o u r n a l o f C h o n g q i n g Un i v e r s i t y o f T e c h n o l o g y ( N a t u r a l S c i e n c e )
关
键
词: 序 信 息 系统 ; 变精度 ; 属性约简; 单个优 势决策
文献标 识码 : A 文章编 号 : 1 6 7 4— 8 4 2 5 ( 2 0 1 3 ) 0 1 — 0 1 0 7— 0 9
中图分 类 号 : T P 1 8
Ex p e r i me n t a l Co mp u t i n g o n At t r i b u t e Re d u c t i o n b y Ma t l a b
Ab s t r a c t :Ac c o r d i n g t o t h e t h e o r y o n Do mi n a n c e — b a s e d v a r i a b l e p r e c i s i o n r o u g h s e t ,we s t u d y a n d p r o g r a m Ma t l a b c o d e s t o c o mp u t e t h e a t t r i b u t e r e d u c t i o n s a n d r e a l i z e t h e v a ia r b l e p r e c i s i o n r o u g h s e t i n o r d e r e d i n f o r ma t i o n s y s t e ms .W h i l e a s i n g l e d o mi n a n c e d e c i s i o n i s c o n s i d e r e d i n a n o r d e r e d i n f o r .
粗糙集理论的使用方法与建模步骤详解
粗糙集理论的使用方法与建模步骤详解粗糙集理论是一种用于处理不确定性和模糊性问题的数学工具。
它是由波兰数学家Pawlak于1982年提出的,被广泛应用于数据挖掘、模式识别、决策分析等领域。
本文将详细介绍粗糙集理论的使用方法和建模步骤。
一、粗糙集理论的基本概念粗糙集理论的核心思想是通过对数据进行粗糙划分,找出数据之间的相似性和差异性,从而进行有效的分类和决策。
在使用粗糙集理论进行建模之前,我们首先需要了解一些基本概念。
1.1 上近似集和下近似集上近似集是指在给定条件下,能够包含所有与目标属性有关的样本的集合;下近似集是指在给定条件下,能够完全确定与目标属性有关的样本的集合。
1.2 等价类和不可区分关系等价类是指在相同条件下,具有相同目标属性的样本所构成的集合;不可区分关系是指在给定条件下,无法通过已有的属性来区分不同的样本。
二、粗糙集建模的步骤在使用粗糙集理论进行建模时,我们可以按照以下步骤进行操作。
2.1 数据预处理在进行粗糙集建模之前,我们需要对原始数据进行预处理。
预处理包括数据清洗、数据转换、数据归一化等操作,以确保数据的质量和可用性。
2.2 属性约简属性约简是粗糙集建模中的关键步骤。
通过属性约简,我们可以从原始数据中选择出最具代表性的属性,减少冗余信息,提高模型的效率和准确性。
2.3 确定目标属性在进行粗糙集建模时,我们需要明确目标属性。
目标属性是我们希望通过建模来预测或分类的属性。
2.4 确定条件属性条件属性是用来描述和区分不同样本的属性。
在确定条件属性时,我们需要根据实际问题和数据特点选择合适的属性。
2.5 构建上近似集和下近似集通过已知的条件属性和目标属性,我们可以构建上近似集和下近似集。
上近似集包含了所有与目标属性有关的样本,下近似集则包含了能够完全确定与目标属性有关的样本。
2.6 确定等价类和不可区分关系根据上近似集和下近似集,我们可以确定等价类和不可区分关系。
等价类是具有相同目标属性的样本集合,不可区分关系则是无法通过已有的属性来区分不同的样本。
粗糙集理论中的属性约简方法介绍
粗糙集理论中的属性约简方法介绍粗糙集理论是一种用于处理不确定性和模糊性问题的数学工具,它在数据挖掘、机器学习和模式识别等领域得到了广泛应用。
属性约简是粗糙集理论中的一个重要概念,它能够帮助我们从大量的属性中找到最为重要的属性,减少数据处理的复杂性。
本文将介绍粗糙集理论中的一些常用属性约简方法。
1. 正域约简方法正域约简方法是粗糙集理论中最为常用的一种属性约简方法。
其基本思想是通过比较不同属性对决策类别的区分能力,来确定最为重要的属性。
具体步骤如下:首先,计算每个属性与决策类别之间的依赖度,依赖度越大表示属性对决策类别的区分能力越强。
然后,根据依赖度的大小进行排序,选择依赖度最大的属性作为初始约简。
接下来,逐步添加其他属性,并计算约简后的属性集对决策类别的依赖度。
如果添加属性后的依赖度没有显著提高,则停止添加,得到最终的约简属性集。
2. 相关属性约简方法相关属性约简方法是一种基于属性之间相关性的约简方法。
它通过计算属性之间的相关系数或互信息量来评估属性之间的相关性,并选择相关性较低的属性进行约简。
具体步骤如下:首先,计算属性之间的相关系数或互信息量。
然后,根据相关系数或互信息量的大小进行排序,选择相关性较低的属性作为初始约简。
接下来,逐步添加其他属性,并计算约简后的属性集的相关系数或互信息量。
如果添加属性后的相关性没有显著提高,则停止添加,得到最终的约简属性集。
3. 基于粒计算的约简方法基于粒计算的约简方法是一种基于粒度理论的属性约简方法。
它通过将属性集划分为不同的粒度,来减少属性的数量。
具体步骤如下:首先,将属性集划分为不同的粒度。
每个粒度包含一组相关性较高的属性。
然后,选择每个粒度中最为重要的属性作为初始约简。
接下来,逐步添加其他粒度,并计算约简后的属性集的重要性。
如果添加粒度后的重要性没有显著提高,则停止添加,得到最终的约简属性集。
4. 基于遗传算法的约简方法基于遗传算法的约简方法是一种基于进化计算的属性约简方法。
mitra提出的粗糙模糊c均值算法的matlab代码
mitra提出的粗糙模糊c均值算法的matlab代码Mitra提出的粗糙模糊C均值算法是一种用于聚类的算法,它结合了粗糙集理论和模糊聚类方法,具有较好的性能和适用性。
下面是将Mitra提出的粗糙模糊C均值算法实现为Matlab代码的详细步骤。
一、准备工作在开始编写Matlab代码之前,需要确保已经安装了Matlab软件,并且已经安装了模糊聚类工具箱。
二、代码实现1. 导入数据首先,我们需要导入要进行聚类的数据。
假设数据存储在一个矩阵中,每一行代表一个样本,每一列代表一个特征。
可以使用Matlab的load函数来导入数据。
2. 定义模糊矩阵在粗糙模糊C均值算法中,需要定义一个模糊矩阵。
模糊矩阵是一个介于0和1之间的数值,表示样本属于各个聚类中心的隶属度。
可以使用Matlab的rand函数来生成一个模糊矩阵。
3. 调用RoughFuzzyCMeans函数接下来,需要调用Mitra提出的RoughFuzzyCMeans函数来进行聚类。
该函数需要输入数据、模糊矩阵和聚类参数,并返回聚类结果。
以下是一个简单的Matlab代码示例,演示如何使用RoughFuzzyCMeans函数进行聚类:```matlab% 导入数据data = load('data.mat');% 定义模糊矩阵F = rand(size(data,1),size(data,2));% 调用RoughFuzzyCMeans函数进行聚类[U,C,D,T,V] =RoughFuzzyCMeans('Input',data,'FuzzyMatrix',F,'NumClusters',3,'Method',' maxclust');```在上面的代码中,'Input'参数是输入数据,'FuzzyMatrix'参数是模糊矩阵,'NumClusters'参数是聚类数目,'Method'参数是聚类方法。
粗糙集属性约简算法的实现与应用
K ywod :ru t a r ue eu t n dse it tx pera n; frsyi o a o e r s og s ; ti t d c o ; i mblyma i; rt t t o t n r t nmaa e n s m h e tb r i c i r e me e r fm i n g metyt s e
o a t b t e u t n ag rt msi ic s e . Th n i i r a ie t s a + a d a p id t r sr f r t n ma a e n f t i u e rd ci o h sd s u s d r o l i e , t se l d wi V u l z h i C+ , n p l f e ty i o ma o n g me t e o o n i s se y t m. S t a t r aa b s i ef c o s t a e玳 p e r ame t dt d c h ed me s n l y o a t di r v h ee c e c fd t n l ss n r d r te t n e or u et i n i ai fd a a e o t n mp o et f in y o a aa ay i o - i e
2 c o l f mp tr .S h o o Co ue,Ha g h uEe to i S in ea dT c n lg iest,Ha g h u3 0 1 ,Chn ) n z o lcrnc ce c n e h oo yUnv ri y n z o 0 1 8 ia
中图法分 类号 :P9 T 31
文献标 识码 : A
文章编 号 :0072 ( 0)407— 10— 42 70- 7 3 0 0 7 0
表面粗糙度计算公式用matlab编程
表面粗糙度计算公式用matlab编程全文共四篇示例,供读者参考第一篇示例:表面粗糙度是描述表面几何形态的一个参数,通常用于评价工件表面的光洁度和质量。
表面粗糙度通常用Ra值(平均粗糙度)来表示,Ra值越小代表表面越光滑。
而计算表面粗糙度的公式是通过对表面的高度数据进行统计分析来得到的。
在工程领域中,粗糙度的计算是一个非常重要的问题,可以在生产加工过程中进行质量控制和优化工艺。
本文将介绍如何使用Matlab编程来计算表面粗糙度的Ra值。
Matlab是一种强大的科学计算软件,可以用来处理各种数据分析和数学运算问题。
通过编写程序来进行表面粗糙度的计算,可以提高计算效率,并且减少人为误差。
下面将介绍如何用Matlab编程实现表面粗糙度计算。
首先,我们需要获取表面的高度数据。
这些数据通常来源于表面扫描仪或者测高仪,可以保存为txt文件或者Excel文件。
在Matlab 中,我们可以使用readtable函数来读取高度数据文件,并将数据存储在一个矩阵中。
接下来,我们需要对高度数据进行处理,计算Ra值。
计算Ra值的基本步骤如下:1. 将高度数据归一化,即将数据的中心点调整到零点,以便后续计算。
2. 计算高度数据的梯度,即计算相邻两个点之间的高度差值。
3. 计算高度数据的平方,并对结果进行求和。
4. 将结果开方,得到均方根值,即Ra值。
下面是具体的Matlab编程实现代码:```matlab% 读取高度数据文件data = readtable('height_data.txt');height = table2array(data);% 归一化高度数据mean_height = mean(height);height = height - mean_height;% 计算高度数据的梯度gradient_height = diff(height);% 计算均方根值Raroughness =sqrt(sum(gradient_height.^2)/length(gradient_height));disp(['表面粗糙度Ra值为: ', num2str(roughness)]);```通过以上代码,我们可以得到表面的粗糙度Ra值。
粗糙集属性约简matlab程序
粗糙集属性约简m a t l a b程序标准化管理部编码-[99968T-6889628-J68568-1689N]粗糙集-属性约简-m a t l a b程序Data2为条件属性,decision2为决策属性%%%my_test函数实现clc;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%读取信息系统文件file=textread('data2.txt','%s','delimiter','\n','whitespace','');%读取文件信息,每一行为一个胞元[m,n]=size(file);%胞元的大小fori=1:mwords=strread(file{i},'%s','delimiter','');%读取每个胞元中字符,即分解胞元为新的胞元words=words';%转置X{i}=words;endX=X'; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%[B,num,AT]=my_reduct(X);%信息系统的约简ind_AT=ind(X);%信息系统的不可等价关系%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%显示约简信息系统disp('约简后的条件系统为:');[m,n]=size(B);fori=1:mdisp(B{i});end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%读取决策系统文件file=textread('decision2.txt','%s','delimiter','\n','whitespace','');[m,n]=size(file);fori=1:mwords=strread(file{i},'%s','delimiter','');words=words';D{i}=words;endD=D'; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%决策系统的正域约简X_D=X;[l,k]=size(X_D{1});pos_d=pos(X_D,D);%正域fori=1:m%%%%%%%%%%%%%%正域有问题%%%%%%%%%%%%%%%%%%%%%%%%%%%if(~ismember(num(i),pos_d))B{i}='';%若约简后的信息系统B{i}不在正域中则删除该行end%因为相同的条件得到的决策不一样,end%将在正域规则下约简过的信息系统B连接决策系统Dfori=1:mif(~isequal(B{i},''))B{i}{1,k+1}=D{i}{1};endend %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%显示约简决策系统disp('约简后的决策系统为:');[m,n]=size(B);fori=1:mdisp(B{i});end--------------------------------------------------------------------------------%%%%%my_reduct函数实现function[C,num,reduct_attr]=my_reduct(X)%%%%%y为约简后的cell数组,reduct_attr为可约去的属性%X为行向量(元素为胞元)clc; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%约简[m,n]=size(X);[p,k]=size(X{1});ind_AT=ind(X);%寻找不可等价关系reduct_attr=[];%可约去的的属性num=zeros(m,1);%约简后的信息对应的个体fori=1:kB=delete_AT(X,i);if(isequal(ind_AT,ind(B)))%若IND(AT-{a}=IND(AT)reduct_attr=union(reduct_attr,i);%则寻找到可约去的属性X=B;endend%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%剔除重复的行k=1;fori=1:mif(~isequal(ind_AT{i},[]))C_i=ind_AT{i,1}(1);num(k)=i;C{k,1}=X{C_i};%返回约简后的信息系统k=k+1;endend--------------------------------------------------------------------------------%%%%%ind函数实现functionyy=ind(X)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%寻找不可分辨关系k=1;ind_AT=cell(m,1);fori=1:mforj=(i+1):m%潜在问题,如i=m是终止循环,此时若最后一行不为空的话,将漏扫if(~isequal(X{i},''))%若X{i}不为空ind_AT{k}=union(ind_AT{k},i);%不可等价关系赋初值if(isequal(X{i},X{j}))X{j}='';%若X{i}==X{j},则删除X{j}ind_AT{k}=union(ind_AT{k},j);%寻找不可等价关系endendendk=k+1;end--------------------------------------------------------------------------------%%%delete_AT函数的源代码functiony=delete_AT(X,ATi)%删除X中第i列的属性值[m,n]=size(X);[l,k]=size(X{1});fori=1:mX{i}{ATi}='';endy=X;--------------------------------------------------------------------------------%%%%%pos函数实现functionpos_d=pos(X,D)%求决策系统的正域函数%X为条件属性,D为决策属性ind_D=ind(D);%求决策属性D的不可等价关系[m,n]=size(ind_D);ind_X=ind(X);%求信息系统属性X的不可等价关系low=[];%存储正域个体的编号fori=1:mforj=1:mif(~isequal(ind_X{i},[])&&~isequal(ind_D{j},[]))if(ismember(ind_X{i},ind_D{j}))low=union(low,ind_X{i});%由性质Pos_AT(d)=low_AT(X1)Ulow_AT(X2)U...endendendendpos_d=low;。
基于粗糙集的符号与数值属性的快速约简算法
1000
2000
3000
numbers of samples
统已提示 out of memory.且在占用虚拟内存时,
(a) abalone 上的计算时间
计算速度异常变慢,计时方式来对比已不科学. 由于时间太长,abalone 未能计算完成.该方法 在后面大数据实验时不作比较.
在FARNeMF与FARNeM1 的比较中(图 2),发 现由于FARNeMF大量减少了样本比较次数,较大 幅度地提高了计算速度图 2(c,e).例外的是图 2(a),FARNeM1 居然比FARNeMF速度还快些.但两
性质 2: M ⊆ N ⊆ C , X ⊆ U ,则 ∀x ∈U ,若 δ M (x) ⊆ M X 则δ N (x) ⊆ N X . 证明:由下近似定义可知 δ M (x) ⊆ X ,由性质 6 可得 δ N (x) ⊆ δM (x) ⊆ X ,从而由下近似定义得 δ N (x) ⊆ N X 由性质2中 x 任意性,可得
3) Δ(x1, x3 ) ≤ Δ(x1, x2 ) + Δ(x2 , x3 ) .
对于 N 个属性的样本集,距离常用 P 范数表 示为
∑ Δ
P
(
x1
,
x
2
)
=
⎜⎜⎝⎛
N i =1
|
f (x1, ai ) −
f (x2 , ai ) |P ⎟⎟⎠⎞1/ P
其中 f (x, ai ) 为样本 x 在属性 ai 上的取值.
4. 实验分析
为测试优化算法的效果,采用 UCI 数据集作
对比实验. 所用的数据集构成如表 1 所示.
表 1 数据集描述
数据集
样本个数
数值型属性
符号型属性
粗糙集数据分析系统的程序实现
第3 期
张雪峰等. 粗糙集数据分析系统的程序实现
67
别是基于粗糙集方法的数据知识表达和推理方法,
为专家控制系统的建立奠定了重要的基础。因此,
建立粗糙集数据分析系统是智能信息处理中的重要
研究任务。
MATLAB 是 Matri X Laborat ory(矩阵 实 验 室) 的缩写,它以复数矩阵作为基本编程单元,特别适用
设 X ,Y GU,R 是定义在 U 上的等价关系,集 合 X 关于 R 的下逼近为:
R -(X )= U{Y GU/R :Y 二 X } R -(X )是根据现有知识判断肯定属于 X 的对 象组成的最大的集合,称为正区,记为 POS(X )。上 逼近为:R(' X )= U{Y GU/R :Y nR 羊!},其中:! 表示为空集。R -(X )是由所有集合 X 相交非空的 等效类的并集,是那些可能属于 X 的对象组成的最 小集合。集合边界区定义为:
3 .School of Mechanical engineering & Auto mation ,Nort heastern Unioersity ,Shenyang Liaoning 110004 ,P . R .China ) Receioed 17 Nooe mber 2003 ;reoised 5 APril 2004 ;accePted 1 June 2004
consi dered and conti nuous attri butes were changed i nto discrete attri butes . Two i mportant concepts of i ndiscerni bilit y relati on and relati vel y positi ve regi on were mai nl y f ocused on . Usi ng t he dependant degree of knowledge ,t he al gorit h m of rough set data anal ysis syste m was sub mitted . Compari ng t he nu mbers of reduced attri butes ,t he result of mi ni mal attri butes reducti on was selected . Progra m realizati on of many al gorit h ms of solvi ng relati ve core ,upper(lower )approxi mati on ,eCui valence relati on ,relati vel y si gnificant degree ,relati vel y attri butes reducti on ,relati vel y val ue reducti on ,mi ni mal decisi on rules was obtai ned . The MATLAB progra ms of above fiel ds were gi ven . At last ,runni ng results of f act ual engi neeri ng syste m were promoted . Si mulati on results f or rolli ng beari ngs show t hat t he met hod i mproves t he rate of f ault diagnostic ,si mplifies t he diagnostic rules . It is obvi ousl y f act ual
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
粗糙集-属性约简-matlab程序
Data2为条件属性,decision2为决策属性
%%%my_test函数实现
clc;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%读取信息系统文件
file = textread('data2.txt','%s','delimiter','\n','whitespace',''); %读取文件信息,每一行为一个胞元
[m,n]=size(file); %胞元的大小
for i=1:m
words=strread(file{i},'%s','delimiter',' ');%读取每个胞元中字符,即分解胞元为新的胞元
words=words';%转置
X{i}=words;
end
X=X';
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[B,num,AT]=my_reduct(X); %信息系统的约简
ind_A T=ind(X); %信息系统的不可等价关系
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%显示约简信息系统
disp('约简后的条件系统为:');
[m,n]=size(B);
for i=1:m
disp(B{i});
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%读取决策系统文件
file = textread('decision2.txt','%s','delimiter','\n','whitespace','');
[m,n]=size(file);
for i=1:m
words=strread(file{i},'%s','delimiter',' ');
words=words';
D{i}=words;
end
D=D';
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%决策系统的正域约简
X_D=X;
[l,k]=size(X_D{1});
pos_d=pos(X_D,D);%正域
for i=1:m %%%%%%%%%%%%%%正域有问
题%%%%%%%%%%%%%%%%%%%%%%%%%%%
if(~ismember(num(i),pos_d))
B{i}=''; %若约简后的信息系统B{i}不在正域中则删除该行
end %因为相同的条件得到的决策不一样,
end
%将在正域规则下约简过的信息系统B连接决策系统D
[m,n]=size(B);
for i=1:m
if(~isequal(B{i},''))
B{i}{1,k+1}=D{i}{1};
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%显示约简决策系统
disp('约简后的决策系统为:');
[m,n]=size(B);
for i=1:m
disp(B{i});
end
--------------------------------------------------------------------------------
%%%%%my_reduct函数实现
function [C,num,reduct_attr]=my_reduct(X)
%%%%%y为约简后的cell数组,reduct_attr为可约去的属性
%X为行向量(元素为胞元)
clc;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%约简
[m,n]=size(X);
[p,k]=size(X{1});
ind_A T=ind(X);%寻找不可等价关系
reduct_attr=[]; %可约去的的属性
num=zeros(m,1);%约简后的信息对应的个体
for i=1:k
B=delete_A T(X,i);
if(isequal(ind_A T,ind(B))) %若IND(AT-{a}=IND(A T)
reduct_attr=union(reduct_attr,i); %则寻找到可约去的属性
X=B;
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%剔除重复的行
k=1;
for i=1:m
if(~isequal(ind_A T{i},[]))
C_i=ind_A T{i,1}(1);
num(k)=i;
C{k,1}=X{C_i}; %返回约简后的信息系统
k=k+1;
end
end
--------------------------------------------------------------------------------
%%%%%ind函数实现
function yy=ind(X) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%寻找不可分辨关系[m,n]=size(X);
k=1;
ind_A T=cell(m,1);
for i=1:m
for j=(i+1):m %潜在问题,如i=m是终止循环,此时若最后一行不为空的话,将漏扫if(~isequal(X{i},'')) %若X{i}不为空
ind_A T{k}=union(ind_A T{k},i); %不可等价关系赋初值
if(isequal(X{i},X{j}))
X{j}=''; %若X{i}==X{j},则删除X{j}
ind_A T{k}=union(ind_A T{k},j); %寻找不可等价关系
end
end
end
k=k+1;
end
--------------------------------------------------------------------------------
%%%delete_A T函数的源代码
function y=delete_AT(X,ATi) % 删除X中第i列的属性值
[m,n]=size(X);
[l,k]=size(X{1});
for i=1:m
X{i}{A Ti}='';
end
y=X;
--------------------------------------------------------------------------------
%%%%%pos函数实现
function pos_d=pos(X,D)%求决策系统的正域函数
%X为条件属性,D为决策属性
ind_D=ind(D); %求决策属性D的不可等价关系
[m,n]=size(ind_D);
ind_X=ind(X); %求信息系统属性X的不可等价关系
low=[]; %存储正域个体的编号
for i=1:m
for j=1:m
if(~isequal(ind_X{i},[])&&~isequal(ind_D{j},[]))
if(ismember(ind_X{i},ind_D{j}))
low=union(low,ind_X{i});%由性质Pos_A T(d)=low_AT(X1)Ulow_A T(X2)U...
end
end
end
end
pos_d=low;。