3.4.3基于属性重要性的启发式属性约简算法
根据粗糙集理论关于核属性的定义,核属性集合就是信息系统或决策表中所有约简的交集,因此,核属性集合就是属性约简集合中最重要的组成部分,它也可以作为求取属性约简的计算基础。所以,基于属性重要性的约简算法是从决策系统的核值出发,并以核属性集合作为一个约简集合,一粗糙集理论作为主要依据,选择属性重要大的条件属性加入到约简集合中,直到决策属性完全依赖于条件属性为止。
对于决策表S=(U,A ,V, f),A=C∪D是属性集,C∩D=ø,C是条件属性集
合,D为决策属性集合,R⊆C,那么,对于这个决策表而言,它的决策属性D相对于条件属性R的依赖度可以定义如下:k=r(R,D )=| POSR(D) | / | U |
在条件属性R确定的情况下,一个条件属性a∈C-R关于决策属性D的属性重要性定义为:SGF(a,R,D)=r({R+a},D)-r(R,D)
SGF(a,R,D)说明把条件属性a加入到属性集合R后,条件属性R与决策属性D之间的依赖度的变化情况。SGF(a,R,D)的值越大,条件属性a对决策属性D就越重要;SGF(a,R,D)的值越小,条件属性a对决策属性D就显得无关紧要[19]。
基于属性重要性的约简算法[23]:
输入:信息系统S=(U,A ,V,f),其中A=C∪D是属性集,C∩D=ø,C是条件属性集合,D为决策属性集合。
输出:该系统的一个约简REDD(C)
步骤1:求取信息系统的相对核属性集合CORED(C);
(1)根据决策系统的属性,列出S的可辨识矩阵M;
(2)求取M中所有单个元素组成的集合,即相对核属性集合CORED(C);
步骤2:将求取的相对核作为一个属性约简集合,REDD(C)= CORED(C);
步骤3:其余条件属性作为另一个集合Cˊ,Cˊ= C - REDD(C);
步骤4:在Cˊ中找出使得属性重要性SGF(a, REDD(C),D)=r(REDD(C)∪{a},D)-r(REDD(C),D)取最大值的属性a;
步骤5:假如同时使属性重要性SGF(a, REDD(C),D)取最大值的属性a有几个,就从它们当中选择一个与REDD(C)值得组合数最小的属性记作a;
步骤6:将属性a从集合C’中移出,并且将属性a加入到约简REDD(C)之中;
步骤7:如果r(REDD(C),D)<1,转步骤4,如果r(REDD(C),D)=1,则终止。
步骤8:REDD(C)就是获得的约简结果
这个算是一种启发式算法,它根据粗糙集理论,以属性重要性作为主要标准,以属性依赖度作为评价机制,来求取属性的约简。但是,它重点关注的是该属性对论域中确定分类子集的作用,忽略了对论域中不确定分类子集的影响。因此,该算法并不能够完全准确的求取属性的约简。
3.4.4基于互信息的属性约简算法——MIBARK算法
在求取决策表属性约简的时候,可以利用决策表条件属性和决策属性之间的互信息作为启发式规则,在决策表中增加某个属性的时候,我们可以根据它所引起的互信息的变化情况来决定是否将它视为约简中的一个条件属性,从而对决策表实施约简。
MIBARK算法[24]的步骤:
输入:一个决策表S=(U,R,V,f),U是论域,R=C∪D,且C∩D=ø,其中,C是条件属性集合,D={d}是决策属性集合。
输出:S的一个相对属性约简B。
步骤1 求取条件属性C和决策属性D之间的互信息
I(C,D)=H(D)-H(D∣C)
步骤2 求取条件属性C相对于决策属性D的核,即CORED(C);
步骤3 将步骤2的核作为一个约简,即B= CORED(C),对其余的条件属性集合反复操作如下:
(1) 对其余的条件属性集合的任何一个条件属性p,求取它的互信息I(p,D∣B);
(2) 选择I(p,D∣B)最大的条件属性记作p; 基于粗糙集理论的多源信息决策知识约简研究(9):http://www.751com.cn/guanli/lunwen_7823.html