CN104391970A - 一种属性子空间加权的随机森林数据处理方法 - Google Patents
一种属性子空间加权的随机森林数据处理方法 Download PDFInfo
- Publication number
- CN104391970A CN104391970A CN201410734550.6A CN201410734550A CN104391970A CN 104391970 A CN104391970 A CN 104391970A CN 201410734550 A CN201410734550 A CN 201410734550A CN 104391970 A CN104391970 A CN 104391970A
- Authority
- CN
- China
- Prior art keywords
- decision
- node
- random forest
- tree
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种属性子空间加权的随机森林数据处理方法,所述方法包括:S1.对需要进行训练的数据样本集通过有放回抽样的方式抽取跟需要建立的决策树数目一致的N个样本子集;S2.对每个样本子集构建无剪枝的决策树模型,在构建决策树模型的节点时,采用信息增益法先对所有参与节点构建的属性进行加权,从中选出权重最高的M个属性参与节点构建;S3.将构建的N个决策树模型合并成一个大的随机森林模型。本发明将信息增益用于属性子空间加权,使得有用信息能够被抽取,从而提高分类的精度。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种属性子空间加权的随机森林数据处理方法。
背景技术
随着计算机、互联网和信息技术的不断向前发展及在各行各业中的广泛使用,人们积累的各类数据变的越来越庞大和越来越复杂。例如,各种类型的生物信息数据、互联网文本数据、数字图像数据等数据的属性维度可以达到成千上万个,而且数据量还在不断增加,造成传统的数据挖掘分类算法难以应对超高维度和计算量不断增加的挑战。
随机森林算法是一种用于分类的集成学习方法,它使用决策树作为子分类器,和其他分类算法相比,具有分类性能好、精度高、泛化能力强等优点,成为目前分类研究领域非常热门的算法,被广泛应用于数据挖掘的各个领域。其基本思想最早是由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核数一样多的线程,每个线程从进程列表中获取一个建树信息后并开始进行根据该信息进行建树,每建完一颗树,就将建好的决策树模型放到随机森林中;
每个线程同时并行地完成建树的过程,直到所有的建树信息分发完成,最后由随机森林合并所有的决策树得到最后的随机森林模型。
作为本发明的进一步改进,所述步骤S2还包括:
进程列表负责建树信息的分发,当所需要构建的树被分发完成之后,通知森林完成的情况。
作为本发明的进一步改进,所述步骤S2中的决策树模型采用多机并行分布式方式进行构建,主节点负责总体建模的调度,从节点负责具体的建树过程,具体包括:
主节点中的进程保存所有建树的信息,并将建树信息分成多个进程列表;
根据需要启动其他机器上的从节点进行建树,每个从节点从主节点中获取一个进程列表,然后在自己的机器上独立构建决策树并生成子随机森林;
每个从节点将各自构建的子随机森林放回到主节点中,由主节点将所有的子随机森林合并得到最终的随机森林模型。
作为本发明的进一步改进,所述从节点所在的机器为非多核机器时,采用随机森林算法的串行方式进行建模。
作为本发明的进一步改进,所述步骤S2还包括:
当在处理大数据时,主节点无法存放所有的数据信息,此时,进程的进程列表中就保存各个数据分块在各台机器上的分布情况,从节点则在建树的过程中根据分布情况从其他机器上获取所需要的数据。
本发明具有以下有益效果:
将信息增益用于属性子空间加权,使得有用信息能够被抽取,从而提高分类的精度;
使用单机多线程的方式并行构建多个决策树,以此缩短模型构建时间;
使用一对多的主从节点的方式在多个机器上分布式构建子随机森林模型,从而解决数据无法在一个节点上存储的问题,同时提高建模效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种属性子空间加权的随机森林数据处理方法的流程示意图。
图2为本发明一具体实施方式中单机多核多线程方式建树流程示意图。
图3为本发明一具体实施方式中多机并行分布式方式建树流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明公开了一种属性子空间加权的随机森林数据处理方法,以解决对超高维的大数据进行有效处理的问题。其主要部分包括:
1)在建立决策树节点时,采用属性子空间加权的方法来提高对有用属性的 选取率,以增强算法在面对超高维数据时的精度性能;
2)当在多核CPU机器上时,算法采用并行多线程的方式构建决策树,使得同一时间可以对建立多个决策树模型,提高算法的时间效率;
3)当有多台机器可供计算时,算法采用分布式并行的方式自动对所需要建立的决策树模型在多台机器上进行分配,从而提高算法的可扩展性。
参图1所示,本发明的一种属性子空间加权的随机森林数据处理方法,其特征在于,所述
S1、对需要进行训练的数据样本集通过有放回抽样的方式抽取跟需要建立的决策树数目一致的N个样本子集;
S2、对每个样本子集构建无剪枝的决策树模型,在构建决策树模型的节点时,采用信息增益法先对所有参与节点构建的属性进行加权,从中选出权重最高的M个属性参与节点构建;
S3、将构建的N个决策树模型合并成一个大的随机森林模型。
具体实施步骤如下:首先,跟现有随机森林算法一样,对需要进行训练的数据样本集通过有放回抽样的方式抽取跟需要建立的决策树数目一致的N个样本子集;然后对每个样本子集构建无剪枝的决策树模型:其中,在构建决策树的节点时,本发明采用信息增益法先对所有参与节点构建的属性进行加权,从中选出权重最高的M个属性参与节点构建;最后将所构建的N个决策树模型合并成一个大的随机森林模型。
在构建决策树的过程中,针对单机多核和多机两种不同的环境,分别采用并行多线程和并行分布式的方式来构建各个决策树模型:
1)单机多核多线程方式构建决策树模型
如图2所示,进程列表(Task list)中包含建树的信息,包括需要建立的决策树的个数和每个决策树所对应的样本子集。在多核单机环境中,通过多线程的方式并行构建决策树模型,默认情况下,算法自动开启跟CPU核数一样多的线程(Thread),每个Thread从Task list中获取(fetch)一个建树信息后并开始进行根据该信息进行建树,每建完一颗树,就将建好的决策树模型放到随机森林(Forest)中。
本实施方式中Task list还负责建树信息的分发,当所需要构建的树被分发完 成之后,通知Forest完成的情况。就这样每个Thread同时并行地完成建树的过程,直到所有的建树信息分发完成,最后由Forest合并所有的决策树得到最后的随机森林模型。其中,Thread的个数是可调的。
2)多机并行分布式方式建立决策树模型
如图3所示,在使用多台机器分布式建立决策树模型时,将由两大模块对建模过程进行控制:主节点(Master node)和从节点(Slave node)。其中,Master node负责总体建模的调度,Slave node负责具体的建树过程。
具体步骤如下:首先,Master node中的进程(Tasks)保存所有建树的信息,并将建树信息分成多个进程列表(Task list1、Task list2……),其作用同单机多核多线程方式构建决策树模型中的Task list一致;然后根据需要启动其他机器上的Slave node进行建树,每个Slave node从Master node中获取一个Task list(如Task list1),然后在自己的机器上独立构建决策树并生成随机森林Forest,其构建过程同单机多核多线程方式构建决策树,如果此机器非多核机器,那么其构建过程默认情况下,将采用现有的随机森林算法的串行方式建模;最后,每个Slave node将各自构建的随机森林Forest放回到Master node中,由Master node将所有的随机森林合并得到最终的随机森林模型Forests。
其中,Slave node的个数,以及每个Slave node完成的决策树的个数都是由Master node可控可调的。另外,当在处理大数据时,一个节点无法存放所有的数据信息,此时,Tasks的子Task list中就保存了各个数据分块在各台机器上的分布情况,Slave node则在建树的过程中根据这个信息从其他机器上获取所需要的数据。
综上所述,与现有技术相比,本发明具有以下有益效果:
将信息增益用于属性子空间加权,使得有用信息能够被抽取,从而提高分类的精度;
使用单机多线程的方式并行构建多个决策树,以此缩短模型构建时间;
使用一对多的主从节点的方式在多个机器上分布式构建子随机森林模型,从而解决数据无法在一个节点上存储的问题,同时提高建模效率。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非 限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (7)
1.一种属性子空间加权的随机森林数据处理方法,其特征在于,所述方法包括:
S1、对需要进行训练的数据样本集通过有放回抽样的方式抽取跟需要建立的决策树数目一致的N个样本子集;
S2、对每个样本子集构建无剪枝的决策树模型,在构建决策树模型的节点时,采用信息增益法先对所有参与节点构建的属性进行加权,从中选出权重最高的M个属性参与节点构建;
S3、将构建的N个决策树模型合并成一个大的随机森林模型。
2.根据权利要求1所述的方法,其特征在于,所述步骤S2中的决策树模型采用单机多核多线程方式或多机并行分布式方式进行构建。
3.根据权利要求2所述的方法,其特征在于,所述步骤S2中的决策树模型采用单机多核多线程方式进行构建,具体包括:
自动开启跟CPU核数一样多的线程,每个线程从进程列表中获取一个建树信息后并开始进行根据该信息进行建树,每建完一颗树,就将建好的决策树模型放到随机森林中;
每个线程同时并行地完成建树的过程,直到所有的建树信息分发完成,最后由随机森林合并所有的决策树得到最后的随机森林模型。
4.根据权利要求3所述的方法,其特征在于,所述步骤S2还包括:
进程列表负责建树信息的分发,当所需要构建的树被分发完成之后,通知森林完成的情况。
5.根据权利要求2所述的方法,其特征在于,所述步骤S2中的决策树模型采用多机并行分布式方式进行构建,主节点负责总体建模的调度,从节点负责具体的建树过程,具体包括:
主节点中的进程保存所有建树的信息,并将建树信息分成多个进程列表;
根据需要启动其他机器上的从节点进行建树,每个从节点从主节点中获取一个进程列表,然后在自己的机器上独立构建决策树并生成子随机森林;
每个从节点将各自构建的子随机森林放回到主节点中,由主节点将所有的子随机森林合并得到最终的随机森林模型。
6.根据权利要求5所述的方法,其特征在于,所述从节点所在的机器为非多核机器时,采用随机森林算法的串行方式进行建模。
7.根据权利要求5所述的方法,其特征在于,所述步骤S2还包括:
当在处理大数据时,主节点无法存放所有的数据信息,此时,进程的进程列表中就保存各个数据分块在各台机器上的分布情况,从节点则在建树的过程中根据分布情况从其他机器上获取所需要的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410734550.6A CN104391970B (zh) | 2014-12-04 | 2014-12-04 | 一种属性子空间加权的随机森林数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410734550.6A CN104391970B (zh) | 2014-12-04 | 2014-12-04 | 一种属性子空间加权的随机森林数据处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104391970A true CN104391970A (zh) | 2015-03-04 |
CN104391970B CN104391970B (zh) | 2017-11-24 |
Family
ID=52609874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410734550.6A Active CN104391970B (zh) | 2014-12-04 | 2014-12-04 | 一种属性子空间加权的随机森林数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104391970B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104915679A (zh) * | 2015-05-26 | 2015-09-16 | 浪潮电子信息产业股份有限公司 | 一种基于随机森林加权距离的大规模高维数据分类方法 |
CN105046382A (zh) * | 2015-09-16 | 2015-11-11 | 浪潮(北京)电子信息产业有限公司 | 异构***并行随机森林优化方法和*** |
CN105574544A (zh) * | 2015-12-16 | 2016-05-11 | 平安科技(深圳)有限公司 | 一种数据处理方法和装置 |
CN106156786A (zh) * | 2015-04-19 | 2016-11-23 | 北京典赞科技有限公司 | 基于多gpu的随机森林训练方法 |
CN109726826A (zh) * | 2018-12-19 | 2019-05-07 | 东软集团股份有限公司 | 随机森林的训练方法、装置、存储介质和电子设备 |
CN109829471A (zh) * | 2018-12-19 | 2019-05-31 | 东软集团股份有限公司 | 随机森林的训练方法、装置、存储介质和电子设备 |
CN110108992A (zh) * | 2019-05-24 | 2019-08-09 | 国网湖南省电力有限公司 | 基于改进随机森林算法的电缆局放故障识别方法、***及介质 |
CN111599477A (zh) * | 2020-07-10 | 2020-08-28 | 吾征智能技术(北京)有限公司 | 一种基于饮食习惯预测糖尿病的模型构建方法和*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101923650A (zh) * | 2010-08-27 | 2010-12-22 | 北京大学 | 基于对比模式的随机森林分类方法和分类器 |
US20120039541A1 (en) * | 2010-08-12 | 2012-02-16 | Fuji Xerox Co., Ltd. | Computer readable medium storing program, image identification information adding apparatus, and image identification information adding method |
-
2014
- 2014-12-04 CN CN201410734550.6A patent/CN104391970B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120039541A1 (en) * | 2010-08-12 | 2012-02-16 | Fuji Xerox Co., Ltd. | Computer readable medium storing program, image identification information adding apparatus, and image identification information adding method |
CN101923650A (zh) * | 2010-08-27 | 2010-12-22 | 北京大学 | 基于对比模式的随机森林分类方法和分类器 |
Non-Patent Citations (2)
Title |
---|
刘一鸣等: ""引入信息增益的层次聚类算法",", 《计算机工程与应用》 * |
方匡南等: ""随机森林方法研究综述"", 《统计与信息论坛》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106156786A (zh) * | 2015-04-19 | 2016-11-23 | 北京典赞科技有限公司 | 基于多gpu的随机森林训练方法 |
CN104915679A (zh) * | 2015-05-26 | 2015-09-16 | 浪潮电子信息产业股份有限公司 | 一种基于随机森林加权距离的大规模高维数据分类方法 |
CN105046382A (zh) * | 2015-09-16 | 2015-11-11 | 浪潮(北京)电子信息产业有限公司 | 异构***并行随机森林优化方法和*** |
CN105574544A (zh) * | 2015-12-16 | 2016-05-11 | 平安科技(深圳)有限公司 | 一种数据处理方法和装置 |
CN109726826A (zh) * | 2018-12-19 | 2019-05-07 | 东软集团股份有限公司 | 随机森林的训练方法、装置、存储介质和电子设备 |
CN109829471A (zh) * | 2018-12-19 | 2019-05-31 | 东软集团股份有限公司 | 随机森林的训练方法、装置、存储介质和电子设备 |
CN109726826B (zh) * | 2018-12-19 | 2021-08-13 | 东软集团股份有限公司 | 随机森林的训练方法、装置、存储介质和电子设备 |
CN109829471B (zh) * | 2018-12-19 | 2021-10-15 | 东软集团股份有限公司 | 随机森林的训练方法、装置、存储介质和电子设备 |
CN110108992A (zh) * | 2019-05-24 | 2019-08-09 | 国网湖南省电力有限公司 | 基于改进随机森林算法的电缆局放故障识别方法、***及介质 |
CN110108992B (zh) * | 2019-05-24 | 2021-07-23 | 国网湖南省电力有限公司 | 基于改进随机森林算法的电缆局放故障识别方法、*** |
CN111599477A (zh) * | 2020-07-10 | 2020-08-28 | 吾征智能技术(北京)有限公司 | 一种基于饮食习惯预测糖尿病的模型构建方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN104391970B (zh) | 2017-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104391970A (zh) | 一种属性子空间加权的随机森林数据处理方法 | |
Virtucio et al. | Predicting decisions of the philippine supreme court using natural language processing and machine learning | |
CN104216954B (zh) | 突发事件话题状态的预测装置及预测方法 | |
CN101587493B (zh) | 文本分类方法 | |
CN103617481B (zh) | 一种面向流程的领域知识抽取与推送***及方法 | |
Maggi et al. | The automated discovery of hybrid processes | |
Han et al. | A scalable random forest algorithm based on mapreduce | |
Frini et al. | MUPOM: A multi-criteria multi-period outranking method for decision-making in sustainable development context | |
Uddin et al. | Scientometric mapping of computer science research in Mexico | |
Gupta et al. | A classification method to classify high dimensional data | |
CN106844743B (zh) | 维吾尔语文本的情感分类方法及装置 | |
JP2016119081A5 (zh) | ||
CN105787072A (zh) | 一种面向流程的领域知识抽取与推送方法 | |
Bo et al. | An improved PAM algorithm for optimizing initial cluster center | |
Baru et al. | Big data benchmarking | |
Maria et al. | R versus Other Statistical Software. | |
Pineau et al. | Variational recurrent neural networks for graph classification | |
Kumar et al. | On giant components in research collaboration networks: Case of engineering disciplines in Malaysia | |
JP2012088880A (ja) | 準頻出構造パターンマイニング装置と頻出構造パターンマイニング装置とそれらの方法、及びプログラム | |
Henriksen et al. | Networks of corporate ancestry: Dynasties of patri-lineages in chairman-executive networks | |
Santos et al. | A tabu search for the permutation flow shop problem with sequence dependent setup times | |
Fonotov | Role of state scientific and technological policy in the improvement of the innovation activity of Russian enterprises | |
Cheng et al. | An overview of publications on artificial intelligence research: a quantitative analysis on recent papers | |
Raysmith et al. | Trustworthy performance evaluations: The Performance Outcome Scoring Template (POS-T) for transparent assessments in real-world programs | |
Satapathy et al. | Agent-based parallel Particle swarm optimization based on group collaboration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |