[发明专利]一种属性子空间加权的随机森林数据处理方法有效
申请号: | 201410734550.6 | 申请日: | 2014-12-04 |
公开(公告)号: | CN104391970B | 公开(公告)日: | 2017-11-24 |
发明(设计)人: | 赵鹤;黄哲学;姜青山;吴胤旭;陈会 | 申请(专利权)人: | 深圳先进技术研究院 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F9/38 |
代理公司: | 深圳市铭粤知识产权代理有限公司44304 | 代理人: | 孙伟峰 |
地址: | 518055 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 种属 性子 空间 加权 随机 森林 数据处理 方法 | ||
技术领域
本发明涉及数据处理技术领域,尤其涉及一种属性子空间加权的随机森林数据处理方法。
背景技术
随着计算机、互联网和信息技术的不断向前发展及在各行各业中的广泛使用,人们积累的各类数据变的越来越庞大和越来越复杂。例如,各种类型的生物信息数据、互联网文本数据、数字图像数据等数据的属性维度可以达到成千上万个,而且数据量还在不断增加,造成传统的数据挖掘分类算法难以应对超高维度和计算量不断增加的挑战。
随机森林算法是一种用于分类的集成学习方法,它使用决策树作为子分类器,和其他分类算法相比,具有分类性能好、精度高、泛化能力强等优点,成为目前分类研究领域非常热门的算法,被广泛应用于数据挖掘的各个领域。其基本思想最早是由Ho在1995年提出,并由Breiman在2001年改进最终成为现在的随机森林算法。但是当面对高维数据时,尤其是稀疏的高维数据,其采用的随机子空间抽样的方法会导致占比本来就少的有用属性更难被抽取到,严重影响最终的分类结果。同时,随着数据量越来越大,现有的单机随机森林算法实现已经无法满足当前大数据的需求,使得优秀的算法无法在较短的时间内完成建模,影响其使用。
现有的随机森林算法的主要流程如下:
1)从原始训练数据中有放回地抽样N组样本,然后循环构建决策树:
a)每组样本构建一个决策树;
b)在构建决策树的每个节点时,随机抽取M个属性进行节点计算;
c)在建树过程中,不进行树枝的裁剪,直到最后剩下最后一个样本;
2)将所构建的N个决策树模型整合成一个随机森林模型。
在面对高维数据时,为了提高有价值的属性的选取几率,Amaratunga提出了子空间抽样属性加权的方法以提高随机森林建树时重要属性被抽取的几率,从而提高决策树的平均强度达到改进分类性能。但是,该方法针对的是二类问题。
在现有的R软件系统中,randomForest和party是比较常用的两个用于构建随机森林的软件包。randomForest软件包是由Breiman随机森林算法的Fortran源码转成C语言后直接得到的,并有其团队维护。party软件包则是由Hothorn提出的条件推断树构建的随机森林算法。但是在针对高维的大数据时,这两个包在时间和内存资源的消耗上都不尽如人意。现有的随机森林相关的R软件包中,没有一个能够对属性的选择进行改变,并且都还是单机版的,无法在分布式并行的计算环境中进行操作。
综上所述,现有的随机森林算法存在以下问题:
由于构建决策树节点时采用随机抽样的方式对属性进行选取,当面对超高维数据时,会造成拥有对结果产生重要影响的属性很难被选取的情况,使得算法精度受到严重影响;
现有算法都是采用串行的方式,循环建立决策树模型,每次循环建立一个决策树模型,在CPU多核的情况下,无法有效利用多个CPU内核的优势并行计算来达到快速建立随机森林模型的目的;
当数据量越来越多以至于单台机器无法存储所需要的数据量时,现有的随机森林算法无法一次性加载所有的数据,从而无法建立精确的模型;
因此,针对上述技术问题,有必要提供一种属性子空间加权的随机森林数据处理方法。
发明内容
有鉴于此,本发明的目的在于提供一种属性子空间加权的随机森林数据处理方法,以解决对超高维的大数据进行有效处理的问题。
为了达到上述目的,本发明实施例提供的技术方案如下:
一种属性子空间加权的随机森林数据处理方法,所述方法包括:
S1、对需要进行训练的数据样本集通过有放回抽样的方式抽取跟需要建立 的决策树数目一致的N个样本子集;
S2、对每个样本子集构建无剪枝的决策树模型,在构建决策树模型的节点时,采用信息增益法先对所有参与节点构建的属性进行加权,从中选出权重最高的M个属性参与节点构建;
S3、将构建的N个决策树模型合并成一个大的随机森林模型。
作为本发明的进一步改进,所述步骤S2中的决策树模型采用单机多核多线程方式或多机并行分布式方式进行构建。
作为本发明的进一步改进,所述步骤S2中的决策树模型采用单机多核多线程方式进行构建,具体包括:
自动开启跟CPU核数一样多的线程,每个线程从进程列表中获取一个建树信息后并开始进行根据该信息进行建树,每建完一颗树,就将建好的决策树模型放到随机森林中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳先进技术研究院,未经深圳先进技术研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410734550.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:业务重分类装置和方法
- 下一篇:智能变电站ICD虚端子的图形化显示方法