大数据背景下高校招生策略预测

2019-04-10 08:39杨正理史文陈海霞王长鹏
智能系统学报 2019年2期
关键词:决策树集群森林

杨正理,史文,陈海霞,王长鹏

(三江学院 机械与电气工程学院,江苏 南京 210012)

随着计算机通信网络技术、信息技术的发展,普通高校招生方式多元化,以及各院校招生竞争的日趋激烈,制定精确合理的招生策略所需要参考的招生信息数据呈现爆炸性增长,形成了招生信息大数据[1]。原有的招生信息数据处理方式已不能满足大数据的要求,需要研究新的数据分析方法。

高校招生策略预测的常用方法有:时间序列、灰色预测、多元统计等。这些方法具有简单实用、预测速度快的优点,但只适用小样本、线性变化的数据集,对大规模、非线性数据则无能为力[2]。近年来,基于大数据技术,研究更有效的预测模型已成为学术界和产业界共同关注的热点[3]。文献[4]采用Spark平台和并行随机森林算法对短时电力负荷进行预测,改进了单机随机森林算法的各方面性能;文献[5]基于随机森林算法的并行化,对历史负荷数据及相关的温度、风速等一起进行分析,提高了负荷预测效率,并增强了算法对大数据的处理能力;文献[6]提出了一种基于弱相关化特征子空间选择的离散化随机森林并行分类算法,使决策树之间相关性降低,提高了随机森林的分类效果;文献[7]在小规模集群服务器上用消息传递技术对随机森林算法进行并行化,提高了模型的训练速度;文献[8]采用数据重构方法获取多维高校历史数据,利用非线性预测能力较强的支持向量机提出了一种数据挖掘高校招生预测模型;文献[9]以历年招生数据为基础,采用数据挖掘手段分析校园网络数据,构建了高校招生预测系统,为学校招生带来可视化的预测信息;文献[10]建立了高校招生数据挖掘系统,提出了有利于高校招生的策略预测方法。

经过众多研究学者的努力,国内对高校招生策略的预测方法取得了一定成果,但由于相适应的市场机制还没有形成,一些有效的预测模型,如并行化随机森林算法在高校招生领域还没有得到应用。本文借助Hadoop平台,利用并行化计算框架对招生数据进行挖掘和分析,提出了并行化的随机森林算法预测高校招生策略的方法。

1 大数据管理平台

1.1 Hadoop技术

Hadoop是云计算技术应用最广泛的平台之一,已经成为大数据管理与并行处理的主流技术。Hadoop是一个开源的分布式软件框架,分布式文件系统(hadoop distribution file system,HDFS)和并行化计算模型MapReduce是其最核心内容[11]。HDFS提供了文件分布式存储、大数据库管理等应用技术;而MapReduce则为大数据库提供了完善的并行分析计算框架。为了方便用户操作,Hadoop还提供了一系列实用的组件供用户选择,如Hive、Pig、Sqoop、Datanucleus等[12]。

1.2 大数据管理平台框架结构

参照云计算技术体系结构[13]与数据分析处理工具,并结合高校招生数据分析的实际需要,搭建以数据存储、分析计算为主的高校招生数据管理平台,其基本构架如图1所示。平台自下往上分为:数据采集整合系统、数据存储系统、数据分析系统和数据应用系统。

该平台是Hadoop技术的具体应用:一方面,利用Hadoop的核心组件HDFS、HBase、Hive建立大数据存储系统;另一方面,利用MapReduce并行计算框架和Spark内存并行计算框架,构成数据计算分析系统,实现对高校招生数据的分析与计算。

图1 大数据管理平台框架图Fig.1 Architecture diagram of big data manage platform

1.3 数据采集整合系统

高校的招生人数、专业设置、生源人数、学生成绩等招生数据构成数据子集,这些数据子集来源不同,数据口径不一,模态千差万别,形成了海量异构数据。

数据整合过程就是将海量异构数据迁移至Hadoop集群,实现高效存储与管理。目前,数据整合过程还没有一个高效标准的方法,还需要利用第三方软件完成该操作,如Sqoop、Datanucleus等。Sqoop能够将数据在Hadoop集群和关系型数据库之间进行相互转移[14]。在本管理平台中,利用Sqoop将各数据子集迁移到集群的数据仓库;Datanucleus能够支持多种主流存储系统[15],屏蔽各存储系统之间的差异,提供标准的数据接口(JDO,JPA)实现数据传送。在本管理平台中,各数据子集通过Datanucleus接口将数据导入到列数据库HBase中。

