马尔科夫毯嵌入式的基于封装的特征选择方法
【技术领域】
[0001] 本发明属于数据挖掘领域,具体地说是一种马尔科夫毯嵌入式的基于封装的特征 选择方法。
【背景技术】
[0002] 特征选择作为一种数据预处理技术,广泛地应用在机器学习和数据挖掘任务中, 例如分类、回归以及聚类等问题。当数据的原始特征空间包括与目标任务不相关或冗余的 特征时,在整个特征空间上构建的分类器往往具有较差的性能,例如朴素贝叶斯分类器对 冗余的特征比较敏感。特征选择的目的是应用有效的特征选择方法从原始特征空间中选出 一组具有判别能力的特征。有效的特征选择方法不仅能够降低原始特征空间的维度,而且 可以降低分类器的训练时间,提高其泛化能力,更重要的是可以帮助研究人员找到一组反 映目标任务的重要属性,增强分类器的可解释性。例如,在基于微整列数据的癌症诊断中, 通过特征选择方法找出与特定癌症相关的基因,可以提高癌症预测的准确率,同时这些筛 选出来的基因可能是靶点基因,能够降低寻找生物靶点的实验成本。
[0003] 基于封装的特征选择方法在特征选择过程中使用某个分类器评价候选特征的优 劣。由于特征选择过程与分类算法之间特定的相互作用,基于封装的特征方法一般具有较 好的分类准确性。虽然基于封装的特征选择方法能够获得高质量的特征子集和较好的分类 准确率,但其较高的时间复杂度在一定程度上影响了该类方法在实际中的广泛应用。
[0004] 该类方法的主要缺点包括,
[0005] (1)在每一步的特征选择过程中,通过封装的方式,以分类准确率或分类错误率作 为评估准则衡量每个候选特征的优劣,该过程需要执行大量的封装评估,即评估每个候选 特征时,需要经历训练分类器和测试分类器性能两个阶段;
[0006] (2)不能快速地识别候选特征集合中的冗余特征,并且这些冗余特征一直保留在 候选特征集合中直到特征选择方法运行结束,导致重复地评估这些冗余特征。
【发明内容】
[0007] 本发明为克服现有技术存在的不足之处,提出一种马尔科夫毯嵌入式的基于封装 的特征选择方法,以期能够获得高质量的特征子集,同时降低基于封装的特征选择方法的 时间复杂度,从而获得较好的分类性能和时间性能。
[0008] 本发明为解决技术问题采用如下技术方案:
[0009] 本发明一种马尔科夫毯嵌入式的基于封装的特征选择方法,是应用于由m个实例 组成的数据集Data中,记为Data={insti, inst2,…,insti,…,instj Jnsti表示第i个 实例;1彡i彡m;第i个实例inst^n个特征6 …,/f1,…,和一个类别变量 C;组成;/广表示第i个实例j个特征,1彡j彡n;由m个实例的第j个特征组 成第j个特征向量,记为…,从而获得由n个特征向量所构成的 数据集Data的特征向量,记为D= {fi,f2,…,fj,…,fn};由m个实例的类别变量组成类别 向量,记为C= {Q,C2,…,Q,…,Cm};其特点是,所述特征选择方法是按如下步骤进行:
[0010] 步骤1、定义循环次数k,并初始化k= 1 ;定义特征子集S,并初始化$ = 0 ;
[0011] 步骤2、根据特征子集S,利用五折交叉验证方法从特征向量D中选择能与特征子 集S构成最优特征组的第k次循环的最优特征,记为
[0012] 步骤3、判断=0是否成立,若成立,则表示完成特征选择,并获得特征子集S; 若不成立,则将第k次循环的最优特征石^加入特征子集S中,从而获得更新的特征子集Sr ;
[0013] 步骤4、将更新的特征子集S'赋值给特征子集S;
[0014] 步骤5、利用马尔科夫毯方法从特征向量D中删除第k次循环的最优特征以及 与第k次循环的最优特征相冗余的特征,从而获得更新的特征向量D';
[0015]步骤6、将更新的特征向量D'赋值给特征向量D;
[0016] 步骤7、判断特征向量D是否为空集,若为空集,则表示完成特征选择,并获得特征 子集S;若不为空集,则将k+1赋值给k;并返回步骤2执行。
[0017] 本发明所述的特征选择方法的特点也在于,五折交叉验证方法是按如下步骤进 行:
[0018] 步骤2. 1、定义准确率变量为定义标识符为flag,并初始化flag=false;
[0019]步骤2. 2、判断是否成立,若成立,则初始化:否则,执行步骤2. 3;
[0020] 步骤2. 3、将数据集Data映射在特征子集S与类别向量C上,获得约减数据集
[0021] 步骤2. 4、将约减数据集Data。中的实例均分为五份,分别选取其中的每一份作为 测试集,剩余的四份作为训练集用于训练分类器,从而获得五个测试准确率,记为aCC(] = .5 {accnacc2,acc3,acc4,accj以及平均准确率,记为
[0022] 步骤2. 5、初始化j= 1 ;
[0023] 步骤2. 6、将数据集Data映射在特征子集S、类别向量C和第j个特征&上,获得 第j个约减数据集Data];
[0024] 步骤2. 7、将第j个约减数据集Data,中的实例均分为五份,分别选取其中的每一 份作为测试集,剩余的四份作为训练集用于训练分类器,从而获得关于第j个特征f,的五 个测试准确率,记为以及第j个平均准确率,记为 '5 MCj. ~ ^acc\j)I. hi
[0025] 步骤2.8、判断@且^的个数大于所设定的阈值是否同时满足; 当同时满足时,令flag=true;将第j个特征fj作为最优特征;并将?赋值给^),从而 更新^^ :
[0026] 步骤2. 9、将j+1赋值给j,判断j彡n是否成立,若成立,则返回步骤2. 6执行;若 不成立,则判断flag=true是否成立,若成立,则将第j个特征fj作为第k次循环的最优 特征力4);否则,令后,将第j个特征fj作为第k次循环的最优特征#。
[0027] 步骤5中的马尔科夫毯方法是按如下步骤进行:
[0028] 步骤5. 1、定义冗余特征下标集合为index,初始化1?:^移=.;
[0029] 步骤5. 2、初始化j=1 ;
[0030]步骤5. 3、利用式⑴计算第j个特征f,与类别变量C之间的相关性SU(f,,C):
[0031]
[0032] 式(1),!!(&)表示第j个特征&的信息熵;H(C)表示类别变量C的信息熵; H(C|fj表示在第j个特征&条件下类别变量C的条件信息熵;
[0033] 步骤5.4、利用式(2)计算第k次循环的最优特征/f与类别变量C之间的相关性 SU(f^,C)-,
[0034]
[0035] 步骤5. 5、利用式(3)计算第k次循环的最优特征尤W和第j个特征&之间相关性
[0036]
[0037] 步骤5. 6、根据式(4)和式(5)判断第j个特征f,是否为冗余特征;
[0038]
[0039]
[0040]若式⑷和式(5)同时成立,则表示第j个特征&为冗余特征,并将fj的下标j加入到冗余特征下标集合index中,从而获得更新的下标集合index';
[0041] 步骤5. 7、将更新的下标集合index'赋值给冗余特征下标集合index;
[0042] 步骤5. 8、将j+1赋值给j,判断j彡n是否成立,若成立,则返回步骤3执行;否 贝1J,执行步骤5. 9;
[0043] 步骤5. 9、根据冗余特征下标集合index,从特征向量D中删除下标包含在index 中的特征向量。
[0044] 与已有技术相比,本发明的有益效果体现在:
[0045] 1、本发明提出的马尔科夫毯嵌入式的基于封装的特征选择方法,是基于马尔科夫 毯技术的,能够快速地识别和删除冗余特征。一方面,由于该方法删除的冗余特征所包含的 关于目标变量的信息都已经包含在已经选择的特征子集中,这保证候选特征集合中包含目 标变量额外信息的特征没有被删除;另一方面,由于从候选特征集合中删除冗余的特征可 以减小候选特征集合的大小,进而减少了需要执行的封装评估的次数,能够加快基于封装 的特征选择方法,具有较好的时间复杂性。因此,本发明提出的方法能够保证选取具有判别 能力的特征,同时能够快速地识别冗余特征并将其从候选特征集合中删除。
[0046] 2、本发明所提出的方法实质上是一种混合的特征选择方法,同时具有基于过滤的 特征选择方法的快速性和基于封装的特征选择方法的有效性;通过嵌入马尔科夫毯,基于 封装的特征选择方法不仅能够选择与目标变量相关的特征,而且能够高效地识别并删除冗 余特征,最终获得高质量的特征子集,达到数据降维的目的。
[0047] 3、本发明采用马尔科夫方法进行冗余特征的识别和删除,该方法不仅能发现变量 之间的线性相关性,而且能够刻画变量之间的非线性相关性。因此,能够更有效地选出一组 与目标类别具有高相关性,同时彼此之间低冗余性的特征。
[0048] 4、本发明所提出的方法可用于各类数据分析任务中;例如将方法应用于基因表达 数据分析、图像处理、文本分类等领域有助于研究人员发现与目标任务密切相关的属性,从 而更好地理解待考察的对象。
【具体实施方式】
[0049] 本实施例中,假设所研究的对象是由m个实例组成的数据集Data,记为Data= {instuinst2,…,insti,…,instj,例如,数据集Data可以是微阵列基因表达数据;insh 表示第i个实例;1彡i彡m;第i个实例inst#n个特征f },即微 阵列数据中的基因,和一个类别变量Q组成,即微阵列样本对应的类别,如癌症/正常; 表示第i个实例insti中第j个特征,1彡j彡n;由m个实例的第j个特征组成第j个特 征向量,记为/, = [/;(",/尸,…C…,广)丨?,从而获得m个实例的n个特征向量,记为f= 出,&,…,A,…,fn};由m个实例的类别变量组成类别向量,记为C= {AA,…,Q,…,CJ; 由n个特征向量f和类别向量C构成数据集Data的属性向量Dg={fuf2,…,fj,…,fn,C}; 由n个特征向量f构成数据集Data的特征向量D=出,f2,…,fj,…,fn};
[0050] -种马尔科夫毯嵌入式的基于封装的特征选择方法是按如下步骤进行:
[0051] 步骤1、定义循环次数k,用于记录特征选择的迭代次数;并初始化k= 1 ;定义特 征子集S,并初始化^ = 0 :S用于保存特征选择算法最终选择的特征;
[0052] 步骤2、根据特征子集S,利用五折交叉验证方法从特征向量D中选择能与特征子 集S构成最优特征组的第k次循环的最优特征,记为;
[0053] 具体地,k= 1时,用于从特征向量D= {fi,f2,…,fj,…,fn}中选出一个最优的特 征/广,并将其记录到S中,k= 2时,用于从特征向量DXfT(表示将/^从D中删除后得到 的集合)中选出第二个特征,(DXfV3表示将_/;WiD中删除后得到的集合),该特征 与已选择的特征S构成当前最优的特征组;
[0054] 步骤2. 1、定义准确率变量为"Cn;定义标识符为flag,并初始化flag=false; flag用于记录在第k次循环中能否找出一个更好的特征;
[0055] 步骤2. 2、判断》=__0:是否成立,若成立,则初始化=:_〇 :;因为当汶=0时,无法 构建分类器,因此需要初始化分类