关联规则在高校学生成绩分析中的应用

时间:2022-10-23 11:37:11

关联规则在高校学生成绩分析中的应用

摘要:文章通过对本校某年级计算机专业学生成绩进行分析,主要应用数据挖掘中的关联规则和Apriori算法,使用SQL2005为后台数据库,VC++6.0为开发平台,对现有的成绩进行挖掘分析,从而得到隐藏在这些成绩数据信息之间的有价值信息,这对提高学生的成绩以及教学工作的开展均具有一定的指导意义。

关键词:数据挖掘;关联规则;成绩分析

中图分类号:TP37 文献标识码:A 文章编号:1009-3044(2014)09-1866-03

课程的学习是有先后顺序关系和一定的关联性的,某一门课程的学习的效果或者先后顺序可能会对另外一门课程的学习产生影响,这些课程之间存在不易让人发现的关联关系,所谓学生就是以学为生,学生的学习成绩不仅是体现一个学生的学习效果,更重要的是体现了一个学校的办学质量,如何才能充分利用学校的一切资源,提高学校的办学效果以及学生的学习成绩,是各个学校的根本目标。数据挖掘技术的发展及在各个领域的应用,使得隐藏在大量数据信息中的有价值信息得以挖掘,这给人们各个方面都带来了极大的好处。该文对存储在学分系统中历届学生的学习成绩进行分析,以某个年级学生的成绩为例,

对学生成绩结果数据进行深入的分析,利用数据挖掘关联规则Apriori算法试图挖掘出课程之间的相关性,例如一个课程的学习,从一定程序上影响了另一门课程的学习,为了提高教学效果,提高学习成绩,为我们制定教学计划提供依据。挖掘算法可用于高校教学管理系统是非常多的,该文根据学生成绩模块数据,利用关联规则挖掘,使用SQL2005作为后台数据库,使用VC++6.0开发平台进行数据分析,挖掘出具有一定价值的规则,从而对以后的教学具有指导作用。数据挖掘是由多个步骤完成的。数据挖掘的基本过程如图1所示:

图1 数据挖掘的基本过程

文章根据数据挖掘的基本要求,使用SQL2005为后台数据库,VC++6.0为开发平台开发系统,系统需满足以下条件:(1)可视化界面,即系统简单并易于操作;(2)数据的处理过程简洁有效;(3)与其他工具的兼容性,即和其他开发工具易于集成。

1 关联规则与Apriori算法

数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的数据中提取隐含在其中的、人们事先不知道的,但潜在有用的信息和知识过程[1]。

设I={i1,i2,…im}是项的集合。设任务相关的数据D是数据库事务的集合,其中每个事务T是项的集合,使得[T?I]。每个事务有一个标识符,称作TID。设A是一个项集,事务T包含A当且仅当[A?T] 。关联规则是诸如A=>B的蕴涵式,其中 [A?I,B?I] ,并且[A?B≠?] 。规则的支持度和置信度是两个规则兴趣度量值,它们分别表示发现规则的有用性和确定性[2]。

Support(A=>B)=P(A∪B) Con?dence(A=>B)=P(B/A)

同时满足最小支持度阈值(min_sup)和最小置信度阈值(min_conf)的规则称作强规则,支持度和置信度的取值范围是0到1,使用0%到100%之间的数据表示。

2 建立模型

数据预处理

数据预处理主要包括以下三个步骤:数据清理、数据集成和数据变换[3]。

1) 数据清理:数据清理就是通过消除原始数据集中的错误、噪声、缺损、不一致等元组,提高数据质量。我们这里主要是由于缺考造成部分空值,数据清理空缺值方法是使用属性的平均值填充空缺值的方法。

2) 数据集成:在现有教务管理软件的基础上开发,该文的数据资源已经存储在SQL Server 2000服务器中,均已关系型数据结构存储。

3) 数据变换:以表1学生成绩表作为训练集为例,可见在表1中完全相同的“属性-值”很少,如果直接将其作为项进行挖掘,就不可能得到理想的结果。为了简化数据量,必须对原始数据中的量化属性进行转

化,转换成布尔型离散属性。选取布尔值为1的数据项形成事务表。

