一种基于互信息的区间数据的属性选择方法

文档序号:6630301阅读:221来源:国知局
一种基于互信息的区间数据的属性选择方法
【专利摘要】本发明提供一种基于互信息的区间数据的属性选择方法,包括:计算n个样本数据中任一属性列及目标属性列的信息熵,并将n个样本数据中的任一属性列拆分成属性列上限数据和属性列下限数据,和将目标属性列拆分成目标属性列上限数据和目标属性列下限数据;计算n个样本数据中任一属性列与目标属性列的联合熵;计算n个样本数据中任一属性列与目标属性列的互信息值,及属性列之间的互信息值;根据计算得到的互信息值进行属性选择,将n个样本数据中m个属性列按照属性重要度排序,并将排序后的属性列分别置于属性子集;根据属性评估指标评估每一个属性子集以获取最优属性子集。本发明减少了计算的复杂度,提升了计算效率,提高了属性选择准确度。
【专利说明】一种基于互信息的区间数据的属性选择方法

【技术领域】
[0001] 本发明属于计算机信息【技术领域】,涉及一种属性选择方法,特别是涉及一种基于 互信息的区间数据的属性选择方法。

【背景技术】
[0002] 属性选择方法是通过剔除与被预测变量无关或相关度低的属性,并在各相关性较 强的属性集合中,选出评估结果最好的一个属性子集。属性选择方法减少了计算的复杂度, 提升了计算效率和计算的准确度。因而,属性选择算法被普遍应用。
[0003] 在众多的属性选择算法中,有一类选择算法是基于信息熵相关理论实现的。信息 熵的物理意义是描述某一变量所需的平均信息量,是该变量不确定性的一种度量。互信息 则描述的是一个变量中包含另一变量的信息量。信息论基本原理表明,互信息值越大,则表 明两个变量的相关性越大。因而,可以通过度量被预测变量与属性之间的互信息值,设计属 性选择算法。
[0004] 基于互信息的属性选择算法通常包括几下几个步骤:
[0005] ①对原始数据进行预处理;
[0006] ②计算属性间的互信息;
[0007] ③根据得出的互信息做属性选择;
[0008] ④对选出的属性子集进行结果评估。
[0009] 数值型数据、名称型数据等单一数据易于预处理和计算互信息,传统的属性选择 算法均是针对该类数据做处理的。然而,在真实数据集中还经常包括区间属性,区间属性同 时拥有上限和下限,无法通过合理的方式将其预处理成单一数据,而且目前现有技术中并 没有关于区间数据的互信息定义,因此区间属性间的互信息难以计算。同样,现有的属性选 择结果评估方法也是只能处理单一数据,无法处理区间型数据。
[0010] 在遇到区间数据时,现有的属性选择方法通常的处理方式是直接忽略,但是一些 区间属性与目标变量的相关度较高,剔除该类属性必然会直接影响属性选择的准确度,因 此现有的属性选择算法以及结果评估方法有待于扩展。
[0011] 因此,如何提供一种基于互信息的区间数据的属性选择方法,以解决现有技术中 的属性选择方法由于忽略与目标变量相关的较高的一些区间属性,并剔除该区间属性而造 成属性选择准确度,及无法将区间属性扩展到属性选择方法中等种种缺陷,实已成为本领 域从业者亟待解决的技术问题。


【发明内容】

