关联分析在学生成绩数据挖掘的应用

2018-02-24 13:55狄晓娇
电脑知识与技术 2018年34期
关键词:关联分析数据挖掘算法

狄晓娇

摘要:许多的企业在实际生产和营销中会产生并积累大量的数据,怎么才能够有效地利用这些数据成为企业急需解决的问题。关联分析可以用于分析“哪些物品经常被同时购买?”这样一类的问题,书中将这种问题称为“购物篮实物”(market basket transaction)。并且列举了一些关联分析的例子,例如:通过查看哪些商品经常在一起购买,比如:买牛奶的顾客同时也有可能同时购买面包。通过分析这些数据,找出其中的关联,可以帮助商家了解用户的购买行为。这种从海量数据中抽取的有用信息,可以帮助商家用于商品定价、商场的物品的摆放、市场促销、存货等管理等环节。同时这种数据分析方式也可以应用在网络数据分析中,例如在社交媒体中发现一些共同出现的词。或者从新闻网站点击流中挖掘当前新闻流行的趋势,挖掘出哪些新闻被用户广泛浏览或者被搜索引擎广泛推荐等等。在我们教学领域可以通过关联规则的分析,找到考试通过与其他属性的联系。

关键词:数据挖掘;关联分析;算法

中图分类号:TP311        文献标识码:A        文章编号:1009-3044(2018)34-0246-02

2 Apriori算法

2.1 Apriori算法基本概念

Apriori算法是Agrawal 和R.Srikant于1994年提出的,为布尔关联规则挖掘频繁项集的原创性算法[AS94b]。

前面提到,关联分析的目标包括两项:发现频繁项集和发现关联规则。一般的顺序是先找到频繁项集,后找到关联规则。因为我们在计算关联规则的可信度时需要用到频繁项集的支持度。由于对于项集支持度的计算需要大量的计算,因为无论计算哪个项集的支持度都需要算法遍历每一条记录来检查并记录,这样的计算量是一个天文数字,尤其是对于大量数据的计算,明显是不现实的。所以为了提高对频繁项集产生的效率,一种称为先验性质(Apriori Property)的主要性质被发现并且应用于压缩搜索空间。

先验性质就是频繁项集的所有非空子集也一定是频繁的。但是,在实践中我们更常用的是它的逆否命题,即如果一个项集是非频繁的,那么它的所有超集也是非频繁的。

Apriori算法的两个输入参数分别是最小支持度和数据集。该算法首先生成所有单个元素的项集列表。然后扫描数据集, 以查看哪些项目集满足最低支持要求, 而那些不满足最低支持的项将被删除。然后, 将余下的集组合起来, 生成包含两个元素的项集。接下来, 重新扫描事务记录, 删除不满足最低支持的项。此过程将重复, 直到删除所有项目集。

具体算法流程是:

⑴ 扫描整个数据集,得到所有出现过的数据,作为候选频繁1项集。k=1,频繁0项集为空集。

⑵ 挖掘频繁k项集

a)扫描数据计算候选频繁k项集的支持度

b)去除候选频繁k项,集中支持度低于设定最小支持度阈值的数据集,得到频繁k项集。如果得到的频繁k项集为空,则直接返回频繁k-1项集的集合作为算法结果,算法结束。如果得到的频繁k项集只有一项,则直接返回频繁k项集的集合作为算法结果,算法结束。

c)基于频繁k项集,连接生成候选频繁k+1项集。

⑶ 令k=k+1,转入步骤2。

从算法的步骤可以看出,Aprior算法每轮迭代都要扫描数据集,因此在数据集很大,数据种类很多的时候,算法效率很低。

2.2 Apriori算法总结

