关联规则挖掘在学生成绩分析中的应用研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关联规则挖掘在学生成绩分析中的应用研究
翁锦琳
【摘要】研究数据挖掘领域中的关联规则及其在学生成绩分析中的应用.设计并实现学生成绩关联规则分析系统,利用该系统对学生成绩进行分析,得出学生不同课程之间的联系及不同课程对总成绩的影响,从而为教学工作提供指导作用.%The topic of this paper is about the research in association rules in data mining and its application in the analysis of students' marks.In this paper we design and realize a students' score association rules analysis system,with which we analyze the students' marks and obtain the link between different courses and the effects of different courses on total score so as to provide guidance to the teaching.
【期刊名称】《宁德师范学院学报(自然科学版)》
【年(卷),期】2012(024)002
【总页数】5页(P201-205)
【关键词】数据挖掘;关联规则;支持度;置信度;Apriori算法
【作者】翁锦琳
【作者单位】福州大学数学与计算机学院,福建福州350108 古田县第一中学,福建古田355200
【正文语种】中文
【中图分类】TP311.13
目前,数据挖掘已经广泛地应用于商业、金融业、电信业等各个行业,但在教育上的应用还不是特别广泛.本文将数据挖掘中的关联规则应用到学生成绩分析中,从而对教学及管理工作起到指导作用.
学生成绩,作为评价学生学习成果的一项重要指标,能够客观、真实地反映学生的学习效果和教师的教学质量.但是目前对学生成绩的分析,主要还停留在基本统计分析上,比如平均分、标准差、名次、分段人数统计等,而且主要还停留在某一门课程成绩以及总分的评估上,而对各个学科成绩之间的关联、各个学科成绩与总分名次的关联以及同一门课程各模块内容之间的得分关联等却没有做详细的分析.而分析这些关联有助于发现许多隐藏在其中的规律,对学生以后的学习方法、教师的教学手段和学校的教学计划起到良好的指导作用.
数据挖掘方法主要包括关联规则发现、分类、聚类分析、泛化和预测、决策树、神经网络、粗糙集等.关联规则挖掘是数据挖掘中的一种重要方法,它主要用于发现存在于大量数据之间的关联性,从而描述一个事物某些属性同时出现的规律和模式[1].在1993年,Agrawal等人[2]首次提出了关联规则的概念.其一般定义如下:J={I1,I2,…,Im}是一项目集,D是一事务数据库,其中每个事务T哿J.每个事务都有一个标识符,称之为TID.若A是项目集,当且仅当A哿T时,就说事务T 包含A.一条关联规则就是形如A=>B的蕴涵式,其中AJ,BJ且A∩B=.如果D中包含A∪B的比例是s,就称关联规则A=>B在D中的支持度为s,也可以表示为概率P(A∪B);如果D中包含A的情况下同时包含B的比例是c,则说关联规则A=>B的置信度为c,表示为条件概率P(B|A).即Support(A=>B)=P (A∪B),Confidence(A=>B)=P(B|A).
支持度(support)和置信度(confidence)两个阈值是描述关联规则的两个重要概念.关联规则的支持度反映了该规则在数据库中的重要性和代表性,而它的置信度则表明了整个规则的正确度,即可信程度.在挖掘关联规则时,必须要指定一
个最小支持度(min-support)和最小置信度(min-confidence),如果某条规
则同时满足最小支持度和最小置信度,则称它为强关联规则.一般来说,只有强关
联规则才可能是有意义的关联规则,也就是笔者要挖掘的规则.
关联规则挖掘主要分为两步[1]:(1)找出所有的频繁项集;(2)产生强关联规则.
1.2.1 找出所有的频繁项集求出数据库中所有的频繁项集及相应的支持度计数.项
的集合称为项集,满足最小支持度的项集为频繁项集,支持度计数是指项集出现的频率,而支持度是指项集出现的概率,即支持度=支持度计数/总的事务数.
关联规则挖掘最有名的算法是Agrawal和Strikant提出的经典的Apriori算法[3].另一个重要的算法是Han提出的FP-growth算法[4].后面还有许多学者提出了不
同的改进算法.Apriori算法的基本思想是通过多次扫描数据库来产生频繁项集.FP-growth算法通过扫描两次数据库建立一棵称为FP-tree的频繁模式树,通过对
FP-tree的挖掘来获得频繁项集.Apriori算法需多次扫描数据库并产生大量的候选
项集,而FP-growth算法只需扫描两次数据库,但是当事务数据库较大时,将整
棵FP-tree放入内存比较困难.
下面简要介绍一下Apriori算法的基本思想:
(1)先寻找所有的频繁1-项集的集合L1
(2)由频繁(k-1)-项集的集合L(k-1)生成候选k-项集的集合C(k).它包括连接步和剪枝步.
① 连接步:对于任意两个 L(k-1)的不同项集l1和l2,若满足条件
(l1[1]=l2[1])∩(l1[2]=l2[2])∩…∩(l1[k-2]=l2[k-2])∩(l1[k-1]<2[k-1]),则进行连接操作,c=l1[1]l1[2]…l1[k-2]l1[k-1]l2[k-1].(假定l1、l2中的项已按字典序排好,条件l1[k-1]<2[k-1]仅仅是为了保证不产生重复)
② 剪枝步:随着k的增大由连接步产生的C(k)可能会越来越大,为了提高算法
的效率,可以压缩C(k),即剪枝.具体来说,可以对连接步产生的c作一个判断:如果c的某一(k-1)-子项集不在L(k-1)中,则它不可能是频繁项,不必加入
C(k)中,否则才将c加入C(k)中.这里的依据是Apriori性质:“频繁项集的所有非空子集必定是频繁的”.
(3)扫描事务数据库,计算出C(k)中的每个候选项集c的支持度计数c.count. (4)频繁k-项集的集合L(k)={c|c.count/事务数≥minsupport,c∈C (k)}.//C(k)中支持度大于等于最小支持度minisupport的项集加入L(k)中. (5)返回第(2)步,直到L(k-1)为空.
(6)L(K)(K=1,2,3,…)即为所求的频繁项集的集合.
Apriori有许多改进算法,如使用散列技术压缩要考察的候选k-项集Ck(k>1)、事务压缩(压缩未来迭代扫描的事务数)、抽样(对给定数据的子集挖掘)、动态项集计数(在扫描的不同点添加候选项集).
1.2.2 产生强关联规则由频繁项集产生关联规则,这些关联规则必满足最小支持度,如果同时满足最小置信度,则为强关联规则,也就是所要挖掘的关联规则.该步骤
比较简单,将一个频繁项集A划分成两个非空的子集B和A-B,所有满足最小置
信度的B=>(A-B))即是所要生成的规则.算法如下:
利用VisualC++开发工具编写一个简单的学生成绩关联规则分析系统,数据库采
用ACESS.图1为该系统的数据流图,反映了该系统的功能及数据流向.
以笔者所在中学高三理科学生今年省质检考试数据为样本作实验分析.该原始成绩
见表1(共502条数据,这里只列出部分,为了保护隐私,将学号、姓名、班级
等内容清除).
在做成绩关联规则分析前,要先进行一些必要的参数设置.本例中,设置参数如图
2所示.
1999年Pyle提出在数据挖掘过程中增加数据预处理过程,同时强调了数据预处
理重要性:数据预处理占数据挖掘时间的60%.
数据预处理包含了数据清理、数据集成、数据选择、数据变换等过程.(1)数据清理.主要是清除一些不用的信息,比如缺考的学生数据将影响数据挖掘结果的准确性,要将这些记录清理掉.(2)数据集成.主要是将不同的数据源组合在一起(本
例较简单,只有一个数据源).另外为了研究学生单科成绩对总分的贡献,必须加
一列“总分”,并计算这一列的值.(3)数据选择.从数据库中提取与分析任务相
关的数据.本例中与分析任务相关的数据为所有考生的所有课程成绩及总分成绩数据,而姓名、班级、学号、性别等字段信息与本次分析任务无关,无需选择.当然,如果你只想分析部分课程,就只要选择相应的课程就行了.(4)数据变换.数据变
换的主要任务,是将数据规格化,转换为特定的格式,以便于算法的实现.本例中
笔者将总分编号为0,语、数、英、理、化、生课程编号分别为1、2、3、4、5、6.还要将成绩离散化,按名次分为A、B、C三等(即好,中,差,因为每次考试
难度不一样,各科的难度也不一样,各科的满分也不一样,如果用分数线划分等级则不太准确,所以可以按名次来划分等级),如1A表示语文成绩为A,1B表示
数学成绩为B,0C表示总分为C.这样分析的项目将会有21个,即0A、0B、0C、1A、1B、1C、……、6A、6B、6C.预处理后的布尔型事务表如图3(只列出部分):
例如图中编号为2的学生总分成绩为A,语文成绩为A,数学成绩为A,英语成绩为B,物理成绩为A,化学成绩为A,生物成绩为A.
对于本例而言,由于是按名次来划分等级,则任一个科目A、B、C各约1/3,所
以本例中最大的支持度也不会超过33%,在设置最小支持度时不宜设置过大.
关联规则挖掘包含找出频繁项集、产生关联规则两步,前面已简要介绍了关联规则挖掘相关算法与步骤,这里不再累述.在产生频繁项集时,本系统使用Apriori的
一种改进算法,使用了散列技术来压缩要考察的候选项目集,从而提高了算法效率.
本次试验最小支持度设为20%,最小置信度设为60%.程序运行结果如图4.最终产生了39条强关联规则.
对产生的关联规则作分析,从而得出其中的一些规律.
(1)5A=>0A,2A=>0A,4A=>0A,3A=>0A、6A=>0A这几条规则的置信
度分别为 0.760、0.758、0.725、0.696、0.633,可见数、理、化三科成绩为 A
的同学总分也为A的概率在70%以上,英语也在70%左右,生物63%,在60%
最小置信度下语文没有形成强关联规则.可见数、理、化、英这四科对总分的贡献
最大,其实从教学实践中也看到了,因为这几个科目拉分相对都比较大,特别是数、理、化三科,因而造成了它们对总分排名的影响很大.
(2)0A=>5A、0A=>2A、0A=>4A、0A=>3A、0A=>6A 这几条规则的置信
度分别为 0.778、0.731、0.725、0.701、0.659,可见总分成绩好的学生大部分
是各科都非常好.
(3)而2C=>0C、3C=>0C、4C=>0C、5C=>0C、6C=>0C这几条规则的置
信度也都很高.这说明如果有某科目考得特别低(等级为C),则整体成绩为低
(等级为C)的概率很高,所以教学中要特别注意学生的弱势科目,一旦学生有弱势科目,则在平常的学习过程中就必须多花时间弥补.另外(2C,4C)=>0C,
(0C,2C)=>4C,(0C,4C)=>2C 的置信度分别为 0.910、0.828、0.783,可见数学、物理成绩低与总分低的关系是特别大的.这点与实际也是相符的,因为
数学与物理相对较难,而且每道题的分值也比较大,如果学不好,就容易造成较低的分数,从而影响总分名次.所以如果数学、物理成绩较低的同学一定要特别注意
弥补这两科的不足.
(4)前面三点所列的规则中,语文科目(编号为1)并没有形成强关联规则,可
见语文科目在本次考试中对总分的影响稍弱一些,这个也是与语文科目本身的特点有关.
(5)2A=>5A、2A=>4A这两条规则的置信度也都在0.65左右,可见学好数学
对物理、化学是很有帮助的.所以学校要特别重视数学课程的教学.
(6)另外,在学生成绩关联规则分析系统中,置信度稍低的规则不一定完全没有用.在本例中,如果将置信度适当降低(比如降低到0.4),如果有发现类似(2A,4A)=>3C的情况,就能够说明偏科现象较严重,教学上在这方面就要引起注重. 另外,在实际应用中,可以将学生平时的表现行为等特征与成绩作关联分析,或者分析同一个科目各个模块的关联,从而产生更多有用的规则.当然,本例只是笔者
所在学校其中一次考试的分析结果,也许某些规则不具有普遍意义,因此可以通过对多个学校的多次考试的分析来验证某些规则的正确性.
本例是关联规则挖掘在基础教育中的应用.而关联规则在高校学生成绩分析中的应
用价值也是非常大的,比如高校中同专业的不同课程往往有很大的相关性,那么通过分析关联规则,可以合理地安排这些课程的顺序,对学校制定教学计划提供依据.又如可以分析基础课与专业课之间的相关性,这样就能知道哪些基础课起的作用较大,因而在教学安排上应该对这些基础课程多安排学时.另外在分析时,要特别注
意最小支持度与最小置信度的选择,以免产生无用的信息或错失有用的信息.
【相关文献】
[1](加)韩家炜,堪博.数据挖掘:概念与技术 [M].范明,孟小峰,译.北京:机械工业出版社,2007.
[2]R.Agrawal,T.Imielinski,A.N.Swami.Mining Association Rules between Sets of Items in Large Databases [J].In Proc.Of the ACM SIGMOD Intl.Conf.on Management of Data (SIGMOD'93),1993:207-216
[3]R.Agrawal,R.Strikant.Fast Algorithms for Mining Association Rules[J].In Proc.Of the
20th Intl.Conf.on Very Large Data Bases(VLDB'94),1994:487-499
[4]J.Han,J.Pei,Y.Yin.Mining Frequent Patterns without Candidate Generation[J].In
Proc.of the ACM SIGMOD Int.Conf.on Management of Data(SIGMOD'00),2000:1-12. [5]文拯.关联规则算法的研究 [D].武汉:中南大学,2009.
[6]Pyle D.Data Preparation for Data Mining[M].San Francisco,CA:Morgan Kaufmann Publishers Inc,1999:540.。