齐鲁工业大学学报   2017, Vol. 31 Issue (6): 52-56
0
Clementine数据挖掘工具在计算机等级考试成绩中的应用[PDF全文]
程代娣     
安徽警官职业学院,合肥 230031
摘要:影响成绩的因素很多,针对高校计算机等级考试支持偏低的现状,早期采用传统的决策树人工算法效率低,提出可视化数据挖掘工具SPSS Clementine技术,利用该技术中的决策树算法对近三年学生计算机等级成绩进行分析,快速建立了成绩分析决策树模型,找出影响成绩的潜在因素,为学生学习和个性化教学提供参考。
关键词数据挖掘    决策树    SPSS Clementine    C5.0算法    计算机等级考试成绩    
The Application of Clementine Data Mining Tools in Marks of Computer Rank Examination
CHENG Dai-di     
Anhui Vocational College of Police Officers, Hefei 230031, China
Abstract: There are many factors that affect students' marks. Concerned with the comparatively poor marks of Computer Rank Examination in colleges, due to the inefficiency of traditional artificial algorithm, visual data mining tool, SPSS Clementine was presented, and by using the decision tree algorithm, the students' marks of Computer Rank Examination of Anhui Vocational College of Police Officers in the past three years were analyzed. And decision tree model was established rapidly to analyze the marks, by which the potential factors affecting the marks were found out so that references can be provided for students' learning and personalized teaching.)
Key words: data mining    decision tree    SPSS Clementine    algorithm C5.0    (marks of) computer rank examination    

随着全国计算机等级考试(National Computer Rank Examination, 简称NCRE)健康有序开展, NCRE的证书也得到社会的的高度评价。为了促进计算机等级考试和自学考试更好、健康持续发展, 部分省级自考中心采取NCRE与高等教育自学考试课程衔接, 规定已通过不同等级层次考试的考生可以免考自考中相应的课程。近几年来, 各类高校普遍开展全国计算机等级二级考试, 然而该考试的通过率持续偏低。教务学生成绩管理系统中储存了大量的计算机等级考试成绩, 教学工作者没有充分利用这些海量成绩数据分析或挖掘对教学规律有影响的、有价值的隐含信息, 而只是停留在成绩查询、排序和统计等一些简单功能上。为了更好地发挥计算机等级考试的作用, 面对计算机等级考试通过率不高的现状, 教学部门急需一种新的技术分析原始成绩数据, 找到影响高低成绩的关键因素。数据挖掘技术具有海量数据的分析能力, 目前该技术已广泛应用到各个领域。早期利用传统的理论计算方法很复杂, 并且计算速度慢。本研究利用SPSS Clementin 12数据挖掘软件工具建模分析计算机等级考试成绩, 能够快速地找到影响计算机等级考试的关键因素, 为教师在教学过程中提供参考依据。

1 决策树模型及Clementine软件 1.1 决策树模型

数据挖掘是指从大量的、随机的实际应用数据中提取隐藏的有价值的信息的过程, 它是一种深层次的数据分析方法[1]。它具有海量数据的分析能力, 也是当前数据分析领域中最流行的数据分析技术, 广泛应用到商业、教育、金融等各个领域。数据的分类任务是数据挖掘的一个重要的应用, 决策树(Decision Tree)模型是一种典型的分类方法。决策树是知识的一种外在表达方式, 通过利用信息论原理对大量原本的属性进行分析和归纳产生, 一般都是自上而下生成的。决策树用于对新样本的分类, 即通过决策树对新样本属性取值的测试, 从树的根结点开始, 按照样本属性的取值, 逐渐沿着决策树向下, 直到树的叶结点, 该结点表现的类别就是新样本的类别[2]。有两类变量,即输入和输出变量。主要的决策树算法有C4.5、C5.0、CHAID、分类回归树C & RT和Quest算法。各种决策树算法之间的主要区别是“差异”衡量方式[3]。对每个决策树都要求分成的组之间的差异最大。

1.2 SPSS Clementine软件分析

数据挖掘理论人工算法非常复杂, 数据挖掘方法的理论知识的深入研究以及计算机技术的更新, 促进了数据挖掘软件的诞生。其中Clementine软件是一款优秀的数据分析工具, 已连续多年成为数据挖掘应用工具的冠军。Clementine支持与数据库之间的数据和模型交换[4], 具有界面友好且容易使用、分析速度快、分析结果直观易懂、强大的多元化图形等特点, 是当前非常有效的数据分析软件。Clementine数据挖掘是通过数据流方式进行的, 主界面由数据流编辑区和节点工具箱、流管理和项目管理三个窗口组成[5]。Clementine工具平台的操作和数据分析的流程基本一致, 数据分析过程主要经过四步:1)从指定数据源中导入数据到Clementine中;2)对导入的数据进行预处理;3)数据的建模;4)对所建立模型的评价, 选择最优模型等。该软件具有分类、预测、关联等数据分析方法, 同时支持C5.0、CHAID、分类回归树C & RT和Quest算法。本项目主要研究分类功能决策树经典的C5.0算法在计算机等级考试成绩分析中的应用。