Apriori算法是一个非常经典的频繁项集的挖掘算法,很多算法都是基于Apriori算法而产生的,包括FP-Tree,GSP, CBA等。这些算法利用了Apriori算法的思想,但是对算法做了改进,数据挖掘效率更好一些,因此现在一般很少直接用Apriori算法来挖掘数据了,但是理解Apriori算法是理解其他Apriori类算法的前提,同时算法本身也不复杂,因此研究后使用也十分广泛。[24]

3 Apriori算法在学生成绩分析中的应用

3.1 确定关联规则挖掘对象

运用Apriori算法分析《计算机应用基础》与其后续课程之间存在的联系,本文研究的对象依旧是我校2013至2015级学生的成绩。选取《计算机基础》及后续开设的《Dreamweaver》、《Flash》、《fireworks》等课程的成绩,并且将各科成绩合并为一个用于关联分析的成绩数据库。

3.2 数据的预处理

由于在上一章的数据预处理过程中已经进行了清理,降维等操作,所以本次省略相关步骤。所以本文研究课题原始样本数据为2397个,经过预处理可以进行数据挖掘的数据样本数为2253个。本次进行数据挖掘的数据样本有效率为94%。

3.3 数据的离散化

在进行关联分析数据挖掘时,为了将数据转换成适合关联规则分析的数据格式,所以需要对数据进行离散化。将《计算机应用基础》成绩,《fireworks》成绩划分为“Super”“Hi”, “Mid”, “Low”“No”几个等级,将分数高于90分的数值用“Super”来替换,将分数高于80分的数值用“Hi”来替换,将成绩在79分到70分的分数值用“Mid”替换,将成绩在69分到60分的分数值用“Low”替换,将成绩小于60分的分值用“No”替换。这样经过离散化的数据如图1所示:

3.4 使用SPSS Modeler的成绩关联分析

SPSS Modeler 数据挖掘平台对已经离散化的数据进行分析,使用Apriori算法将最小支持度阈值设为10%,最小置信度阈值设定50%,具体设置在图2。

经过运行软件得到规则如图3。

根据以上得到的规则我们可以看出,Apriori 算法生成的规则L1 有1个,L2规则由4个,L3规则有3个。在挖掘过程中得到的规则最小支持度为30.368%,最大支持度为96.014%,最小置信度为23.673%,最大置信度为34.133% 最高规则支持度为32.772% 。选择有用的规则可以得到如下结论:

基础成绩与以后的学习相关课程成绩的相关性很高,比如基础成绩好的同学,其他科目有可能得到较高的分数,而基础成绩一般的同学今后学习相关课程的成绩也一般。

基礎成绩好的同学有50%以上的可能在Fireworks也有高的成绩,并且置信度也有43.6%。

根据以上的结果,我们可以分析出基础课学习成绩好或中等的同学中,其他学期在计算机相关课程中也有很大的可能得到较好的成绩。因此可以看出《计算机应用基础》的好坏对与后续课程的学习起到了重要的作用。

因此在日常的学习过程中,要提高对《计算机应用基础》的学习的重视,教师在教学中也要对《计算机应用基础》的教学方法和教学手段更加重视,努力在课堂授课中提高学生对于该门课程的学习兴趣,从而激发起学生学习的热情,为今后的学习打好基础,从而进一步提高。

4 小结

信息化技术的高速发展,对于高校教师教学既是机遇又是一项挑战,因此如何更有效的利用现有资源,利用现代化科技,对现有的数据进行有效的挖掘,通过挖掘找到授课过程中影响学生的学习因素,以更好地让科技服务于教学,对于教师而言是一个十分必要而且是一个长期探索的过程。

【通联编辑:代影】

猜你喜欢
关联分析数据挖掘算法
基于MapReduce的改进Eclat算法
Travellng thg World Full—time for Rree
进位加法的两种算法
基于并行计算的大数据挖掘在电网中的应用
基于随机函数Petri网的系统动力学关联分析模型
一种改进的整周模糊度去相关算法
一种基于Hadoop的大数据挖掘云服务及应用
基于GPGPU的离散数据挖掘研究