1.4 数据存储系统

数据仓库、列数据库中的数据均存储在Hadoop集群的HDFS中。采集到的原始数据经过抽取、清理、系统加工、整合等预处理后保存到数据仓库,预处理过程是为了保证数据仓库中的数据信息是一致的全局信息[16]。Hadoop提供了一款管理数据仓库组件Hive,其作用是将结构化的数据文件映射成数据库,并为用户提供简单的SQL查询功能[17]。HDFS中的数据块(Block)采用冗余多备份机制存储,能有效的处理单点故障。

1.5 数据挖掘分析系统

平台采用并行化计算模型MapReduce对数据进行挖掘分析,利用基于内存的并行化计算模型Spark对对密集型数据完成迭代式计算。MapReduce向用户提供了庞大但设计精良的并行计算软件框架,在集群内能实现计算任务和数据的自动划分,并能根据集群节点所能提供的资源自动完成任务的分配,并有效监控任务的完成过程,最后还能自动完成各集群节点计算结果的收集。MapReduce将数据分布式存储、数据通信、容错处理等复杂的底层细节全交由系统处理,大大减轻了用户软件开发负担[18];Spark是在Hadoop基础上进行改良的基于内存的集群计算系统。系统的中间数据全部存放在内存中,对迭代等复杂的计算过程具有很高的效率[19]。

1.6 数据应用系统

根据云服务中应用即服务的概念,数据应用系统就是向高校招生策略预测系统的应用者提供所需要的服务,如以文件的形式提供各省市招生计划投放数据列表、指导本校专业设置建议、招生生源选择提示、招生宣传策略等可视化服务。数据应用系统还为用户提供与高校招生有关的、能够与其他系统进行数据交换的操作接口。

2 并行随机森林预测高校招生策略

2.1 随机森林算法原理

在大数据背景下,常用的分类预测算法有极限学习、神经网络、遗传算法、支持向量机、决策树等。决策树在传统的分类预测算法基础上得到了广泛研究,也取得了不错的应用效果[20],但由于其自身原因,仍然存在以下不足。

1) 在建树初始需要将所有的分类规则读入内存,限制了决策树处理更多数据,因此其处理大数据的能力有限。

2) 实际应用中,当数据中有噪声或训练样本过少时,会出现过度拟合现象。过度拟合的决策树对训练样本的分类效果表现良好,但对新样本的分类效果则明显不佳。

3) 决策树在选择属性时不进行回归运算,因此其结果仅能收敛于局部最优解,造成决策树分类精度不高,且泛化能力较差。

随机森林是一种集成了多棵分类回归树的综合分类预测算法。当输入训练样本时,每一棵决策树都会产生一个分类结果,通过对所有分类结果进行投票得到随机森林的最终分类结果。随机森林吸收了决策树的所有优点,同时克服了决策树的缺点。又因为便于实现并行化,提高了数据分析效率,同时也提高了算法对大数据的处理能力。

由于高校招生策略的输出为实数,只需要讨论随机森林的回归过程,其实现步骤如下(设集成的决策树棵数为 R):

1) 从原始数据集 S中采用Bagging方法有放回的抽取大小为 N 的训练子集 T Si(i=0,1,···,R);

2) 对 T Si重复①~③步骤,直到节点的样本数不超过预设的最小值 Lmin, 得到一棵决策树 Ti:

① 从 M 个属性样本集中随机抽取 m个属性样本;在回归模型中, m 值 取 M 的1/3。

② 从 m 个属性样本中选择最佳的变量 j和切分点 s 得 到θ ( j,s);

③ 将该节点 θ( j,s)切分成两个内部节点。

决策树中内部节点进行分支的样本属性选择依据采用最小二乘偏差算法。采用“平方误差最小原则”来度量决策树的分支偏差,节点t的拟合偏差公式为

式中: nt为 节点t中 所包含的实例个数,kt为每个内部节点中由实例目标值计算所得到的平均值。

节点t按 属性值 s进行分支的最小二乘偏差值计算公式为

为了在训练过程中减少遍历属性值的计算,对式(2)进行化简得到:

2.2 随机森林算法的并行化

随机森林集成了多个决策树,这是随机森林算法能够实现并行化的物理条件。而袋装(Bagging)算法和随机子空间思想为随机森林算法的并行化提供了基本理论依据:

