摘 要
高校在长期的教学管理过程中积累了海量的学生成绩信息,但是普遍的对于成绩的分析处理工作还停留在简单的查询、分析和统计阶段。本文利用关联规则Apriori算法,以学生成绩数据为研究对象,挖掘课程之间的相互关系,为科学的制定人才培养方案,提高高校人才培养质量进行了积极地探索与研究。
【关键词】成绩分析 关联规则 Apriori算法
1 数据挖掘
数据挖掘其实就是从大量、有噪声、随机性、不完全、模糊的应用数据中,提取并隐藏在应用数据中心、人们不知道但是有价值的信息和知识的过程,通过数据挖掘系统能够自动分析原有数据,并作出归纳总结,挖掘出数据原有的模式,为决策者提供参考价。数据挖掘包括数据仓库、预处理、分类聚类、关联分析等。关联分析是数据挖掘最贴近我们生活的一部分了,登录亚马逊网站,当我们挑选一本《Android4高级编程》时,网站会不失时机的列出你可能还会感兴趣的书籍,如Android游戏开发、Cocos2d-x引擎等,让我们的购物车变得更充实,而钱包又空了些。
数据挖掘是一门综合了统计学、信息技术、人工智能等多项技术。其中数据挖掘聚类和决策树则是机器学习理论知识。关联性规则挖掘技术对数据挖掘技术具有非常重大的意义,它进一步扩展了数据挖掘的研究,到如今已经成为了数据挖掘领域中的一个分支。关联性规则不仅体现数据之间的关联,更为重要的是关联系规则的表达简洁,便于理解,近年来已经成为数据挖掘技术研究领域的热点话题。
2 关联规则Apriori算法
Apriori算法是关联规则算法之一。Apriori算法的第一遍仅仅计算每个项目的具体指的数量,以确定大型1项集。随后的遍历,第k次遍历,包括两个阶段。首先,使用在第(k-1)次遍历中找到的大项集Lk-1和Apriori-gen函数产生候选项集。接着扫描数据库,计算中候选的支持度,从而得到中的支持度不小于最小支持度的k阶大项集。重复以上步骤,直到某一阶的大项集为空时,算法停止。
Apriori算法指导我们,如果要发现强关联规则,就必须先找到频繁集。所谓频繁集,即支持度大于最小支持度的项集。如何得到数据集合D中的所有频繁集呢?
用一种非常原始的办法来分析,就是对于数据集D,遍历每一条记录T,可以得到T的所有子集,然后计算每一个子集的支持度,最后再将结果与最小支持度比较。我们暂且不管数据集D中有多少条记录,就说每一条记录T的子集个数,{1,2,3}的子集有{1},{2},{3},{1,2},{2,3},{1,3},{1,2,3},即如果记录T中含有n项,那么它的子集个数是-1。计算量是非常大的,很明显这种方法是不可取的。
因此,Aprior算法提出了一个逐层搜索的方法,如何逐层搜索呢?包含两个步骤:
(1)自连接获取候选集。第一轮的候选集就是数据集D中的项,而其他轮次的候选集则是由前一轮次频繁集自连接得到(频繁集由候选集剪枝得到)。
(2)对于候选集进行剪枝。如何剪枝呢?候选集的每一条记录T,如果它的支持度小于最小支持度,那么就会被剪掉;此外,如果一条记录T,它的子集有不是频繁集的,也会被剪掉。
算法的终止条件是,如果自连接得到的已经不再是频繁集,那么取最后一次得到的频繁集作为结果。
3 教务管理系统中的学生成绩数据挖掘
学生的考试成绩不仅体现了学生阶段性的学习效果,而且是检验学校教学效果的重要依据。为了提高学校教学质量,所以必须对学生的考试成绩进行数据挖掘,挖掘出学生考试成绩背后的关键性因素,可以从学生的性别、专业、课程、入学成绩、老师对学生的考核评价等因素为切入点,分析这些因素对学生成绩产生的影响,并找出各个要素之间的潜在规律,从而分析出影响学生考试成绩的主要因素,并预测学生哪一部分成绩还需要进一步加强。采用关联系规则对学生成绩进行数据挖掘,通过数据仓库查看各个专业学生课程成绩单,并分析各个课程与其他课程之间的关联和影响,从而制定专业的人才培养计划。在制定计划的时候,依次从公共课、专业课到拓展课等方面设置相关课程。不同的专业开设课程的时间不同,开课时间次序对学生学习后续课程会产生一定的影响。但是过去很多高校在课程安排上比较随意,通常都是高校教务处的人根据过去的教学经验和主观认知,安排学生的课程时间。然而每一门课程都有它的特点,比如体育课学生可能需要大量的运动,消耗的体能比较多,运动过后学生无论精神上还是身体上都比较疲惫,这个时候上课的效果就不太好,所以在安排课程的时候,尽量将体育课安排到下午的时间段,这样不会学校其他课程的教学效果。通过关联性分析,找出每一门课程的影响因素,合理安排课程的先后顺序,为人才方案制定者提供科学的决策依据。
我们从教务管理系统中选取1000名软件技术专业学生的成绩,根据学生成绩进行数据挖掘,部分成绩数据如表1所示。
根据学生考试成绩表,分析学生不及格科目之间的关系,60分以下的设置最小支持度为0.04。设置关联规则的参数,将成绩范围设定为0至59,最小支持度为0.04。
使用Aprior算法对数据仓库中的相关数据进行关联规则分析,结果如表2所示。
通过对1000名软件技术专业的学生60分以下成绩进行数据挖掘,发现学生的电路分析和高等数学两门科目的置信度是0.51,C++程序设计这门课程的置信度是0.40。根据图表各个课程的置信度可以得出结论。如果学生在大一阶段的基础课程如高等数学学习成绩比较差,那么学生的电路分析和C++程序设计两门科目的学习成绩也会不太好,不及格的概率比较大。相对来说,如果高等数学和电路分析两门课程的置信度达到了0.35,那么对学生的电路分析和C++程序设计两门科目的学习成绩影响不大。那么可以得出这样的结论,电路分析课程开设在高等数学这门课程之后。通过以上分析,我们可以得出,将一些基础课程作为专业课程的前导课程,能够为学生后期学习打下坚实的基础;如果学生的基础知识学习不好,那么对专业课程的影响也很大,专业课程的学习和基础课程有直接关系。研究影响学生成绩优秀的课程之间的关系,80分以上设置最小支持度为0.04。设置关联规则的参数,设定分数范围80至100,最小支持度为0.04。
利用关联规则产生如表3所示的数据挖掘结果。
通过对软件技术专业考试成绩在80分以上学生进行数据挖掘,发现专业英语和大学英语两门课程的置信度是0.62,从中我们可以得出结论,如果学生的英语基础成绩比较好,那么学生的大学英语成绩也相对来说没有什么问题,学生的专业英语成绩分数也相对比较高。数据结构和C++程序设计两门课程是计算机专业的专业基础课堂,两门课程的置信度是0.64,从课程的置信度可以看出这两门课程对专业学习数据结果的影响,如果学生的数据结构这门课程学习成绩比较好,那么学生C++程序设计这门课程的学习成绩也比较好。从以上分析来网页设计和制作与photoshop图像处理两门课程的置信度是0.68,从中可以看出photoshop图像处理课程对网页设计和制作有很大影响。网页制作的时候,需要photoshop图形图像处理软件对图片进行处理和调整。所以photoshop图像处理课程可以设置在网页制作课程之前,以便学生在学习网页制作的时候,能够用photoshop软件对图片进行处理。
从上述内容我们可以看出,高校专业课程之间的关联性很强,从学生考试成绩就可以看出,因此在学校开设课程的时候,一定要考虑课程关联性影响,按照对学生影响大小制定开设课程的次序,并作为学校培养人才的重要依据。
此外在对学生成绩进行数据挖掘的时候,还要考虑到学生入学成绩和整体考试成绩,经学生的入学成绩录入系统,并对学生所有课程考试成绩综合分析,算出平均成绩,按照平均成绩划分优秀、良、差等不同等级,将入学成绩也分为优、良、差等不同等级,挖掘出入学成绩和考试成绩之间的关联。
成绩关联性数据挖掘结果如表4所示。
4 结论
从上述结果得出,如果学生的入学成绩差和考试成绩优的置信度是0.41,这就表明如果学生的基础比较差,那么在大学的考试成绩好的可能性不大。如果学生的入学成绩差和考试成绩优的置信度是0.65,那就表明基础成绩差的学生也可以考出良等的考试成绩,这样就能推翻过去传统理论上入学考试成绩好的学生,在大学的学习成绩也会很好,如果入学成绩不好的学生,在大学的成绩肯定不好的这种理论。通过关联性分析,可以看出学生入学成绩的好坏与学生大学成绩的好坏并没有必然的联系。大学自由的学习气氛给学生的学习创造了良好的环境,如果学生抓住这个机会,自主学习,那么就能获得好的成绩,如果还是秉承按照高中阶段的学习思维,那么可能学生不利于学生的学习。
参考文献
[1]王少华等.关联规则在高校系统中的应用[J].福建电脑,2007(12):153-156.
[2]王能斌等.大学课表调度系统UTSS[J].计算机学报,1984(05):383-389.
[3]何炎样.关联规则的几种开采算法及其比较[J].小型微型计算机系统,2001(09).
[4]赵俏.高职院校教务管理中的数据挖掘[J].科技信息,2008(11):80,95.
[5]杨克松.论关联规则在高校选课系统中的应用[J].福建电脑,2007(10):166-168.
[6]周培德.算法设计与分析[M].北京:机械工业出版社,1996.
作者简介
周兴旺(1979-),男,江苏省扬州市人。工学硕士学位。现为南通科技职业学院讲师。主要研究方向为计算机网络技术、数据挖掘、教育教学管理等。
作者单位
南通科技职业学院 江苏省南通市 226007