基于随机森林算法的大学生异动情况的预测
第26卷第1期2012年2月
江苏科技大学学报(自然科学版)
JournalofJiangsuUniversityofScienceandTechnology(NaturalScienceEdition)
Vol.26No.1Feb.2012
基于随机森林算法的大学生异动情况的预测
马
1,3
昕,王
1
雪,杨
洋
2
(1.南京审计学院金审学院,江苏南京210029)(2.南京审计学院数学与统计学院,江苏南京210029)(3.东南大学生物医学工程学院,江苏南京210096)
摘
要:为了预测学生在大学一年级以后的异动情况,利用机器学习中的随机森林算法建立相应的预测模型.该模型选取
利用随机森林算法模型对该生异动情况建立了预测了学生大学一年级的总学分和13门大学一年级的课程成绩作为特征,
考虑到异动学生数量与非异动学生数量相差很大的问题,提出了解决这种不平衡数据集问题的方法.模型.在建立模型时,
结果显示,此模型达到了较好的预测效果,总体预测准确率85.4%;Matthew相关系数0.6183.关键词:随机森林;决策树;嵌套式交叉验证;异动中图分类号:TP181
文献标志码:A
文章编号:1673-4807(2012)01-0086-05
Predictionofdegradationforundergraduateusingrandomforest
3
MaXin1,,WangXue1,YangYang2
(1.GoldenAuditCollege,NanjingAuditUniversity,NanjingJiangsu210029,China)(2.SchoolofMathematicsandStatistics,NanjingAuditUniversity,NanjingJiangsu210029,China)(3.SchoolofBiologicalScienceandMedicalEngineering,SoutheastUniversity,NanjingJiangsu210096,China)
Abstract:Topredictthedegradationforundergraduate,weconstructapredictionmodelusingrandomforestal-gorithmwithahybridfeature.Thenovelhybridfeature,whichincorporatestotalcreditofthefreshmanyearandthedetail,isusedtoestablishthepredictionmodel.Thenumbersofdegradationandnon-degradationundergrad-uatesincollegearehighlyunbalanced,soanovelschemeisproposedtodealwiththeproblemofimbalanceddatasetsbydownsizingthemajorityclass.TheRFmodelreachesexcellentpredictionperformancewhichachieves85.4%overallaccuracywithMatthew'scorrelationcoefficientof0.6183.Keywords:randomforest;decisiontree;nestedcrossvalidation;degradation在高校的学籍管理中,如何减少异动学生的数
量、提高学生毕业率是一项非常重要内容.在平时的教学管理中,发现大学一年级基础课程成绩不理想的学生在以后的学习中很容易发生异动.根据大学一年级学生的考试成绩,预测出学生是否会发生异动,由此为学生的教学工作设立预警机制,从而有效地降低异动率.以往有关学生成绩的文献多数只是对学生各门科目成绩之间的相关性进行研究,并没有将学生成绩与异动情况相联系的研究,更没有做过对学生异动与否的预测.
文中将大学一年级开始异动的学生和非异动
的学生分别作为正样本和负样本,应用机器学习的分类算法来建立预测模型.机器学习的分类算法很
[2][3]
,决策树,人工神经网络等[4]
5]均被广泛应用.随机森林是由文献[提出一种
多,支持向量机
[1]
集成学习算法,具有很好的分类性能和较高的分类
准确性,其模型的运算效率比较高,适合各种数据集的运算.随机森林算法对特征选取具有较好的鲁棒性,不需要特征筛选也能得到较高的准确率,适用于超高维特征向量空间,具有较好的数据推广和范化能力.所以文中选用随机森林作为预测学生异动情况的分类器.
收稿日期:2011-03-12
基金项目:国家自然科学基金资助项目(11001052);江苏省自然科学基金资助项目(BK2010480);南京审计学院青年基金资助项目
(NSK2009/01)
mail:maxin@nau.edu.cn作者简介:马昕(1982—),女,江苏镇江人,讲师,研究方向为机器学习.E-
第1期马昕,等:基于随机森林算法的大学生异动情况的预测87
1随机森林算法
随机森林算法的基本单元是决策树,且由一随
按照以上步骤,随机森林算法与决策树不同,
它在每棵树的构建过程中引入了2次随机源:第一个随机源是新的训练集从原有训练集中随机生成,之后每棵树在这个随机生成的训练集上生长,而且没有剪枝;第2个随机源是在结点分裂时随机输入的变量.正是这2个随机源使得随机森林算法误差率更稳定,克服了单棵决策树的不足,体现了随机森林算法树的集成的优势.决策树分类算法为了确定最有效的结点分裂属性会扫描所有输入特征.在
mtry个不同的输入特征是随机选随机森林算法中,
取的,算法仅在该范围内选择最有效的结点分裂属
性.参数mtry是唯一对随机森林分类效果影响较为敏感的参数,它的值可以由用户自行设置,也可选all,用默认值其中mall是输入特征的总维数.随机森林算法融合了2大机器学习技术:Bagging和随机特征选取,比以往算法有更多的优势.
机向量决定决策树的构造.如果将决策树看成分类
那随机森林就是许多专家在一任务中的一个专家,
起对某种任务进行分类.
定义1随机森林是由多个决策树{h(x,θk)}组成的分类器,其中{θk}是相互独立且同分布的随机向量.最终输入向量X的最终类标签是由所有决策树综合决定的.
为了构造k棵树,得先产生k个随机向量,这…,些随机向量θ1,θ2,θk是相互独立并且是同分布.随机向量可构造决策分类树{h(X,θi)},简化h2(X),…,为hi(X).给定k个分类器(h1(X),hn(X))和随机向量X,Y,定义边缘函数
mg(X,Y)=avkI(hk(X)=Y)-maxavkI(hk(X)=j)
j≠Y
(1)
I()是示性函数.该边缘函数刻画了对向其中,
量X正确分类Y平均得票数超过其它任何一类平均得票数的程度.可以看出,边际越大分类的置信度就越高.分类器的泛化误差为
PE*=PX,Y)<0)Y(mg(X,
(2)
Y代表的该概率是在X,Y空间下的.其中下标X,
hk(X)=h(x,将上面的结论推广到随机森林,
θk).如果森林中的树的数目较大,可以用大数定律
和树的结构得到如下定理.
定理1
*
2
2.1
预测模型的建立
数据来源
建立预测模型的数据是由南京审计学院金审
07,08级学生大学一年级的所有科目学院所有06,
的平时成绩、期中成绩和期末成绩以及每位学生一
年级的总学分构成.金审学院06级共有1793名学生,其中有59名学生曾经异动,而07级共有1881名学生,07级共其中有62名学生曾经异动,有2174名学生,其中有67名学生曾经异动.因此数据集中共包含5848名学生大学一年级的学习其中构建模型重点注意的异动成绩以及总学分数,
学生有188名.2.2
特征提取
特征的提取对于机器学习的分类十分重要,提取出有明显区分意义的特征,能够有效提高学习的性能.在选择或设计特征的过程中,希望发现那些容易提取,对噪音不敏感,以及对区分不同类别的模式很有效的特征集.
对于金审学院的学生,大学一年级的科目有微积分上、微积分下、大学英语一、大学英语二、大学计算机基础、数据库技术与应用、会计学基础、微观经济学、管理学、政治经济学、大学语文、思想道德修养与法律基础、形势与政策,共13门课程.将每门课程的平均成绩、期中成绩、期末成绩以及该生大学一年级取得的总学分数作为特征,则每个学生对应的特征向量有40维.
在利用随机森林算法进行学习的时候,需要将
188研究对象分为正负样本2类.在这个模型中,
随着树的数目增加,对所有随机向量
PE趋向于θi,
PX,θ)=Y)-maxPθ(h(X,θ)=j)<0)Y(Pθ(h(X,
j≠Y
定理1表明随机森林不会过度拟合.这是随机
森林的一个重要特点,并且随着树的增加,泛化误差PE将趋向一上界,这表明随机森林对未知的实例有很好的扩展.
森林中决策树的构建是随机森林算法的核心,决策树的生长过程如下
1)Bagging:从训练集的N个样本数中,有放回地随机抽取N个样本,作为决策树生长的训练集.
2)分裂属性选择:假设特征有mall维,从mall
维特征中选择子集mtry指定给每个结点,选择mtry中分类效果最好的一维特征作为结点分裂属性.在随机森林生长时mtry的值是一个常量.
3)决策树生长:每个决策树都得到最大限度的生长,没有剪枝.
*
88江苏科技大学学报(自然科学版)
MCC=
第26卷
名异动的学生设为正样本,而剩余的5660名非异动的学生则设为负样本.2.3
正负样本数量不平衡的处理方法
文中正样本与负样本比例达到1∶33,存在明
TP×TN-FP×FN
ROC曲线是反映敏感性和特异性连续变量的综合指标,是用构图法揭示敏感性和特异性的相互[7]
关系.ROC曲线中,真阳性率(敏感性)为纵坐标,假阳性率(1-特异性)为横坐标,坐标图由无数个临界值求出的无数对真阳性率和假阳性率构成
当诊断预测实验完全无价的点作图构成.理论上,
值时,有真阳性率等于假阳性率,曲线是一条从原
点到右上角的对角线,该线被称作机会线;ROC曲线一般位于机会线上方,离机会线越远,说明预测准确度越高;最好的预测实验在图中表现为ROC曲线从原点垂直上升至左上角,然后水平到达右上角.ROC曲线下的面积(AreaUnderCurve,AUC)
[8]
可反映诊断实验的准确性大小.这一指标取值
等于0.5表示完全无价值的范围在0.5~1之间,
显的不均衡问题.解决这类问题的主要原则是发现
那些数量少但很重要的样本.一般解决方法可以分为2类:①是通过对样本进行预处理,使不同类样本数量变得均衡(或增加小类样本的数量或减少大类样本的数量);②对算法进行修改使其适于处
6]理样本数量不均衡问题.文献[提出了一种通过减少大类样本数量的方法,把大类中所有的样本分
边界样本、冗余样本和安全样成4类:噪声样本、
主要的目的是创建一个只保留其中安全样本的本,
子数据集.文中提出了一种类似的算法来处理数据集中正负样本数量不均衡的问题.
设计算法是通过减少大类样本数量达到选取安全样本的目的,步骤总结如下:1)设Ω为初始训练数据集,φ为由Ω中所有负样本组成的数据集;
2)ψ包含Ω中所有的正样本和从φ中随机挑选的1%负样本;
3)利用随机森林算法和ψ训练得到的模型来预测φ中的所有样本,得到其F+值,在这里F+表示每个样本得到的正投票数;
4)为选取安全样本,重复步骤2)和3)10次;5)在10次重复中,φ中的样本如果50%的F+值位于1/3和2/3之间则被认为是安全样本(因为ψ中正负样本数量的比为91∶36);6)得到处理后的数据集ζ,它包含了所有的正样本和φ中的安全负样本.数据集ζ包含有91个正样本和537个负样本.2.4
预测模型的评价指标
对于分类预测问题所预测的样本有4种情况:FP),假阳性(FalsePositive,真阳性(TruePositive,
TP),FN),假阴性(FalseNegative,真阴性(TrueNegative,TN).其总体预测准确率(Accuracy,ACC),SP),特异性(Specificity,敏感性(Sensitivity,SE)和Mattew相关系数(Mattew'sCorrelationCoef-ficient,MCC)的定义如下TP+TNACC=
TP+FP+TN+FNTP
SE=
TP+FNSP=
TNTP+FP
预测;1表示完全理想的预测;一般认为取值为0.5~0.7表示预测准确率较低;0.7~0.9表示准确性中等;0.9以上表示准确性较高.2.5
随机森林模型的构建和参数的选取为了判断新样本类别,先用特征向量表示该样
本,再把这个特征向量放到每个子树中去判断.每
而最后该样本的类别个子树都会给一个判断结果,
取决于这些判断中投票最多的那个类别.
文中利用R语言中的randomForest包(4.5-18版)
[9]
来构建随机森林分类模型.
为了保证随机森林模型中的参数选取完全独立于测试数据,文中采用了一种新的名叫嵌套式交叉验证方法
[10]
.嵌套式交叉验证是存在着一个外
层交叉验证循环用来验证模型和一个内层交叉验证循环用来选择参数并训练模型.将原始数据在外层循环中被随机分成5部分,其中4份作为训练数据集,而另外的1份作为测试数据集,测试数据集用来检验分类器的预测错误率.循环5次,直至所有5份数据全部被选择一遍为止,最后得到样本的总体错误率.作为训练数据集的4部分用于内层循
Of-Bag环(在内层循环中随机森林使用默认的Out-(OOB)交叉验证方法相当于3倍交叉验证).
在模型训练的过程中,随机森林使用的OOB交叉验证算法,每进行bootstrap随机采样得到的样本生成一棵子树.由于bootstrap随机采样是一种有放回的采样,采样时总会有一些样本会遗留下来没有被选中,当然也有一些样本被反复采样.这Of-Bag)样些没有被选中的样本称作为OOB(Out-本.平均每颗树用大约2/3的训练集来训练模型,
第1期马昕,等:基于随机森林算法的大学生异动情况的预测89
留下1/3作为OOB数据集.由于这些OOB数据集
没有用作模型的建立,就可以用它们来评价模型的训练数据集和测试数据性能.所以在整个过程中,集是完全独立开的,随机森林会按照测试数据集得到的评价指标来选择最优模型.
每次减少1类,再重新利用随机森林算法特征,
建立的预测模型.通过这14个新模型的评价指
与所有特征标(文中主要考察总体预测准确率),
结合构建的原模型的预测准确率的差值,得到各门学科的学习情况和大学一年级的总学分对分
从而判断哪些因素是影响学类模型的贡献程度,
生成绩的关键.
表1是13门学科的学习成绩与大学一年级总学分这14个影响因素,去除其一后,与所有影响因素构建的模型得到的预测准确率的差值,是将各门课程的成绩和大学一年级总学分这些影响因素与分类结果建立了量化联系.由表1可以看出,如将大学一年级总学分这个特征去除后,模型预测准确率会下降最多,达到19.2%,从而看出大学一年级总学分是决定是否异动的最重要的因素.由表1说明对异动的影响最大的学科这是计算机的基础课程,是数据库技术与应用,
并且是6个学分,在大学一年级所有的课程中学分达到最大,因此对是否异动的影响也应该较大.按照影响程度大小排列在第3~8位的如下:微积分上、微积分下、大学英语一、计算机基础、大学英语二、会计学基础,都是4~5个学分的课程.微积分课程是数学主干课程,对经济类学校的学生今后所学的微观经济学等专业基础课程有着重要的铺垫作用,所以在这类课程中影响作用达到最大.大学英语一、大学计算机基础和大
均是大学阶学英语二与数据库技术与应用相同,
段的公共基础课程,这些课程是否能够通过,对今后能否顺利就读高一年级也有着很重要的作
除了政治经济学以外,一般用.而排在后几位的,
都是3学分以及3学分以下的课程.对于政治经
济学这门课程,虽然是4学分课程,而通过这门课程主要方法就是背诵好课本里的知识点,因此这门课程的通过率非常高,对是否异动并未起到关键的作用.
通过对课程成绩对异动与否的影响程度的研
3
3.1
结果与讨论
模型的预测效果
利用嵌套式交叉验证的方法得到的随机森林
模型预测性能如下:总体预测准确率达到85.4%,Matthew相特异性达到86.7%,敏感性达81.2%,
关系数为0.6183.ROC曲线结果也表明了所建的随机森林模型具有优越的预测能力.如图1所示ROC曲线下方面积(AUC值)达到0.9011.通过对此预测的评价指标,可以看出文中所建的模型能够很好的通过学生大学一年级的成绩和总学分的特征,预测出该生是否会在以后的学期发生异动.文中利用支持向量机算法重新构建了一个预测模型.该模型使用的特征和验证方式与构建随机森林模型时使用的特征、验证方式完全一致.由图1可以看出,随机森林算法构建的模型的预测效果与支持向量机构建的模型的预测效果相比,要更好一些.由此说明利用随机森林算法构建大学生异动模型是有效、合理的.当然,支持向量机算法构建的模型也达到了较好的预测效果(AUC值达到0.8862),这个结果也充分证明,构建模型时使用的特征确实能够有效的区分学生的异动情况
.
图1基于随机森林和支持向量机法的最优模型ROC曲线Fig.1ROCgraphsusingrandomforestandsupport
vectormachinerespectively
究,可以了解到大学一年级的公共基础课程对异动与否的影响是最大的,所以将公共基础课程学好,能够大大的降低学生异动的可能性,最终达到提高
不仅可以引领正确的指毕业率的效果.通过研究,
导大学刚入学的新生的学习方向,而且可以对大学
一年级学生的学习设立预警机制,如有学生出现公共基础课程多门没有通过的情况,就应该及时引起警惕,对该生做好管理和教育工作,从而更好的减低学生异动的概率.
3.2各门学科成绩对是否异动的影响效果
根据大学一年级总学分和大学一年级各门学
科的平时成绩、期中成绩和期末成绩作为特征,利用随机森林的方法,建立是否异动的分类模型.为了评价这14个特征对异动与否的重要性,新建立14个新预测模型,是将原来使用的14类
90江苏科技大学学报(自然科学版)
表114个特征对准确率的影响程度Table1Importanceof14feature
1984,1:31-57.
第26卷
4结论
[4]刘从军,郭昌言,陈刚.基于决策SVM的入侵检测技术
J].江苏科技大学学报:自然科学版,2009,23研究[(5):434-437.
LiuCongjun,GuoChangyan,ChenGang.Researchonin-trusiondetectiontechnologybasedonSVM-decisiontree[J].JournalofJiangsuUniversityofScienceandTech-nology:NaturalScienceEdition,2009,23(5):434-437.(inChinese)
[5]BerimanL.Randomforests[J].MachineLearning,
2001,45(1):5-32.
[6]KubatM,MatwinS.Addressingthecurseofimbalanced
sidedselection[M].SanFrancisco,trainingsets:one-CA:MorganKaufmannPublishers,1997:179-186.[7]EganJP.SignaldetectiontheoryandROC-analysis
[M].NewYork:AcademicPress,1975:110-227[8]BradleyAP.TheuseoftheareaundertheROCcurvein
theevaluationofmachinelearningalgorithms[J].Pat-ternRecogn,1997,30:1145-1159.
[9]LiawAWM.ClassificationandregressionbyrandomFor-est[J].RNews,2002,2(3):18-22.
[10]SchefferT.Errorestimationandmodelselection[D].
Berlin:TechnischenUniversity,1999:328-402.
文中建立了与学生成绩有关的因素与异动与
否的预测模型,利用随机森林的分类算法,将学生大学一年级的总学分和13门大学一年级的课程成
预测该生是否可能产生异动可能性.绩作为特征,
经过独立数据集的验证表明,这个预测模型能够明确有效的得到哪些学生在以后的学习中会产生异
动.此外,还利用支持向量机算法构建了预测模型,预测结果表明,随机森林分类算法得到的预测模型要优于支持向量机算法得到的模型,同时反映出选取的分类特征的合理性和有效性.从而可以对模型预测出的异动学生,提前做好管理教育和正确引导的工作,帮助他们能够顺利地完成学业.
参考文献(References)
[1]ChristopherJ,BurgesC.Atutorialonsupportvectorma-chinesforpatternrecognition[J].DataMiningandKnowledgeDiscovery,1998,2:121-167.
[2]YangT.Computationalverbdecisiontrees[J].Interna-tionalJournalofComputationalCognition,2006,4(4):34-46.
[3]AsmussenS.Approximationsfortheprobabilityofruin
withinfinitetime[J].ScandinavianActuarialJournal,
(责任编辑:曹莉)