[0012] 鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于互信息的区间数 据的属性选择方法,用于解决现有技术中属性选择方法由于忽略与目标变量相关的较高的 一些区间属性,并剔除该区间属性而造成属性选择准确度,及无法将区间属性扩展到属性 选择方法中的问题。
[0013] 为实现上述目的及其他相关目的,本发明提供一种基于互信息的区间数据的属性 选择方法,藉由多台服务器及客户端构建的计算机系统中,应用于一区间数据集中,所述区 间数据集包括n个样本数据,每一个样本数据具有m个属性列和1个目标属性列,其中,n, m为大于1的正整数,所述基于互信息的区间数据的属性选择方法包括:计算n个样本数据 中任一属性列及目标属性列的信息熵,并将所述n个样本数据中的任一属性列拆分成属性 列上限数据和属性列下限数据,和将所述目标属性列拆分成目标属性列上限数据和目标属 性列下限数据;计算n个样本数据中任一属性列与所述目标属性列的联合熵;根据计算得 到的n个样本数据中任一属性列及目标属性列的信息熵及n个样本数据中任一属性列与所 述目标属性列的联合熵,计算n个样本数据中任一属性列与所述目标属性列的互信息值, 及属性列之间的互信息值;根据计算得到的互信息值进行属性选择,将n个样本数据中m个 属性列按照属性重要度排序,并将排序后的属性列分别置于属性子集;其中,所述属性子集 为m个,包括第一属性子集,第二属性子集,…,第m属性子集;所述第一属性子集包括第一 属性列,所述第二属性子集包括第一属性列和第二属性列,…,所述第m属性子集包括第一 属性列、第二属性列、第m属性列;所述第一属性列、第二属性列、第m属性列是按照属性重 要度排序的。根据属性评估指标评估每一个属性子集以获取最优属性子集。
[0014] 可选地,所述n个样本数据中的任一属性列的信息熵为H(n个样本数据中任一属 性列),所述n个样本数据中任一属性列与所述目标属性列的联合熵为H (n个样本数据中任 一属性列,目标属性列),所述目标属性列的信息熵为H(目标属性列),所述n个样本数据 中的任一属性列的信息熵的计算公式为:H(任一属性列)=H(属性列上限数据,属性列下 限数据);所述目标属性列的信息熵的计算公式为:H(目标属性列)=H(目标属性列上限 数据,目标属性列下限数据)。
[0015] 可选地,n个样本数据中任一属性列与所述目标属性列的联合熵为H(n个样本数 据中任一属性列,目标属性列),H(n个样本数据中任一属性列,目标属性列)的计算公式 为:H(n个样本数据中任一属性列,目标属性列)=H(属性列上限数据,属性列下限数据, 目标属性列上限数据,目标属性列下限数据)。
[0016] 可选地,n个样本数据中任一属性列与所述目标属性列的互信息值为I (n个样本 数据中任一属性列,目标属性列),I(n个样本数据中任一属性列,目标属性列)的计算公 式为:I (n个样本数据中任一属性列,目标属性列)=H(任一属性列)+H(目标属性列)一 H(n个样本数据中任一属性列,目标属性列)。
[0017]可选地,计算n个样本数据中任一属性列与所述目标属性列的互信息值的步骤包 括:循环计算n个样本数据的m个属性列中每一个属性列与所述目标属性列的互信息值; 获取最大互信息值;首属性选择。
[0018] 可选地,所述首属性选择为:提取能使所述互相信息值最大的第一属性列,将提取 出来的所述第一属性列置于所述第一属性子集,并更新所述互信息的区间数据集。
[0019] 可选地,首属性选择后继续执行以下步骤:循环计算第k次更新后的互信息的区 间数据集中任一属性列与所述第k属性子集中的k个属性列中任一属性列之间的互信息 值,并将第k次更新后的互信息的区间数据集中所有属性列与所述第k属性子集中的k个 属性列任一属性列之间的互信息值进行比较,获取能使互信息值最大的第k次更新后的互 信息的区间数据集中的属性列,则将该属性列从所述第k-1次更新后的互信息的区间数据 集提取出来置于所述第k属性子集,继续更新互信息的区间数据集;其中,2 < k < m。
[0020] 可选地,所述获取能使互信息值最大的第k次更新后的互信息的区间数据集中的 属性列满足一属性最大准则。
[0021] 可选地,所述属性评估指标包括平均相对误差、相对误差、相对误差中值、标准差、 及预测误差百分比。
[0022] 可选地,所述第一属性子集包括在第二属性子集中,所述第二属性子集包括在第 三属性子集中,…,第m-1属性子集包括在所述第m属性子集中。
[0023] 如上所述,本发明的基于互信息的区间数据的属性选择方法,具有以下有益效 果:
[0024]本发明所述的基于互信息的区间数据的属性选择方法减少了计算的复杂度,提升 了计算效率,提高了属性选择准确度。

【专利附图】

【附图说明】
[0025] 图1显示为本发明的基于互信息的区间数据的属性选择方法流程示意图。
[0026] 元件标号说明
[0027] Sl ?S5 步骤

【具体实施方式】
[0028] 以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书 所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实 施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离 本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施 例中的特征可以相互组合。
[0029] 需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构 想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸 绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也 可能更为复杂。
[0030] 本发明的技术原理为:依次计算属性列的信息熵、属性列之间的联合熵和属性列 与目标变量之间的互信息;根据求得的互信息进行属性选择;最后对属性选择的结果用改 进的方法评估。
[0031]本发明所述的基于互信息的区间数据的属性选择方法是基于信息基础理 论,在《信息论》中,信息熵和联合熵是用来度量信息的不确定性,而互信息(Mutual Information)的引入是为了度量属性之间的依赖性,或者说一个属性包含另一个属性的信 息量。假设(X,Y)为一对离散型随机变量,H(X)和H(Y)分别表示X与Y的信息熵(X和Y 的信息熵的计算是现有),