2 C5.0算法分析

Clementine数据分析工具中包含多种算法。C5.0是Clementine中典型的算法之一, 是C4.5的升级版, 主要适用处理海量大数据上的决策树算法, 大大提高了数据分析速度和内存的使用率。通过C5.0算法构建的决策树包含多个分支和叶子结点, 分类属性变量定义为目标输出变量, 提取分类规则。C5.0模型以信息熵的下降速度作为确定最佳分支变量和分割阈值的依据, 根据能够带来最大信息增益的字段来拆分样本。第一次拆分确定的样本子集随后再拆分, 通常是根据另一个字段进行拆分, 这一过程重复进行,直到样本子集不能再被拆分为止。最后, 重新检验最低层次的拆分, 那些对模型值没有显著贡献的样本子集被剔除或修剪[6]。使用C5.0有一系列好处, 该算法模型能够非常稳定地处理输入的数据源, 不用反复长时间评估训练次数, 生成的模型提出的规则直观, 用户易于明白。同时该算法利用强大技术使得分类精度得到大大提高。

3 Clementine 12的C5.0算法分析计算机等级考试成绩 3.1 Clementine 12的C5.0算法技术思路

收集近三年来计算机等级考试成绩数据, 通过对这些数据的分析,挖掘出决定计算机成绩的主要因素, 根据这些因素来调整教学。研究主要采用SPSS Clementine 12中的决策树挖掘方法对数据进行分析, 借助于挖掘得到的决策树, 找到影响计算机等级考试成绩的主要因素, 对成绩按及格和不及格进行划分, 并构建一个判定学生计算机成绩的决策树分类模型, 然后基于决策树分类模型, 给出针对学生学和老师教的建议[7]。具体技术思路如图 1所示。

图 1 数据挖掘流程图

3.2 Clementine的C5.0算法分析成绩过程 3.2.1 数据源收集

数据来源于某学院近三年来计算机等级学生信息, 原始数据主要包括二级Access成绩表和学生调查表, 数据格式为Excel。在这两张表中首先取消对成绩分析没有用的属性, 如姓名、学号、身份证, 性别, 只保留有用的属性,如感兴趣程度、是否按时完成作业、教学效果评价、每周上机时数。将一些属性没有取值的样本删除, 最后共采集了550条记录。将550条记录数据集分成两个部分:一是训练数据集440条记录, 二是测试数据集110条记录。

3.2.2 数据源导入和处理

SPSS Clementine 12数据源主要从外部导入, 在导入数据源时, SPSS Clementine针对不同的数据源采用不同的导入方法。该模型的数据文件存储为Excel格式文件(计算机等级考试成绩表.xls)。选择Source栏的EXCEL结点,作为数据读入结点, 双击该结点将其加入到数据流编辑区, 进行属性设置, 导入数据, 如图 2所示。

图 2 导入数据源

根据分析需要, 利用字段选项的Derive节点将计算机成绩属性转换为成绩属性, 在这里定义“通过”(60~100分)和“不通过”(60分以下)两个等级。在字段类型选项页中将“感兴趣程度”、“是否按时完成作业”、“教学效果评价”、“每周上机时数”属性方向设置为“输入”, 成绩属性方向设置为“输出”, 如图 3所示。然后利用“表”节点对表中的数据进行读取, 并把输出结果命名为“计算机等级考试成绩”数据表, 如图 4所示, 这就是我们即将分析的数据。

图 3 各个字段数据源节点的配置

图 4 计算机等级考试成绩数据表

在建模之前, 对学生对计算机等级考试是否感兴趣属性的分布情况进行了考察, 如图 5所示。图 5中除了直观显示了对计算机二级考试感兴趣程度学生的人数分布情况外, 还给出了是否感兴趣的学生计算机等级考试成绩通过和不通过人数及所占的比例。

图 5 是否感兴趣属性对计算机等级考试成绩的影响

3.2.3 成绩模型的建立及输出

利用数据挖掘工具Clementine 12版本中的C5.0建模节点建立决策树模型, 选择“数据源”选项中的EXCEL文件结点作为数据源节点, 然后分别选择“记录选项”中的选择节点和样本节点, 再选择“建模”选项中的C5.0节点, 最后通过连接各节点构成计算机等级考试成绩数据挖掘训练流程图, 如图 6所示。

