Apriori算法在学生成绩分析中的应用
2019-01-15王咏梅
王咏梅
(苏州高博软件技术职业学院,苏州 215163)
1 引言
随着信息技术飞速发展,大数据和云计算风靡全球,数据挖掘技术也得到更多的关注和重视。数据挖掘,指从大量数据中通过算法发现隐藏在其中的有用的信息的过程。其中主要应用有相似性挖掘、关联规则、预测和周期分析等,而关联规则的挖掘是电子商务市场营销中最经常应用的方面,而Aprior算法是关联规则挖掘中最经典的算法。
目前,Apriori算法已经应用被广泛应用于商业销售、医药行业、金融行业、网络安全等各个领域。但是在教育行业的应用并不多见,但随着校园信息化技术的发展,学校多学生管理中也多使用现代化的信息管理系统,从而产生大量的数据,如果能够将数据挖掘技术应用于学生成绩分布汇总去找出课程之间的关系,那么对于教师的教学管理和学生对的学习成绩都会有带来很好的影响。
2 关联规则
关联规则就是研究“什么与什么相伴”的问题,例如在商业销售决策中考虑顾客购买尿布时会同时对其它哪些商品感兴趣的问题,发现这些商品之间的关联性,就可以在商品摆放位置、促销活动等进行有针对性的安排,从而大幅度增加销售额。因此,关联规则就是形如x->y的韵式,期中x为关联规则的前件,y为后件,关联规则中考虑支持度和置信度的问题。
支持度(s)即包含前件和后件所有项的事务个数在总事务数中的占比,而置信度(c)是包含前件和后件所有项的事务个数在包含前件所有项的事务总数中的占比。
公式如下:
式中,D为总事务数;σ为出现频度。
3 Apriori算法
Apriori算法是一种最具有影响的挖掘布尔关联规则的频繁项集的算法,该算法基本思想是:首先从只包含一个项的频繁项集(1-项集)开始,递归地产生具有两个项的频繁项集,然后依次递归,直到产生所有的频繁项集。
产生1-项集的方法只需对数据库中每项进行计数,找到支持度超过阈值的项即可。
假定一个班级学生成绩数据库如表1所示,表格中为班级中不及格较多的8名学生五门课的成绩,学生分别以Ti表示,课程分别以Xi表示。
表1 数据库D1
设定阈值min_s=2,Apriori算法执行过程如下:
(1)第一步,扫描数据库D1,找出候选集1-项集,去除不满足最小支持度的项,得到1-项集L1如表2所示。
表2 1-项集
表3 1-项集
(2)第二步,连接L1与L1,得到候选2-项集,去除不满足最小支持度的项,得到2-项集L2如表3所示。
(3)第三步,连接L1与L2,得到候选3-项集,去除不满足最小支持度的项,得到3-项集L3如表4所示。
表4 3-项集
(4)第四步,连接L1与L3,得到候选4-项集{X1,X2,X3,X4},该项集支持度为0,故4-项集为空,算法结束。
考虑频繁3-项集{X1,X2,X3},有如下关联规则:
R1 :{X1}->{X2,X3},置信度 c1=2/6或33.3% ;
R2 :{X2}->{X1,X3},置信度 c2=2/5或40% ;
R3 :{X3}->{X1,X2},置信度 c3=2/4或50% ;
R4 :{X1,X2}->{X3},置信度 c4=2/4或50% ;
R5:{X1,X3}->{X2}, 置 信 度 c5=2/3或66.7%;R6:{X2,X3}->{X1},置信度c6=2/2或100%;
4 Apriori算法在学生成绩数据中的应用
以实际2016级移动互联网专业某班2018-2019学年第一学期期末考试成绩为例,使用Apriori算法进行分析。本班本次考试共“Android基础应用开发”、“数据库技术与应用”、“JQuery应用实例”、“计算机专业英语”、“智能手机软件测试”五门课程,有补考科目的学生共24人次,经Ariori算法分析,找到频繁项集L3={“Android基础应用开发”,“数据库技术与应用”,“计算机专业英语”},从而产生关联规则(其中X1:“Android基础应用开发”,X2:“数据库技术与应用”.X3:“计算机专业英语”):
R1 :{X1}->{X2,X3},置信度 c1=2/10或20% ;
R2 :{X2}->{X1,X3},置信度 c2=2/5或40% ;
R3 :{X3}->{X1,X2},置信度 c3=2/5或40% ;
R4 :{X1,X2}->{X3},置信度 c4=2/4或50% ;
R5 :{X1,X3}->{X2},置信度 c5=2/2或100% ;
R6 :{X2,X3}->{X1},置信度 c6=2/2或100% ;
5 结束语
根据以上例子分析可知,Android基础应用开发、数据库技术与应用、计算机专业英语三门课程关系密切,都是该专业学生专业性较强的课程,若Android基础应用开发和计算机专业英语两门课程不理想,那么数据库技术与应用课程也肯定较差,而若数据库技术与应用和计算机专业英语较差,那么该专业最核心的Android基础应用开发课程也必然学不好,该结果也符合本专业课程自身的特点,有很大的参考价值。因此,Apriori算法可以应用于学生成绩数据分析中,找出课程之间的关系,从而根据课程之间的关联规则调整课程性质及课时分配、先后顺序等,从而达到更好的教学效果。