一种基于互信息的数据离散化与特征选择集成方法及装置与流程

文档序号:11134034阅读:355来源:国知局
一种基于互信息的数据离散化与特征选择集成方法及装置与制造工艺
本发明属于数据挖掘中的数据预处理领域,采用互信息作为评价准则,集成数据离散化和特征选择。本发明可直接应用在带有标签信息的连续型数据的预处理阶段,同时完成对数据的离散化和特征选择。该发明涉及一种基于互信息的数据离散化与特征选择集成方法及装置。
背景技术
:数据离散化是一个将连续型特征转换成定类数据(nominaldata)或有序数据的过程。将连续型特征的值域划分成多个小区间,每个区间代表了一个有序数值或者定类数据。这些经过离散化之后的数据适用于一些本身不能使用连续型特征的学习算法,同时能够有效的去除数据中隐含的缺陷,增加后续学习模型的稳定性。数据离散化方法大致可分为基于信息熵的数据离散化、基于类-属性依赖的离散化、基于多属性关系的离散化、基于贝叶斯分类器的离散化、无监督的离散化和其它离散化方法。特征选择是指从数据的原始特征集合中选取出一个最具有代表性的特征子集,其中,原始特征集合中的冗余的特征和不相关的特征被剔除。特征选择能降低由于特征过多而导致的学习算法效率和性能下降的影响,避免“维度灾难”,并使得模型更加容易理解。特征选择技术可分为嵌入式特征选择、过滤式特征选择和封装式特征选择。现有技术在对数据进行预处理的过程中将连续型数据的离散化和特征选择作为两个独立的子过程,忽略了两者之间的内在联系,从而导致造成更多信息损失,降低后续学习算法的性能。技术实现要素:数据离散化和特征选择这两种数据预处理操作的目标都是去除数据中的冗余和无关信息,而且这两种操作中对冗余度和相关度的度量都可以采用互信息进行计算。为提高数据预处理的效率和性能,避免由于数据离散化和特征选择独立操作而造成的信息损失,本发明提出了一种基于互信息的数据离散化与特征选择集成方法。本发明解决其技术问题所采用的技术方案是:首先把数据中的所有特征的值分别按照其升序排列并去除重复值,采用这些值序列中两两相邻数值的中间值作为断点值构造候选断点集。然后在候选断点集上进行搜索,通过计算断点子集对数据划分的结果与数据原始标签的互信息来评价断点子集的质量,具体采用前向搜索方法,得到最优断点子集。最后,使用该最优断点子集对数据进行离散化和特征选择。本发明出发点是使用所有特征的断点构成候选断点集,不仅考虑特征与类别之间的关系,同时也考虑特征与特征之间的关系,包含三个子过程,分别为候选断点集的生成过程、最优断点子集的搜索过程和数据离散化与特征选择过程。下文提到的特征均为数据中的连续型特征,数据均指训练数据。本发明的技术方案为:1)对于数据的每个特征,按照其特征值分布选择合适的断点集合,所有特征的断点集合构成候选断点集;2)在候选断点集上搜索合适的断点子集,使得该断点子集对数据划分的结果和数据的原始标签分布之间的互信息最高,该断点子集为最优断点子集;3)使用该最优断点子集对数据依次进行离散化和特征选择,对于最优断点子集中出现的每个特征,对其原始数据上进行离散化;对于最优断点子集中未出现的每个特征,将其从数据中删除。在上述技术方案的基础上,本发明还可以做如下改进。进一步,步骤1)中选择合适的断点集合构成候选断点集,具体过程为:(1)每个特征,将其特征值按升序排序,并去除重复值,得到特征的升序无重复特征值序列;(2)求得特征的升序无重复特征值序列中两两相邻的均值作为断点值,其中断点包含的基本信息有断点所属哪个特征和断点值;(3)所有特征的断点构成候选断点集。进一步,上述步骤2)中搜索方法可采用前向搜索,具体过程为:(1)初始化已选断点集为空,已选断点集对数据划分的结果和数据的原始标签分布的互信息为0;(2)记录当前已选断点集对数据划分的结果同标签信息的互信息,依次把候选断点集中的断点移动到已选断点集,然后用已选断点集对数据进行划分,并计算其划分结果与数据的原始标签分布的互信息,并将该断点放回;(3)选择候选断点集中能导致互信息增加值最大的断点;(4)采用两种搜索停止标准:判断其互信息与增长前的互信息的增长比率即信息增益比是否小于预定的阀值,或已选断点集中断点总数是否超过预设阈值;若判断为是,则停止搜索,输出已选断点集,即为最优断点子集;否则将该断点移入从候选断点集移动到已选断点集,继续执行(2)。进一步,上述步骤(2)中使用断点子集对数据进行划分的过程可采用标签编码的方式,具体过程为:(1)选择断点子集上的一个新断点对数据进行划分,如果是这是对数据的首次划分则需要初始化所有数据实例划分的标签编码相同,均为数值0;(2)对每个数据实例进行划分标签更新,具体为:将该数据实例对应的标签编码以二进制形式向左位移一位,如果该数据实例对应属性大于该断点值,则将该标签编码加上1,否则加上0;(3)为了避免上述(2)中以二进制形式向左位移可能出现的值溢出现象,将所有实例的标签编码值重新映射到[1,m]区间上,其中m表示所有不同标签编码的类型个数,具体为:初始化映射规则表为空,映射后空间为S←{1,2,…,m};对于每个数据实例的划分标签,如果其不在映射规则表中,则从S取走一个值作为该标签编码映射后的值,对该数据实例进行映射得到该数据实例映射后的标签编码,并记录该映射规则;否则从映射规则表中查找到该标签编码值映射后的值来代替该条数据的标签编码值;(4)回到(1)直到断点子集中每个断点对数据都已进行划分。进一步,步骤3)中离散化过程可以进行有序号编码方式,具体过程为:(1)对于最优断点子集中出现的每个特征,对其断点按照断点值小到大排序,得到该特征的有序断点序列;(2)使用最优断点子集中每个特征的有序断点序列对数据中该特征进行离散化,采用有序自然数编码,如小于第一个断点值则赋值为0,在第一断点值和第二个断点值之间则赋值为1,依次第k个断点值和第k+1个断点值之间则赋值为k;最终得到原始数据经过离散化后数据;此外,为解决传统技术中由于独立进行数据离散化和特征选择而造成的信息损失的问题,本发明提出了一种基于互信息的数据离散化与特征选择集成装置。一种基于互信息的数据离散化与特征选择集成装置,包括:候选断点集生成模块,用于对数据进行断点分析,获取其各个特征的所有断点;最优断点子集搜索模块,用于获取候选断点集上的最优断点子集,前向搜索该候选断点集空间,直至满足预设的停止条件,得到最优断点子集。离散化和特征选择模块,用于对数据进行离散化和特征选择,使用最优断点子集对数据进行离散化,去掉数据中那些在最优断点子集中不存在的特征。本方法的有益效果是:该集成方法及装置在对数据进行离散化和特征选择能够有效避免信息损失,同时剔除无关和冗余的信息,降低在数据预处理中可能的信息损失,提高后续分类模型在数据上的学习效果。选取了开放机器学习平台UCI提供的15个数据集,这些数据集涵盖了生命科学领域、物理学领域、计算机领域、社会学领域和博弈论领域等,对每个数据集采用10折交叉验证方法,搜索最优断点子集的停止条件选择信息增益比阈值为0.0005,后续分类模型采用常见的k近邻(KNN,其中k=3)、朴素贝叶斯(NB)和决策树(C4.5),利用分类器的准确率作为效果评估指标。下面结合测试实例进行分析。测试数据集信息如表1所示。表1测试数据集详细参数序号数据集名称样本数特征数类别数1CTG21262132column310623congress4351624ionosphere3513425krvskp31963626landsat64353667page-blocks5791058parkinsons1952229penbased1099216910sonar20860211spambase459757212spect26722213splice317560314waveform500040315wdbc569302使用该方法前后,数据断点数和特征数的变化,在三种学习模型的准确率效果,其效果分别见表2、表3所示。表2测试数据集的特征选择和离散化效果表3测试数据集的准确率效果(%)综合测试数据进行分析,集成效果前后对比:特征个数几乎为原来一半,断点数为原来的1/140,在三个分类学习模型上效果分别平均提升0.77%、3.61%和0.29%,该集成方法及装置能够很好对连续型数据进行离散化和特征选择。附图说明下面结合附图和实施例对本方法进一步说明。图1是候选断点集的生成过程流程图。图2是最优断点子集的搜索过程流程图。图3是离散化和特征选择过程流程图。图4是一种基于互信息的数据离散化与特征选择集成装置的示意图。具体实施方式以下结合附图对本发明的原理和性质进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明提供一种数据离散化和特征选择集成方法,包括三个过程:候选断点集的生成过程、最优断点子集的前向搜索过程、数据离散化和特征选择过程,以下步骤:候选断点集的生成过程,如图1所示,详细过程如下:1)如图步骤S101,对于训练数据上的每个连续型特征的特征值分布,进行小到大排序,并去除其中重复值,得到特征的升序无重复特征值序列;2)如图步骤S102,依次对各特征的特征值有序序列求得其两两相邻数值的中间值作为该特征的断点值;3)如图步骤S103,将各特征的断点合并得到候选断点集合,其中断点包含的信息包括断点所在特征和断点值;最优断点子集的搜索过程为一个前向搜索过程,如图2所示,详细如下:1)如图步骤S201,选择前向搜索停止条件为信息增益比,并设置其阈值为0.0005;若已选断点集为空,则已选断点集对数据划分的结果和数据的原始标签分布之间互信息值为0;2)如图步骤S202,依次从候选断点集中选择一个不同的断点同已选断点集构成一个临时断点集;3)如图步骤S203,计算所有临时断点集对数据划分的结果和数据的原始标签分布之间的互信息;4)如图步骤S204,从所有临时断点集中选择互信息最高的临时断点集,并记录其互信息;5)如图步骤S205,判断该临时断点集对应的互信息同已选断点集对应的互信息值相比,其信息增益比是否小于预设阈值;6)若其增长比例不小于预设阈值,如图步骤S206,将该已选断点集更新为该临时断点集,候选断点集中去掉已选断点集中存在的断点,转到步骤5);7)否则,如图步骤S207,输出已选断点集,即为最优断点子集;数据离散化和特征选择过程,如图3所示,详细如下:1)如图步骤S301,对最优断点子集中每个特征,按照其断点值从小到大进行排序,得到该特征的升序断点序列;2)如图步骤S302,对数据中每个特征,判断最优断点子集中是否存在该特征上的断点;3)如图步骤S303,如果最优断点子集中存在该特征上的断点,利用上述特征的升序断点序列,对数据中该特征进行离散化,具体过程为:小于第一个断点值则赋值为0,在第一断点值和第二个断点值之间则赋值为1,依次第k个断点值和第k+1个端点值之间则赋值为k,最终得到自然数的新特征值;4)如图步骤S304,如果最优断点子集中没有该特征上的断点,将该特征从数据中剔除;5)如图步骤S305,输出离散化和特征选择后的数据。此外,本发明提供一种数据离散化和特征选择集成装置,如图4所示,包括三个模块:候选断点集生成模块101、最优断点子集搜索模块102和离散化和特征选择模块103,其中:候选断点集生成模块101,用于对数据进行断点分析,获取其各个特征的所有断点;最优断点子集搜索模块102,用于获取候选断点集上的最优断点子集,前向搜索该候选断点集空间,直至满足预设的停止条件,得到最优断点子集。离散化和特征选择模块103,用于对数据进行离散化和特征选择,使用最优断点子集对数据进行离散化,去掉数据中那些在最优断点子集中不存在的特征。在本实施例中,候选断点集生成模块101还用于在所述断点分析中对每个特征的特征值进行升序排序并去重,通过其两两相邻的均值得到断点值,从而得到每个特征的断点序列。在本实施例中,最优断点子集搜索模块102还用于利用已选断点集对数据进行划分,计算其划分结果和数据原始标签分布之间的互信息。在本实施例中,最优断点子集搜索模块102还用于计算信息增益比,或统计已选断点集中断点数,并判断是否达到前向搜索的停止条件。在本实施例中,数据离散化和特征选择模块103还用于对最优断点子集中每个特征上的断点进行升序排序,得到该特征的升序断点序列。在本实施例中,数据离散化和特征选择模块103还用于判断数据中的每个特征是否在最优断点子集上,若为是则利用该特征升序断点序列对数据该特征进行离散化,否则去掉数据中该特征。采用了上述基于互信息的数据离散化和特征选择方法及装置之后,整个对数据处理的过程中,仅在对数据断点分析中得到的全局候选断点集上进行搜索,得到最优断点子集,最优断点子集对数据的划分结果和数据原始标签分布之间互信息最高,其中隐含了选择相关的,同时整个搜索过程是在所有特征的断点上,也考虑到了对冗余特征的去除,通过得到的最优断点子集同时完成对数据离散化和特征选择方案。因此,和传统技术相比,该方法同时考虑特征选择和数据离散化,能同时剔除无关和冗余的信息,降低在数据预处理中可能的信息损失。以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1