基于云计算环境的考试数据挖掘算法研究

时间:2022-05-11 06:34:45

基于云计算环境的考试数据挖掘算法研究

【 摘 要 】 本文分析了当前网络考试系统数据挖掘现状,介绍了云计算和数据挖掘的相关概念,指出传统数据挖掘技术在当今考试系统海量数据情况下挖掘时系统响应速度慢,负载不均衡和节点效率低的不足,设计了基于Map/Reduce并行编程模型的Apriori算法,利用云计算环境下计算资源来支持该算法的并行执行,通过实例说明云计算化后的Apriori算法在对海量考试数据进行挖掘时能获得更高的挖掘效率。

【 关键词 】 云计算;关联规则;Apriori Map/Reduce

1 引言

随着我国开放大学建立及网络学院的发展,高中起点升本科,专科起点升本科,高中起点升大专三个层次的多个不同专业吸引了更多的人选择参加远程教育完成学习,网络学习云平台上及网络考试系统中也就保存了大量数据,在这些数据中隐藏很多对远程教学有价值的信息,有助于教学管理人员及时分析学生学习情况,更好地整合网络学习平台上的教育资源。如果仅使用传统数据挖掘方法,就会由于数据量巨大而导致系统处理速度缓慢,频繁的输入输出会影响系统响应时间,节点效率不同也会出现挖掘效率不高的情况。为此在对网上考试系统所存储的海量数据信息进行挖掘时,引入能够在云计算环境下运行的数据挖掘算法,利用云计算环境中分布的计算节点,来支持数据挖掘算法的并行执行,弥补传统数据挖掘算法的不足,能从海量的考试数据资源中找出有价值的数据信息。

2 云计算与数据挖掘相关概念

2.1 云计算下MAP/REDUCE并行编程模型介绍

云计算的概念最先由Google埃里克·施密特在2006年首次提出,其基本原理是将大的海量数据的计算任务分割成小的微量的计算任务,将计算任务细分后由分布在网络上的计算节点通过并行计算实现,最后将细化的计算结果数据汇总,得到最后的计算结果。在当前的网络教学平台中就已经开始引入云的概念,将优质的教学资源作为云,学习者只访问自己学习相关的资源而不用考虑该资源所在位置,学习结束后通过网上考试系统完成测试。

MapReduce 是 Google 发明的并行分布式编程模型,被广泛应用于云数据计算中,用MapReduce来处理的数据任务必须能分解成独立的小数据集,而且各个小数据集能够并行处理,通过 Map阶段将待处理数据分割成小的独立数据块,分别让不同的空闲计算节点来进行计算,达到分布式运算的效果,再通过 Reduce 程序将计算结果汇总输出。

2.2 关联规则及Apriori算法介绍

数据挖掘目前公认的定义是:数据挖掘就是从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。

关联规则由Agrawal 等于1993年首先提出,就是要从当前数据库中挖掘出各个项集间存在的某种规则,形成关联规则的项目集必须是频繁项目集,也应满足最小支持度和最小可信度。

对于云计算平台上的海量考试数据进行挖掘,主要目的之一就是希望能通过挖掘大量的考试信息发现试题之间隐藏的内在联系,这在功能上属于关联分析。例如,关联规则可以表示为“答对了题目3的考生中有80%的人也答对了题目9”。从这些规则可找出试题中题目之间的关联性,帮助教师分析学生知识掌握情况以及分析题目之间的互相影响性,以便帮助提高教学质量。

Apriori算法的基本思想是找出所有的频繁项集,这些频繁项集出现的频繁性要大于等于预先定义的最小支持度,由找出的这些频繁项集产生同时满足最小支持度和最小可信度的强关联规则。

3 云计算环境下Apriori算法的Map/Reduce模型化设计