图 6 计算机等级考试成绩数据挖掘训练流程图

C5.0模型输出:数据导入和模型建立后, 选择“执行”按钮输出模型结果。本次C5.0模型挖掘得到的决策树模型共有3层, 如图 7所示。

图 7 C5.0模型输出决策树

3.2.4 决策树模型精度评价

在构建决策树过程中, 所采集的数据训练样本在一定程度上可能存在噪声, 导致生成不符合要求的树枝, 这些异常分支会影响预测结果的准确率。因此模型树生成后对其分支进行修剪是必要的, 使决策树复杂度尽可能减小, 达到更好、更快的预测分类效果。在利用C5.0模型对计算机等级考试成绩进行分析时,“模式”参数选择“简单”, Clementine将自动调整参数,实现剪枝, 因此模型所生成的是经过剪枝的精简决策树。

数据挖掘工具提供了很多模型进行精度测试, 利用“流管理”窗口中的“模型”选项卡, 在生成的C5.0模型上右击, 选择“添加到流”选项,把模型计算结果加入到数据流中, 然后在“节点工具箱”窗口中选择“输出”选项卡中的“分析”节点, 将“模型生成结果”节点与“分析””节点连接, 执行“分析”节点, 最后得出准确率为70.2%。可以看出模型在检验样本集上整体预测精度不是很好, 还是存在一定的误差, 这可能是收集的数据源缺少一些其他的与“成绩”相关的属性。

3.2.5 提取规则

最终生成的计算机等级考试的是否合格情况规则集如图 8所示。规则集如下:

图 8 C5.0模型输出规则集

IF是否感兴趣=是, THEN成绩=通过;

IF是否感兴趣=是AND按时完成作业=是THEN成绩=通过;

IF是否感兴趣=是AND按时完成作业=否THEN成绩=通过;

IF是否感兴趣=是AND按时完成作业=否AND上机时数>=4 THEN成绩=不通过;

IF是否感兴趣=是AND按时完成作业=否AND上机时数<=4 THEN成绩=通过;

IF是否感兴趣=否, THEN成绩=不通过。

4 C5.0算法模型的分析及建议

C5.0模型生成的是三层决策树, 通过构造的决策树模型, 很快了解到计算机等级成绩的分布情况和影响成绩的一系列因素。经分析发现,在440多名学生中, 计算机等级考试成绩通过的占50.45%, 不通过的占49.55%。决策树的最佳分组变量是“是否感兴趣”, 并以此形成二叉决策树。通过此决策树可知“是否感兴趣”是影响成绩的最关键因素, 其次是每周上机时数, 最后是完成作业情况, 教学评价没有进入决策树, 说明该属性对考试成绩影响非常小。根据模型提取的规则, 教学部门应该提高学生的学习兴趣和加强上机课时, 学生要提高学习兴趣、多上机练习和及时完成作业。模型的准确率在70%左右, 还是存在一定的误差, 可能是收集的数据源缺少一些其他的与“成绩”相关的属性。后续研究可增加与成绩相关的属性, 诸如专业等因素来为决策树建模提供更加可靠的依据。

5 结语

采用SPSS Clementine 12数据挖掘工具中的C5. 0算法,分析计算机等级考试成绩并构造决策树, 挖掘出影响计算机二级考试通过率的主要因素。数据挖掘贯穿业务流程的始终, 避免了人工理论计算, 极大提高了数据分析的速度和准确率。

参考文献
[1]
薛薇, 陈欢歌. Clementine数据挖掘方法及应用[M]. 北京: 电子工业出版社, 2013.
[2]
施蕾, 唐艳琴, 张欣星. 数据挖掘中决策树方法的研究[J]. 计算机与现代化, 2009(10): 29-32. DOI:10.3969/j.issn.1006-2475.2009.10.009
[3]
李强. 创建决策树算法的比较研究——ID3、C4.5、C5.0算法的比较[J]. 甘肃科学学报, 2006(4): 84-87.
[4]
唐丽萍, 章义来, 徐星. 基于Clementine的大学英语六级成绩分析[J]. 福建电脑, 2016(8): 27-28.
[5]
郭宇红, 王路宁, 毛玉琪. SPSS Clementine决策树建模在图书馆中的应用[J]. 计算机时代, 2014(4): 30-33.
[6]
潘峰. 基于C5.0决策树算法的考试结果预测研究[J]. 微型机与应用, 2016(8): 68-70.
[7]
廖荣平. 基于Clementine的初中信息技术课程考试成绩分析研究[J]. 福建电脑, 2011(7): 107-109.