随着计算机通信网络技术、信息技术的发展,普通高校招生方式多元化,以及各院校招生竞争的日趋激烈,制定精确合理的招生策略所需要参考的招生信息数据呈现爆炸性增长,形成了招生信息大数据[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所示。平台自下往上分为:数据采集整合系统、数据存储系统、数据分析系统和数据应用系统。
Download:
|
|
该平台是Hadoop技术的具体应用:一方面,利用Hadoop的核心组件HDFS、HBase、Hive建立大数据存储系统;另一方面,利用MapReduce并行计算框架和Spark内存并行计算框架,构成数据计算分析系统,实现对高校招生数据的分析与计算。
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) 决策树在选择属性时不进行回归运算,因此其结果仅能收敛于局部最优解,造成决策树分类精度不高,且泛化能力较差。
随机森林是一种集成了多棵分类回归树的综合分类预测算法。当输入训练样本时,每一棵决策树都会产生一个分类结果,通过对所有分类结果进行投票得到随机森林的最终分类结果。随机森林吸收了决策树的所有优点,同时克服了决策树的缺点。又因为便于实现并行化,提高了数据分析效率,同时也提高了算法对大数据的处理能力。
由于高校招生策略的输出为实数,只需要讨论随机森林的回归过程,其实现步骤如下(设集成的决策树棵数为
1) 从原始数据集
2) 对
① 从
② 从
③ 将该节点
3) 所有决策树集合
决策树中内部节点进行分支的样本属性选择依据采用最小二乘偏差算法。采用“平方误差最小原则”来度量决策树的分支偏差,节点
${\rm Err}(t) = \frac{1}{{{n_t}}}\sum\limits_{{D_t}} {{{({y_i} - {k_t})}^2}} $ | (1) |
式中:
节点
${\rm Err}(s,t) = \frac{{{n_{tL}}}}{{{n_t}}}{\rm Err}({t_L}) + \frac{{{n_{tR}}}}{{{n_t}}}{\rm Err}({t_R})$ | (2) |
为了在训练过程中减少遍历属性值的计算,对式(2)进行化简得到:
${\rm Err}(s,t) = \frac{{S_L^2}}{{{n_{tL}}}} + \frac{{S_R^2}}{{{n_{tR}}}}$ | (3) |
式中:
随机森林集成了多个决策树,这是随机森林算法能够实现并行化的物理条件。而袋装(Bagging)算法和随机子空间思想为随机森林算法的并行化提供了基本理论依据:
Bagging算法是一种根据概率分布原理从数据集中有放回的抽样技术。Bagging算法进行每轮抽样时,数据集中约有36.8%的样本不能被抽中,没有被抽中的数据样本不能参加算法训练,但可以用来检测训练模型的泛化能力。Bagging算法使每个训练样本的内容不同,但所包含原始数据集的知识规模是相同的,从而使随机森林中的每个决策树的构建过程相互独立,可以并行完成训练过程。
随机子空间思想是指决策树在每个节点进行属性样本抽取时,随机的从属性样本中抽取若干个属性的方法。由于抽取过程随机,所以多个节点可以并行化地同步抽取,使各决策树可以独立生成。
Bagging思想和随机子空间思想保证了随机森林能够并行运行,使其具有较高的预测精度、较快的数据分析效率和较强的数据处理能力。因此,本文提出了基于MapReduce的并行化随机森林算法(MapReduce-paralleled random forests,MR-PRF)进行高校招生策略预测方法。
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集群强大的存储能力和数据处理能力,对招生数据进行挖掘和分析处理,有效的提高了算法的预测精度和数据处理能力。
Download:
|
|
课题组在实验室采用46台计算机建立了一个高校招生策略预测实验平台。计算机集群采用典型的主/从结构,也称为Master/Salve结构。其中一台计算机作为Master(管理节点),负责集群内的资源管理和任务分配;其他计算机作为Salve(数据节点),负责保存各数据块,并完成与数据块相对应的任务。当MapReduce作业提交至Master节点时,Master将数据文件进行分块,并记录与各数据块相对应的名字空间与元数据。然后将各数据块冗余的保存在各数据节点并分配相应的作业任务,并负责监控MapReduce作业的执行过程。实验平台的拓扑结构如图3所示。
Download:
|
|
图3中,大数据库以关系型数据库方式保存,应用Sqoop软件将本地文件或数据库表与HDFS文件进行相互迁移。Sqoop软件是基于MapReduce实现的,用户无需过多关注MapReduce的实现和优化过程。实验中,将约20万条测试数据整合到HBase列式数据库中,大约需要2 min时间。
3.3 实验数据、属性值、实验评价指标选取实验数据来自某高校近3年的招生数据,包括:该年各省考生人数、考生来源(毕业中学、中学所在地)、各专业在各省的招生人数、报到率、录取志愿排名、男女比例、学生当年录取成绩(总分、选测成绩)、录取成绩在本省排名等。已有的数据远没有达到大数据库的规模,但采用这些数据足以验证算法的正确性。后期通过人为的补充数据操作,使实验数据达到大数据的规模,然后验证算法的数据处理能力。根据大量文献[21-24]的研究成果,将预测当年的招生数据进行归一化处理,形成预测高校招生策略的样本属性。
算法的预测精度采用平均绝对百分比误差(mean absolute percentage error,MAPE)来评价,MAPE的计算方法为
${\rm{MAPE}} = \left[\sum\limits_{t = 1}^n {(|{Y_t} - {y_t}|/{y_t})} \right]/n \times 100{\text{%}} $ | (4) |
式中:
算法的加速比(speedup)是指单位任务在单处理器系统下执行完成所消耗时间与该任务在并行处理器系统下执行完成所消耗时间的比值,其作用是用来评价并行系统或程序并行化的性能和效果,speedup的计算公式为
${S_p} = t/T$ | (5) |
式中:
实验1 在相同的数据集下,比较MR-PRF算法、决策树算法、单机随机森林算法的性能。原始数据集取2014—2016年某大学的历史招生数据(文件大小为104 MB,共1.2×106条数据),分别采用MR-PRF算法(集成决策树数量
由表1可见,MR-PRF算法的预测性能最好,且执行效率最高。这是因为MR-PRF算法吸取了决策树的优点而克服了其缺点,在预测精度上才有更好的表现。而且由于MR-PRF算法的并行化,使其执行效率得到较大提高。
实验2 在同样的数据集下,MR-PRF算法集成决策树的数量
由表2可见,MR-PRF算法的集成决策树数量
实验3 MR-PRF算法的集成决策树数量R取值一定时(
由表3可见,原始数据集的大小对MR-PRF算法的预测性能影响不大,没有明显的规律可寻。但随着原始数据集的增加,运行时间加大,这是符合算法规律的。该实验结果表明MR-PRF算法是适合处理大数据集的。
实验4 通过计算加速比值来评价MR-PRF算法的并行性能。人为补充数据集至3.6、13.6、136 GB,分别由1、5、15、25、35台计算机构成集群,选择MR-PRF算法集成决策树数量
Download:
|
|
在国内外大数据研究基础上,针对高校招生数据集的特点,提出了一种基于Hadoop的分布式并行随机森林算法模型,并利用该模型处理高校招生大数据,实现对未来招生策略进行预测。经多次不同类型的实验进行验证,并与使用广泛的决策树预测算法进行比较,证明并行随机森林算法模型具有更快的数据分析速度,更高的预测性能以及更好的大数据处理能力。
受实验条件限制,原始招生数据集在数量上远没有达到大数据的规模,但通过人为的数据补充操作,提高了实验的真实性。因此,本文的结论仍然具有较强的可参考性。
[1] | TOLLE K M, TANSLEY D S W, HEY A J G. The fourth paradigm: data-intensive scientific discovery[J]. Proceedings of the IEEE, 2011, 99(8): 1334-1337. DOI:10.1109/JPROC.2011.2155130 (0) |
[2] | MAYER-SCHONBERGER V, CUKIER K. Big data: a revolution that will transform how we live, work and think[M]. Boston: Hodder Press, 2013. (0) |
[3] | RUSITSCHKA S, EGER K, GERDES C. Smart grid data cloud: a model for utilizing cloud computing in the smart grid domain[C]//Proceedings of the First IEEE International Conference on Smart Grid Communications. Gaithersburg, MD, USA, 2010: 483–488. (0) |
[4] |
刘琪琛, 雷景生, 郝珈玮, 等. 基于Spark平台和并行随机森林回归算法的短期电力负荷预测[J]. 电力建设, 2017, 38(10): 84-92. LIU Qichen, LEI Jingsheng, HAO Jiawei, et al. Short-Term power load forecasting based on spark platform and parallel random forest regression algorithm model[J]. Electric power construction, 2017, 38(10): 84-92. DOI:10.3969/j.issn.1000-7229.2017.10.012 (0) |
[5] |
王德文, 孙志伟. 电力用户侧大数据分析与并行负荷预测[J]. 中国电机工程学报, 2015, 35(3): 527-537. WANG Dewen, SUN Zhiwei. Big data analysis and parallel load forecasting of electric power user side[J]. Proceedings of the CSEE, 2015, 35(3): 527-537. (0) |
[6] |
陈旻骋, 袁景凌, 王啸岩, 等. 基于弱相关化特征子空间选择的离散化随机森林并行分类算法[J]. 计算机科学, 2016, 43(6): 55-58, 90. CHEN Mincheng, YUAN Jingling, WANG Xiaoyan, et al. Parallelization of random forest algorithm based on discretization and selection of weak-correlation feature subspaces[J]. Computer science, 2016, 43(6): 55-58, 90. (0) |
[7] |
程光, 王贵锦, 何礼, 等. 人体姿势估计中随机森林训练算法的并行化[J]. 计算机应用研究, 2014, 31(5): 1558-1561, 1576. CHENG Guang, WANG Guijin, HE Li, et al. Parallelization for randomized forests used in human pose estimation[J]. Application research of computers, 2014, 31(5): 1558-1561, 1576. DOI:10.3969/j.issn.1001-3695.2014.05.067 (0) |
[8] |
孙晓莹, 郭飞燕. 数据挖掘在高校招生预测中的应用研究[J]. 计算机仿真, 2012, 29(4): 387-391. SUN Xiaoying, GUO Feiyan. Research on data mining for college enrolment prediction[J]. Computer simulation, 2012, 29(4): 387-391. DOI:10.3969/j.issn.1006-9348.2012.04.095 (0) |
[9] |
韩娜, 廖晨, 许杰维, 等. 基于大数据的高校招生预测系统的设计与实现[J]. 信息技术, 2016(12): 80-83. HAN Na, LIAO Chen, XU Jiewei, et al. Design and implementation of college enrollment forecasting system based on big data[J]. Information technology, 2016(12): 80-83. (0) |
[10] |
朱丽丽. 数据挖掘在高校招生中的应用研究[J]. 计算机与现代化, 2012(8): 190-194. ZHU Lili. Research on application of data mining technology in enrollment of vocational colleges[J]. Computer and modernization, 2012(8): 190-194. DOI:10.3969/j.issn.1006-2475.2012.08.053 (0) |
[11] |
马世龙, 乌尼日其其格, 李小平. 大数据与深度学习综述[J]. 智能系统学报, 2016, 11(6): 728-742. MA Shilong, WUNIRI Qiqige, LI Xiaoping. Deep learning with big data: State of the art and development[J]. CAAI transactions on intelligent systems, 2016, 11(6): 728-742. (0) |
[12] |
龚冬颖, 黄敏, 张洪博, 等. RGBD人体行为识别中的自适应特征选择方法[J]. 智能系统学报, 2017, 12(1): 1-7. GONG Dongying, HUANG Min, ZHANG Hongbo, et al. Adaptive feature selection method for action recognition of human body in RGBD data[J]. CAAI transactions on intelligent systems, 2017, 12(1): 1-7. (0) |
[13] |
张钢, 谢晓珊, 黄英, 等. 面向大数据流的半监督在线多核学习算法[J]. 智能系统学报, 2014, 9(3): 355-363. ZHANG Gang, XIE Xiaoshan, HUANG Ying, et al. An online multi-kernel learning algorithm for big data[J]. CAAI transactions on intelligent systems, 2014, 9(3): 355-363. DOI:10.3969/j.issn.1673-4785.2014.03.017 (0) |
[14] | RADFORD A, METZ L, CHINTALA S. Unsupervised representation learning with deep convolutional generative adversarial networks[J]. Computer science, 2015. (0) |
[15] |
孟祥萍, 周来. 基于hadoop云平台的智能电网HDFS资源存储技术研究[J]. 电测与仪表, 2014, 51(19): 23-30. MENG Xiangping, ZHOU Lai. Research on resource storage technologies of HDFS for smart grid based on hadoop cloud platform[J]. Electrical measurement & instrumentation, 2014, 51(19): 23-30. (0) |
[16] | SILVER D, HUANG A, MADDISON C J, et al. Mastering the game of go with deep neural networks and tree search[J]. Nature, 2016, 529(7587): 484-489. DOI:10.1038/nature16961 (0) |
[17] |
冯兴杰, 吴稀钰, 赵杰, 等. QAR数据仓库在Hive中的构建[J]. 计算机工程与应用, 2017, 53(11): 90-94. FENG Xingjie, WU Xiyu, ZHAO Jie, et al. Data warehouse of QAR based on hive[J]. Computer engineering and applications, 2017, 53(11): 90-94. DOI:10.3778/j.issn.1002-8331.1603-0290 (0) |
[18] |
马学森, 王晓洁, 韩江洪, 等. MapReduce框架下的Skyline结果优化算法[J]. 传感器与微系统, 2017, 36(2): 146-149. MA Xuesen, WANG Xiaojie, HAN Jianghong, et al. Skyline result optimization algorithm based on MapReduce framework[J]. Transducer and microsystem technologies, 2017, 36(2): 146-149. (0) |
[19] |
李帅, 吴斌, 杜修明, 等. 基于Spark的BIRCH算法并行化的设计与实现[J]. 计算机工程与科学, 2017, 39(1): 35-41. LI Shuai, WU Bin, DU Xiuming, et al. Design and implementation of BIRCH algorithm parallelization based on Spark[J]. Computer engineering & science, 2017, 39(1): 35-41. DOI:10.3969/j.issn.1007-130X.2017.01.004 (0) |
[20] |
黄春华, 陈忠伟, 李石君. 贝叶斯决策树方法在招生数据挖掘中的应用[J]. 计算机技术与发展, 2016, 26(4): 114-118. HUANG Chunhua, CHEN Zhongwei, LI Shijun. Application of Bayesian decision tree method in admission data mining[J]. Computer technology and development, 2016, 26(4): 114-118. (0) |
[21] |
李战怀, 王国仁, 周傲英. 从数据库视角解读大数据的研究进展与趋势[J]. 计算机工程与科学, 2013, 35(10): 1-11. LI Zhanhuai, WANG Guoren, ZHOU Aoying. Research progress and trends of big data from a database perspective[J]. Computer engineering & science, 2013, 35(10): 1-11. DOI:10.3969/j.issn.1007-130X.2013.10.001 (0) |
[22] |
吴倩红, 高军, 侯广松, 等. 实现影响因素多源异构融合的短期负荷预测支持向量机算法[J]. 电力系统自动化, 2016, 40(15): 67-72, 92. WU Qianhong, GAO Jun, HOU Guangsong, et al. Short-term load forecasting support vector machine algorithm based on multi-source heterogeneous fusion of load factors[J]. Automation of electric power systems, 2016, 40(15): 67-72, 92. DOI:10.7500/AEPS.2016.02.29.012 (0) |
[23] |
陶永才, 丁雷道, 石磊, 等. MapReduce在线抽样分区负载均衡研究[J]. 小型微型计算机系统, 2017, 38(2): 238-242. TAO Yongcai, DING Leidao, SHI Lei, et al. Research on MapReduce on-line load balancing based on sample partition[J]. Journal of Chinese computer systems, 2017, 38(2): 238-242. (0) |
[24] |
黄有福. 数据挖掘技术在招生数据平台的应用研究[J]. 电脑知识与技术, 2015, 11(31): 3-4. HUANG Youfu. Application of data mining technology in the enrollment data platform[J]. Computer knowledge and technology, 2015, 11(31): 3-4. (0) |