对成绩的离散化:成绩的筛选条件为大于等于85分,大于等于85分的转化成布尔型数值”1”,而成绩小于85分的转化成布尔型数值”0”[4]。课程编码:将表1 学生成绩表中的课程名分别以K1,K2,…编码,如“计算机网络”的编码为K1。从学生成绩数据库中提取相关属性,为整个数据挖掘模块提供了数据挖掘对象。由于Apriori算法适用于事务库的数据挖掘,所以需要将关系表转换为相应的事务库。该文将关系表中的除学号外的每个属性视为一个事务。每条记录中每个事物发生的标志为离散化后值为“1”。

例如,表2.1中的第一条记录,转化为事务:{K1,K6,K8,K10,K11}

3 功能实现

利用经典的Apriori[1]算法对数据进行关联性分析:

提供了两个可选项,一是专业的选择,该文只对相同专业的学生成绩进行课程的相关性分析;二是支持度的选择这里我们设了强、中、弱三个支持度供用户选择,强的值为0.5、中的值为0.3、弱的值为0.2,置信度我们统一设定为0.6[5]。

要对上述表中的成绩优秀课程进行关联规则挖掘,需要给出支持度和置信度我们的实验数据以最小支持度为0.2,置信度为0.6时得出。最后得知C6为频繁集 ,且L6为最大频繁集[6]。

由于我们是对学生的成绩进行相关性分析,按照课程的开课顺序得到规则文件如图2所示。

从以上的关联规则结果,可以得出如下的知识规则:1.先学习《C语言》再学习《数据结构》是可行的,它们之间的支持度为0.02,置信度(可靠性)高达0.76.9,这充分说明先学习《C语言》再学习《数据结构》是非常有必要的。而先学习《数据结构》再学习《C++程序设计》的支持度为0.5,置信度为0.88,这说明学习《数据结构》对学习《C++程序设计》是非常有帮助的。所以,从以上的规则我们可得出学生的课程学习顺序:《C语言》 《数据结构》《C++程序设计》。2. 先学习《C语言》再学习《微机原理》也是可靠的,它们之间的支持度为0.26,置信度(可靠性)也达到了0.61,这也可以得出先学习《C语言》再学习《微机原理》也是有好处的。而先学习《数据结构》再学习《C++程序设计》的支持度为0.4,置信度为0.7,这说明学习《微机原理》也是学习《C++程序设计》的基础前提。所以,从以上的规则我们可得出学生的课程学习顺序:《C语言》 《微机原理》《C++程序设计》。3. 先学习《网页》再学习《图形图像》是可取的,它们之间的支持度为0.23,置信度(可靠性)高达0.77,这也可以看出《图形图像》课程应该开设在《网页》之后,这样有利于学生学习成绩的提高。综上所述,可对同学们的选课提出如下建议:《C语言》 《数据结构》 《C++程序设计》《C语言》 《数据结构》 《微机维护》《网页》 《图形图像》 《C++程序设计》。通过对学生考试成绩进行关联挖掘操作结果的分析,得到了这些课程之间的关联,给教学管理人员在制度人才培养方案以及教学计划等的时候提供的参考,帮助分析课程开设的前后顺序是否合理以及时的做出相应调整。此外,这些知识规则还作为参照挖掘课程自身、课程与课程之间及课程的设置与课程成绩之间的有用信息,从而指导教师在教学改革、专业人才培养方案的制定、教学质量的提升等方面取得更大的成绩。

4 结论

实践证明将数据挖掘技术运用到高校学生成绩分析中,可以更加客观有效地对学生的学习情况加以评测,为学生选课、教师课程教学安排、教学方法等诸多方面提供参考,使得高校教师在人才培养方案的制定以及教学时,可通过关联规则挖掘发现哪些课程是需要先开设,哪些课程比较重要,哪些是学生的薄弱环节,以便及时调整人才培养方案、教学方法、教学计划,从而提高教学质量及学生成绩。

参考文献:

[1] Margarent H.Dunham.数据挖掘教程-世界著名计算机教材精选[M].北京:清华大学出版社,2005.

[2] 陈志泊.数据仓库与数据挖掘[M].北京:清华大学出版社,2009.

[3] 蒋文沛.SQL Server2005实用教程[M].北京:人民邮电出版社,2009.

[4] Tan,Steinbach,Kumar.Introduction to Data Mining,2004.

[5] Hartigan,J.A.(1975).Clustering Algorithms.Wiley.

[6] 邹竞.基于FP-growth算法的课程相关性的关联规则研究[J].计算机与数字工程,2009(6).

上一篇:浅谈51单片机IO引脚驱动能力 下一篇:3DS MAX相关课程教学方法探讨