基于改进Apriori算法的高校学生成绩预警系统的研究
2018-09-10都娟翟社平
都娟 翟社平
摘 要:高校学生成绩预警系统是高校教务系统的重要构成部分,研究高校学生成绩预警问题在理论层面和实践层面均具有重要价值。一般而言,成绩预警涉及多种技术,而关联算法是最为核心的技术之一。作为关联算法中应用最为广泛的Apriori算法本身具备一定的缺陷性,本文将在阐述Apriori算法的基本特点及其缺陷的基础上,提出改进的Apriori算法,利用改进的Apriori算法对学生成绩进行挖掘分析,发现不同学科之间的关联关系,并给老师及管理决策者提供指导,帮助老师及时调整课程内容,对可能出现不及格的部分学生提出警告,督促他们学习,提高教学质量。
关键词:数据挖掘;关联规则;Apriori算法;学生成绩
中图分类号:TP311.13 文献标识码:A 文章编号:2096-4706(2018)02-0108-03
Research on Early Warning System of College Student Achievement Based on Improved Apriori Algorithm
DU Juan,ZHAI Sheping
(Xi'an University of Post and Telecommunications,School of Computer Science&Technology,Xi'an 710121,China)
Abstract:The early warning system of college students achievement is an important part of the college teaching system,it has a great value to study the problem of early warning of college students'achievement,both in theory and practice. In general,early warning of achievement involves a variety of technologies. The association algorithm is one of the most important contents. As the most widely used Apriori algorithm,the Apriori algorithm has certain defects. In this paper,on the basis of expounding the basic characteristics and defects of the Apriori algorithm,we will put forward an improved Apriori algorithm,and use the improved Acriori algorithm to mine students 'achievements,find out the relationship between different disciplines,and provide guidance to teachers and management decision makers,help teachers adjust the content of the curriculum in time,warn some students who may fail,urge them to study and improve the quality of teaching.
Keywords:data mining;association rules;apriori algorithm;student performance
0 引 言
危機预警通常无法科学地计算和评估,其一直被视为极具社会价值,极具教育理论与实践的研究价值的课题。数据挖掘技术的提出及其在危机管理和危机预警领域的运用,提供了强有力的支持,使得危机预警的分析过程更为顺畅、预测结果更加准确。关联规则的挖掘是数据挖掘的重要内容之一,其展现的是数据间的关联关系,且表达简洁,利于理解,它主要是从事务数据库或关系数据库中发现同时满足最小支持度和置信度的项目集或者属性之间的关联关系、相关关系。Apriori算法是一种使用逐层搜索迭代的布尔型关联规则挖掘频繁项集的算法。本文介绍了数据挖掘技术中较为经典的Apriori算法及其存在的主要缺陷,提出了改进的Apriori算法并利用改进的Apriori算法分析高校学生成绩之间的关联关系。
1 Apriori算法及其不足
Apriori算法一直被视为是应用最为广泛的关联规则挖掘算法。一般而言,我们在理解Apriori算法时,认为Apriori算法的主要思想是运用数理统计中的概率知识对数据布尔型关联规则进行一定程度的挖掘。在利用Apriori算法继续计算时,首先分层原始结构数据,而后利用同样的方法来对各层的数据进行处理。一般而言,在运用Apriori算法时,需要遵循两个步骤:第一步,挖掘过程,即从数据库中挖掘全部的频繁项集;第二步,则是以第一步挖掘到的频繁项集为基础,最终获得满足条件的关联规则。Apriori算法作为一种经典的布尔型关联规则算法,过程相对复杂,需要多次逐层在数据库中进行搜查,并借助频繁项集的先验知识对其中的频繁集进行多次迭代,直到不存在频繁集为止。
但是,这种算法依然存在一定的缺陷。其缺陷集中体现在几个方面:一是增加算法的计算复杂度。一般而言,Apriori算法主要受到四个方面因素的影响,即支持度阈值、事务数、项数以及事务平均宽度。在Apriori算法中,支持度阈值的降低,会在一定程度上导致频繁项集的增加,势必会增加计算的难度和复杂性。原因在于当频繁项集增多时,对其计数的候选项集会随之增多,频繁项集最大长度相应增加,造成算法需要进行的扫描的次数也随之增加。二是,事务数。当在利用Apriori算法对项集的支持度进行计算时,需要对数据集进行反复的扫描。这种情况下,事务数随之增加,对应的需要运行的时间也会增长。三是,候选剪枝方法增加计算量。此外,Apriori算法的不足还体现在增加计算量和I/O开销等方面。
2 改进的Apriori算法
网络环境下,先进的现代信息技术和网络技术的运用不断地推进着高校信息化建设的进程,为高校教务系统的管理和运行提供了良好的技术保障。与此同时,伴随着高校信息化建设进程的推进,高校教务系统中产生的数据也在快速地增加。在教务系统的实际运用中,用户只具备基本的操作权限,且系统中的各类数据的存在价值与关联关系无法得到有效的挖掘。在分析系统中数据的关联性、挖掘其价值时,传统的Apriori算法本身存在一定的缺陷。因此,有必要对Apriori算法予以改进。将学生所学课程进行分类,形成多个子数据库,各子数据库中包含其下属分类涵盖的课程的成绩。在挖掘各个子数据库的频繁项集时,主要采用的是垂直数据格式。在分别进行关联规则的挖掘的基础上,整合所获得的规则结果。改进的Apriori算法描述如下:
一是通过预处理对数据库进行压缩。学生成绩系统中包含着海量的学生成绩数据,通过对其成绩数据库进行预处理,将其压缩为成绩事务数据库。
二是将学生所修课程根据课程内容的差别进行分类,划分为三大子数据库。各子数据库分别包含了对应类别所有课程的课程成绩。
三是在第二步分类的基础上,有针对性地生成对应的三组频繁项目集。(1)首先,对数据库进行一次扫描,打乱后重新建立,将事务项目数据库调整后建立为项目事务数据库。对项目数据进行充分统计,做到不遗漏,对于某些未达到最小支持度的项集应当删除。(2)用Apriori算法中的连接功能,算得项目事务数据库中项的交集,再将新的数据重建为新的数据库,最后得出N-项频繁项集。
四是充分整合所有子数据库中的频繁项集,获取其对应的每个关联规则的置信度,根据最小置信度阈值得到全部的强关联规则,形成一个全局的候选频繁项目集,最后在系统中将这些数据进行更新。
3 改进的Apriori算法在学生成绩预警中的应用
3.1 基于关联规则挖掘的学生成绩预警模型
利用优化后的关联规则来对学生的各科成绩数据进行整合,寻找其关联关系,为教师和教学管者提供科学的参考意见。首先,如果某一科目的成绩大多数学生获得的分数较低,教师可以改善教学方法或者教学内容,达到提高学生成绩的目的;其次,如果一些学生的成绩不理想,教师应当参考成绩数据寻找原因,对学生进行指导和警示;最后,利用成绩数据来建立成绩预警模型,如图1所示。
3.2 数据清理与转换
原始数据中包含了不同的专业、年级、课程等大量成绩数据,这些数据在记录中难免会存在一些错误,如有些课程之间本来就没有关联度,所以要寻找方法将这部分冗余数据挖掘出来并将其删除。例如,统计和记录计算机专业学生的高等数学、C语言等9门课程的成绩,将其作为挖掘对象。对所有分数进行离散化处理,将成绩分别归类为不及格、及格、良好、优秀这4个等级。
3.3 规则分析
在Matlab2014a环境下,分别运用优化前的Apriori算法和优化后的Apriori算法对预处理的成绩数据进行挖掘,采用不同的支持度和置信度,挖掘出不同的关联规则。在本文中,挑选了部分挖掘出的关联规则,如表1所示,现将这些规则进行分析。
根据表中列出的关联规则可知,从规则1、5可以看到,当高数及格时,C语言、C++处在及格线附近或者不及格的位置。
从规则2、6、7中可以看到,数学类课程的成绩与语言类和专业课的成绩有一定关联性,这是由于数学类课程是基础课程,该课程可以提高学生的逻辑思维能力,语言类编程课程的学习通常是基于逻辑思维来学习的,所以当数学类的课程成绩较差时,后续的语言类课程也会学不好或者出现不及格的现象。
从规则3中可以看到,当C语言成绩及格时,很有可能出现数據库原理不及格的现象。所以,老师应对处在及格线边缘的同学,及时提出警示并对其进行指导帮助。
从规则7、8中可以看到,当数学类课程处于不及格边缘时,专业课成绩很有可能也会不及格。此时,教师可以采取一定措施调整学生对各科目的学习力度,提高学生弱势学科成绩。
从规则2、4中可以看出,当基础课程如高数、Java等成绩较好时,后续的专业课程成绩如Matlab很有可能是优秀。
从以上对关联规则的分析可知,学校应根据实际情况对学生因材施教,提高学生基础课程的成绩,并对不同课程设置不同的学习难度,做到合理教学,有针对性地加强学生薄弱课程的学习,提高教学的整体效果。
3.4 性能分析
本文提出的基于改进Apriori算法的学生成绩预警模型,由于其在寻找频繁项集时只需扫描一次数据库,每生成一次频繁项集,对应就减少一部分数据库,最终节省了内存空间,提高了算法效率。当最小支持度较高时,相应的候选集也会减少,这样就节约了扫描数据库的时间,所以传统算法与改进后的算法两者的时间开销差别也缩小;当最小支持度较低时,利用传统的算法在寻找时会生成很多冗余的候选项集,损耗了多余的时间,导致两种算法的时间开销差别变大。
4 结 论
本文中,研究的立足点在于高校学生所修各门课程之间存在前后顺序关系,课程之间存在着内在的联系,且其中一门课程掌握的具体程度可能会对其他课程的学习产生一定影响。本文提出运用关联原则中的一些技术来对成绩系统中的大量数据进行一定程度的挖掘,并从数据当中获得可用规则,立足Apriori算法的特点及不足,提出了改进的Apriori算法,对高校学生成绩预警系统中的数据进行处理、挖掘,最终获得管理原则,形成对课程学习的有效预警。针对不同情况的学生应给予不同的指导,对可能出现不及格情况的学生应当及时做出预警,深入研究造成学生某学科不及格的主要原因,并积极利用成绩预警系统中反馈的信息辅助教师对教学活动、教学内容以及教学计划进行安排,确保可以及时给予对应的学生以针对性的辅导,促进学生学习成绩的提升,实现高校培育优秀人才的最终目标。
参考文献:
[1] 王华,刘萍.改进的关联规则算法在学生成绩预警中的应用 [J].计算机工程与设计,2015,36(3):679-682+752.
[2] 白金,刘琳婧,周江辉.学生成绩的动态预警模型 [J].科教导刊(上旬刊),2015(2):150-152.
[3] 李昊,周振华.基于数据挖掘的高校学生成绩预警系统 [J].大庆石油学院学报,2011,35(4):91-95+2.
[4] 潘洁珠.基于数据挖掘的预警技术研究 [D].合肥:合肥工业大学,2007.
[5] 姜晚云.关联规则在学生成绩管理中的应用研究 [D].合肥:合肥工业大学,2006.
[6] 牛猛.利用Apriori算法对医学生成绩进行课程关联性分析 [J].河北工程大学学报(社会科学版),2015,32(2):115-117+124.
[7] 陈甲华.基于改进Apriori算法的大学成绩关联规则——某大学信管专业的实证研究 [J].电子技术与软件工程,2017(8):177-178.