Bagging算法是一种根据概率分布原理从数据集中有放回的抽样技术。Bagging算法进行每轮抽样时,数据集中约有36.8%的样本不能被抽中,没有被抽中的数据样本不能参加算法训练,但可以用来检测训练模型的泛化能力。Bagging算法使每个训练样本的内容不同,但所包含原始数据集的知识规模是相同的,从而使随机森林中的每个决策树的构建过程相互独立,可以并行完成训练过程。

随机子空间思想是指决策树在每个节点进行属性样本抽取时,随机的从属性样本中抽取若干个属性的方法。由于抽取过程随机,所以多个节点可以并行化地同步抽取,使各决策树可以独立生成。

Bagging思想和随机子空间思想保证了随机森林能够并行运行,使其具有较高的预测精度、较快的数据分析效率和较强的数据处理能力。因此,本文提出了基于MapReduce的并行化随机森林算法 (MapReduce-paralleled random forests,MRPRF)进行高校招生策略预测方法。

3 并行随机森林算法实现

3.1 算法的预测流程

高校招生策略预测的原始数据量巨大,开启3个MapReduce作业类来完成数据处理过程。每个MapReduce类的输出作为下一个MapReduce类的输入,3个MapReduce类分别完成生成数据字典、生成决策树和构建随机森林模型。

生成数据字典就是以文件的形式解析参于训练的样本数据,由第1个MapReduce作业类完成。在Map过程,首先读取一部分招生样本数据,然后提取样本数据的属性类型、属性值、以及模型的类型(是回归还是分类),得到key/value数据对传递给Reduce过程;在Reduce过程,将Map过程得到的key/value数据对按key值进行合并,并通过Datanucleus数据库接口写入到HBase中。所有的key/value数据对以文件形式进行记录,保存在集群的HDFS中,作为第2个MapReduce作业类的输入。

生成决策树由第2个MapReduce作业类完成。随机森林算法中集成的决策树是并行产生的,一个Map过程生成一个决策树。该MapReduce作业只有Map过程,没有Reduce过程。

生成随机森林由第3个MapReduce作业类完成。在回归预测模型中,该过程的主要功能就是将所有决策树的结果进行统计,求取平均值得到随机森林的最终结果。

采用并行化随机森林算法预测高校招生策略的具体流程如图2所示。该流程基于Hadoop集群强大的存储能力和数据处理能力,对招生数据进行挖掘和分析处理,有效的提高了算法的预测精度和数据处理能力。

图2 并行化随机森林招生策略预测流程图Fig.2 Flow chart of paralleled random forests for enrollment strategy

3.2 高校招生大数据实验平台

课题组在实验室采用46台计算机建立了一个高校招生策略预测实验平台。计算机集群采用典型的主/从结构,也称为Master/Salve结构。其中一台计算机作为Master(管理节点),负责集群内的资源管理和任务分配;其他计算机作为Salve(数据节点),负责保存各数据块,并完成与数据块相对应的任务。当MapReduce作业提交至Master节点时,Master将数据文件进行分块,并记录与各数据块相对应的名字空间与元数据。然后将各数据块冗余的保存在各数据节点并分配相应的作业任务,并负责监控MapReduce作业的执行过程。实验平台的拓扑结构如图3所示。

图3中,大数据库以关系型数据库方式保存,应用Sqoop软件将本地文件或数据库表与HDFS文件进行相互迁移。Sqoop软件是基于MapReduce实现的,用户无需过多关注MapReduce的实现和优化过程。实验中,将约20万条测试数据整合到HBase列式数据库中,大约需要2 min时间。

图3 实验平台拓扑结构Fig.3 Topology map of experimental platform

3.3 实验数据、属性值、实验评价指标选取

实验数据来自某高校近3年的招生数据,包括:该年各省考生人数、考生来源(毕业中学、中学所在地)、各专业在各省的招生人数、报到率、录取志愿排名、男女比例、学生当年录取成绩(总分、选测成绩)、录取成绩在本省排名等。已有的数据远没有达到大数据库的规模,但采用这些数据足以验证算法的正确性。后期通过人为的补充数据操作,使实验数据达到大数据的规模,然后验证算法的数据处理能力。根据大量文献[21-24]的研究成果,将预测当年的招生数据进行归一化处理,形成预测高校招生策略的样本属性。