要在云计算环境下应用Apriori算法,要将算法按照Map/Reduce的编程模型并行化设计并执行,然后由主控程序控制算法应用云存储环境中的数据运行。主程序按照使用者指定的数据块大小将云存储中数据分成独立的N个数据块,并将这些数据块分发到云平台中各个空闲的计算节点去运行,在进行数据预处理后,Map进程对处理好的目标数据进行计算,得到局部的频繁候选项集,再由Reduce进程对Map过程产生的局部候选频繁项目集做归并处理,产生总体的全部候选项目集,然后按照给定的最小可信度和最小支持度找出全局的频繁候选项目集,得到有关的关联规则。

云计算环境下的 Apriori 算法Map/Reduce化包括3个过程,首先是数据准备过程;其次是Map函数过程找到各个独立数据块的局部频繁项集;最后由Reduce过程通过归并处理接收Map过程得到的局部频繁项集,从中找出全局频繁项集,得到所需要的强关联规则。

Map/Reduce 化后 Apriori 算法的执行步骤如下:

(1) 数据库中待处理数据首先要按照要求分割成相对独立的N个小数据块,并按照所需要求进行数据清理处理和筛选处理,得到处理后的N个候选数据项集。

(2) 由Master将N个候选数据项集分派给不同的工作节点,每个节点执行不同的Map进程,利用参数KEY,产生的VALUE,按照系统设定的最小支持度和最小可信度要求计算出局部的频繁项集。

(3) 由Map过程得到的局部频繁项集保存到本节点硬盘上,准备交给Reduce过程处理归并。

(4) Map过程结束后,由Master主程序将本次硬盘存储的局部频繁项集具置信息传递给Reduce归并过程,由主程序决定让云计算环境中的空闲计算节点来运行完成Reduce过程。

(5) Reduce过程主要是从存储区读取局部频繁项集数据,然后通过归并处理得到全局的数据候选项集,再找出满足大于系统给定的最小可信度和最小支持度的频繁项目集。

(6) Reduce过程得到的数据传递给用户,由用户对数据进行整理找出符合要求的强关联规则。

4 实验过程及分析

4.1 MapReduce化的Apriori算法考试数据挖掘应用

网上考试系统中保存海量的学生考试信息,其中学生考试成绩是很重要的一项数据信息,利用MapReduce化的Apriori算法对海量考试数据信息进行挖掘,主要是对学生成绩信息进行挖掘,找出所学课程之间的相关性,可以更科学地帮助教师制订合理的教学计划进程,以指导学生顺利完成学业。

如在对网络云平台上考试系统中的数据信息挖掘时,要找出学生的学习课程之间的相互关联性,可以从学生的课程考试成绩入手。首先要处理数据,将学生课程成绩92分以上的设置为1,表示该门课程成绩为优秀,其它低于该分数的成绩设置为0,表示该门课程成绩不优秀。该数据库表中有三门课程,包括程序设计基础,计算机基础和VB课程,选取部分学生成绩数据,要对上述优秀课程进行云计算环境下的关联规则挖掘,假定最小支持度为40%、最小可信度为60%时,设定key和value参数值,首先由Master分配数据块给各个Map,找出局部的频繁项目集,再由Reduce过程归纳局部频繁项目集得到全局候选项集,根据设定的最小支持度和最小可信度,找出全局频繁项目集。可以得出如下规则:

(1)程序基础成绩优秀,VB成绩优秀=〉计算机基础成绩优秀的可能性大于100%;

(2)VB成绩优秀,计算机基础成绩优秀=〉程序基础成绩优秀的可能性大于100%。

根据以上挖掘得到的规则可以得知,VB程序设计课程与程序设计基础课程之间有某种联系,能够相互影响,程序设计基础这门课程成绩会影响到VB课程成绩,计算机专业责任教师在设计教学计划时,可以将程序设计基础课程作为VB程序设计课程的先修课,这样学生成绩为优秀的可能性就更大。

同样的可以利用MapReduce化的Apriori算法在网络考试数据信息中挖掘出相关学科之间不同知识点的影响程度,以实现在教学中在讲授某一知识点时的知识扩展和准备。我们设定最小支持度为96% 最小置信度为97%

通过挖掘后,得到如下的规则:

站点颜色与主题 =〉网站风格的设计 96.8% 98.3%

网站风格的设计=〉站点颜色和主题 96.8% 97.2%