【权利要求】
1. 一种基于互信息的区间数据的属性选择方法,藉由多台服务器及客户端构建的计算 机系统中,应用于一区间数据集中,所述区间数据集包括η个样本数据,每一个样本数据具 有m个属性列和1个目标属性列,其中,n,m为大于1的正整数,其特征在于,所述基于互信 息的区间数据的属性选择方法包括: 计算η个样本数据中任一属性列及目标属性列的信息熵,并将所述η个样本数据中的 任一属性列拆分成属性列上限数据和属性列下限数据,和将所述目标属性列拆分成目标属 性列上限数据和目标属性列下限数据; 计算η个样本数据中任一属性列与所述目标属性列的联合熵; 根据计算得到的η个样本数据中任一属性列及目标属性列的信息熵及η个样本数据中 任一属性列与所述目标属性列的联合熵,计算η个样本数据中任一属性列与所述目标属性 列的互信息值,及属性列之间的互信息值; 根据计算得到的互信息值进行属性选择,将η个样本数据中m个属性列按照属性重要 度排序,并将排序后的属性列分别置于属性子集;其中,所述属性子集为m个,包括第一属 性子集,第二属性子集,…,第m属性子集;所述第一属性子集包括第一属性列,所述第二 属性子集包括第一属性列和第二属性列,…,所述第m属性子集包括第一属性列、第二属性 列、第m属性列;所述第一属性列、第二属性列、第m属性列是按照属性重要度排序的。 根据属性评估指标评估每一个属性子集以获取最优属性子集。
2. 根据权利要求1所述的基于互信息的区间数据的属性选择方法,其特征在于:所述η 个样本数据中的任一属性列的信息熵为H (η个样本数据中任一属性列),所述η个样本数据 中任一属性列与所述目标属性列的联合熵为Η(η个样本数据中任一属性列,目标属性列), 所述目标属性列的信息熵为H (目标属性列),所述η个样本数据中的任一属性列的信息熵 的计算公式为: H(任一属性列)=H(属性列上限数据,属性列下限数据); 所述目标属性列的信息熵的计算公式为: H(目标属性列)=H(目标属性列上限数据,目标属性列下限数据)。
3. 根据权利要求2所述的基于互信息的区间数据的属性选择方法,其特征在于:η个样 本数据中任一属性列与所述目标属性列的联合熵为Η(η个样本数据中任一属性列,目标属 性列),Η(η个样本数据中任一属性列,目标属性列)的计算公式为: Η(η个样本数据中任一属性列,目标属性列)=H(属性列上限数据,属性列下限数据, 目标属性列上限数据,目标属性列下限数据)。
4. 根据权利要求2所述的基于互信息的区间数据的属性选择方法,其特征在于:η个样 本数据中任一属性列与所述目标属性列的互信息值为Ι(η个样本数据中任一属性列,目标 属性列),I (η个样本数据中任一属性列,目标属性列)的计算公式为: I (η个样本数据中任一属性列,目标属性列)=H(任一属性列)+Η(目标属性列)一 H(η个样本数据中任一属性列,目标属性列)。
5. 根据权利要求1所述的基于互信息的区间数据的属性选择方法,其特征在于:计算η 个样本数据中任一属性列与所述目标属性列的互信息值的步骤包括: 循环计算η个样本数据的m个属性列中每一个属性列与所述目标属性列的互信息值; 获取最大互信息值; 首属性选择。
6. 根据权利要求5所述的基于互信息的区间数据的属性选择方法,其特征在于:所述 首属性选择为: 提取能使所述互相信息值最大的第一属性列,将提取出来的所述第一属性列置于所述 第一属性子集,并更新所述互信息的区间数据集。
7. 根据权利要求5所述的基于互信息的区间数据的属性选择方法,其特征在于:首属 性选择后继续执行以下步骤: 循环计算第k次更新后的互信息的区间数据集中任一属性列与所述第k属性子集中的 k个属性列中任一属性列之间的互信息值,并将第k次更新后的互信息的区间数据集中所 有属性列与所述第k属性子集中的k个属性列任一属性列之间的互信息值进行比较,获取 能使互信息值最大的第k次更新后的互信息的区间数据集中的属性列,则将该属性列从所 述第k-Ι次更新后的互信息的区间数据集提取出来置于所述第k属性子集,继续更新互信 息的区间数据集;其中,2彡k彡m。
8. 根据权利要求7所述的基于互信息的区间数据的属性选择方法,其特征在于:所述 获取能使互信息值最大的第k次更新后的互信息的区间数据集中的属性列满足一属性最 大准则。
9. 根据权利要求1所述的基于互信息的区间数据的属性选择方法,其特征在于:所述 属性评估指标包括平均相对误差、相对误差、相对误差中值、标准差、及预测误差百分比。
10. 根据权利要求1所述的基于互信息的区间数据的属性选择方法,其特征在于:所述 第一属性子集包括在第二属性子集中,所述第二属性子集包括在第三属性子集中,…,第 m-Ι属性子集包括在所述第m属性子集中。
【文档编号】G06F17/30GK104317861SQ201410546323
【公开日】2015年1月28日 申请日期:2014年10月15日 优先权日:2014年10月15日
【发明者】刘琴, 朱宏明, 杨筱雯, 王静 申请人:同济大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1