算法的预测精度采用平均绝对百分比误差(mean absolute percentage error,MAPE)来评价,MAPE的计算方法为

式中: Yt为 算法的预测值; yt为 真实值;n为预测结果的个数;MAPE值越小时,说明算法的预测精度越高。

算法的加速比(speedup)是指单位任务在单处理器系统下执行完成所消耗时间与该任务在并行处理器系统下执行完成所消耗时间的比值,其作用是用来评价并行系统或程序并行化的性能和效果,speedup的计算公式为

式中:t 为单台计算机的运行时间,T为集群模型的运行时间

4 实验结果分析

实验1 在相同的数据集下,比较MR-PRF算法、决策树算法、单机随机森林算法的性能。原始数据集取2014—2016年某大学的历史招生数据 (文件大小为 104 MB,共 1.2×106条数据),分别采用MR-PRF算法(集成决策树数量 R =240)、决策树算法、单机随机森林算法对2017年的招生策略进行预测,各类实验均进行多次,并取实验结果的平均值作为最终结果,实验结果如表1所示。

表1 各类算法的预测性能比较Table1 Prediction performance of all kinds of algorithms

由表1可见,MR-PRF算法的预测性能最好,且执行效率最高。这是因为MR-PRF算法吸取了决策树的优点而克服了其缺点,在预测精度上才有更好的表现。而且由于MR-PRF算法的并行化,使其执行效率得到较大提高。

实验2在同样的数据集下,MR-PRF算法集成决策树的数量 R 与算法的性能表现之间的关系。采用实验1数据集,MR-PRF集成决策树数量 R取不同值时,得到的实验结果如表2所示。

表2 MR-PRF算法的预测精度受决策树数量的影响Table2 The prediction accuracy of the MR-PRF algorithm is affected by the number of decision trees

由表2可见,MR-PRF算法的集成决策树数量 R取值过小时,算法精度较低,这是因为不能充分体现MR-PRF的并行优势;当MR-PRF算法的集成决策树数量 R取值过大时,算法的复杂程度加大,预测时间加长;当MR-PRF算法的集成决策树数量 R取值达到一定程度时,算法的精度变化不大。这说明在实际应用时,R取值应合理。

实验3 MR-PRF算法的集成决策树数量R取值一定时(R =240),其预测性能和数据集大小的关系。人为补充数据集至不同大小,对每组数据集分别进行多次实验,取多次实验的平均值作为最终结果,实验数据如表3所示。

由表3可见,原始数据集的大小对MR-PRF算法的预测性能影响不大,没有明显的规律可寻。但随着原始数据集的增加,运行时间加大,这是符合算法规律的。该实验结果表明MR-PRF算法是适合处理大数据集的。

表3 MR-PRF算法的预测性能受数据集大小的影响Table3 The prediction property of the MR-PRF algorithm is affected by the data set size

实验4 通过计算加速比值来评价MR-PRF算法的并行性能。人为补充数据集至3.6、13.6、136 GB,分别由 1、5、15、25、35台计算机构成集群,选择MR-PRF算法集成决策树数量 R =240进行预测实验,结果如图4所示。由图4可见,在相同规模集群下,数据集越大,加速比越大,并行性能越好;在相同的原始数据集下,加速比随集群的增加而增加,并行性能也越好。

图4 MR-PRF算法的加速比Fig.4 Speedup of MR-PRF algorithm

5 结束语

在国内外大数据研究基础上,针对高校招生数据集的特点,提出了一种基于Hadoop的分布式并行随机森林算法模型,并利用该模型处理高校招生大数据,实现对未来招生策略进行预测。经多次不同类型的实验进行验证,并与使用广泛的决策树预测算法进行比较,证明并行随机森林算法模型具有更快的数据分析速度,更高的预测性能以及更好的大数据处理能力。

受实验条件限制,原始招生数据集在数量上远没有达到大数据的规模,但通过人为的数据补充操作,提高了实验的真实性。因此,本文的结论仍然具有较强的可参考性。

猜你喜欢
决策树集群森林
海上小型无人机集群的反制装备需求与应对之策研究
决策树和随机森林方法在管理决策中的应用
一种无人机集群发射回收装置的控制系统设计
Python与Spark集群在收费数据分析中的应用
哈Q森林
决策树多元分类模型预测森林植被覆盖
勤快又呆萌的集群机器人
哈Q森林
哈Q森林
基于决策树的出租车乘客出行目的识别