网页信息的强势 =〉页面设计 97.6% 96.5%

其中,每一行为一条关联规则,数字分别表示他们的支持度和可信度。如第2条规则表示,网站风格设计的知识点与站点颜色和主题的知识点有很强的关联性,由于有96.8%的学生对这两个知识点的掌握都比较好,同时有97.2%的学生属于对网站风格设计知识点掌握的好也对站点颜色和主题知识点掌握的好。这就说明网站风格设计的知识点可以作为站点颜色和主题知识点的知识准备,教师在讲解网络信息制作与时要重点强调该部分内容,也可以在讲解DREAMWEAVER课程中将网站风格设计的相关概念给出,这对学生学习会有很大的帮助。同时,该规则可以帮助教师在进行试卷设计时,将这两个知识点的内容同时考察,这样学生的得分率会更高。

4.2 MapReduce化的Apriori算法和传统的Apriori算法挖掘效率对比

为了验证使用基于云计算环境的Apriori算法与传统的Apriori算法在对海量的考试数据信息挖掘方面的优越性能,进行数据实验测试。本测试环境是在局域网范围内配置一定数量节点的集群环境,每个单一节点的软硬件配置都统一,利用Hadoop 自带的 MapReduce Tools for Eclipse ,配置好 MapReduce分布式编程环境。测试数据来源于网上考试系统保存的学生考试数据信息。设定最小支持度为0.2,最小可信度为0.1。通过使用MapReduce化的Apriori算法和传统的Apriori算法对海量的考试数据信息进行挖掘,将得到的测试结果进行比较,得到的结果是在数据规模比较小的情况下,传统的挖掘方法和云计算环境下的挖掘方法耗费的时间差别并不大,但是随着数据规模的增大,使用传统的Apriori算法进行的单节点数据挖掘所耗费的时间越来越多,而使用MapReduce化的Apriori算法则显现出了更好的计算效能,在对网络考试系统的大规模数据信息进行挖掘时系统性能表现很好,解决了传统数据挖掘在面对海量数据信息进行挖掘时的系统响应速度慢,各个节点的输入输出量巨大时负载不均衡,挖掘效率不高的问题。

5 结束语

通过对网络考试系统的海量考试数据信息进行挖掘,验证了云计算环境下应用基于Map/Reduce编程模型的Apriori算法进行数据挖掘,能够解决传统数据挖掘算法在对大规模数据挖掘时出现的系统响应速度慢,整体挖掘效率不高的问题,希望在数据量越来越多的云教育时代,基于云计算环境的数据挖掘能发挥出更大的作用。

参考文献

[1] 陈嘉恒.分布式系统及云计算概论.清华大学出版社, 2011.5.

[2] 赵虎.云计算环境下的关联数据挖掘算法实现.电子科技大学,2011.6.

[3] 苏海英.数据挖掘中关联规则算法的分析与优化研究.吉林大学,2006.

[4] 孟小峰.数据挖掘:概念与技术(M).机械工业出版社, 2001.

[5] 安淑芝.数据仓库与数据挖掘.清华大学出版社,2005.6.

[6] 戎翔.基于MapReduce的频繁项集挖掘方法.西安邮电学院学报,2011.7.

[7] 谢桂兰.基于Hadoop模型的应用研究.微型机与应用, 2010.8.

[8] 季一木,康家邦,潘俏羽等.一种云计算安全模型与架构设计研究[J].信息网络安全,2012,(06):6-8.

[9] 胡春辉.云计算安全风险与保护技术框架分析[J].信息网络安全,2012,(07):87-89.

[10] 江伟玉,高能,刘泽艺等.一种云计算中的多重身份认证与授权方案[J].信息网络安全,2012,(08):7-10.

作者简介:

邹青春(1980-),黑龙江齐齐哈尔人,中国人民大学计算机应用专业,工学硕士,北京广播电视大学怀柔分校讲师;研究方向:计算机应用、数据库及数据挖掘等。

上一篇:负载均衡研究及其在高校网络出口管理中的应用 下一篇:浅析企业网络安全管理和防护策略