摘 要: 结合高职院校职业技能的评估情况,利用流行的网络开发技术,应用改进的决策树ID3算法和XML技术,设计并实现了高职学生综合技能评估系统,为高职教学提供可行的数据和决策支持。
关键词: 综合技能评估;数据挖掘;ID3算法;XML
如何让教师掌握学生学习情况,对学生给出建设性的学习意见;如何让学生根据学习成绩和自身素质,了解学习特点,明确专业学习方向,是高职院校教育工作者应该致力解决的问题。设计并开发适合高职学生特点和职业岗位要求的、能够为高职师生教学和学习提供数据和决策支持的学生综合技能评估系统,对于检验学生当前学习情况,做好在校期间的职业生涯规划,有着积极的指导意义。
数据挖掘(Data Mining)是指从大量结构化和非结构的数据中提取有用的信息和知识的过程,是知识发现的有效手段[1]。通过应用数据挖掘技术,可以将目前高职院校的各种管理系统中的数据有效利用,并应用到实际的教学决策和学习指导中,对提高高职教学质量是非常有建设意义的。
本文利用数据库技术和网络开发技术,改进数据挖掘技术中的分类ID3算法,给出开发高职学生综合技能评估系统的基本思路和实现方法。
1 设计思路
根据高职教学的基本特点,综合技能评估系统的主要功能是对学生当前的课程成绩和基本素质进行评估,以及依据当前成绩对学生的未来职业方向进行预测,并给出学习的指导性意见。
在综合技能评估系统中,无论是课程成绩的评估,还是对学生综合技能的预测评估,考虑到应用数据挖掘技术中的分类ID3决策树方法,选取一门课程的不同类成绩,或者学生综合技能的相关课程成绩,以此作为数据样本,生成相关决策树,最后依据决策树的叶子节点给出评估结论或者评估建议。
1.1 ID3算法
ID3算法是由Quinlan首先提出的。该算法是以信息论为基础,以信息熵和信息增益为衡量标准,首先检测所有属性,选择信息增益值最大的属性产生决策树节点,由该属性的不同取值建立分支,再对各分支的子集递归调用建立决策树节点的分支,直到所有子集仅包含同一个类别的数据为止,最后得到一个决策树,从而实现对新的样本的归纳分类[2]。
ID3算法中,对于一个训练集X,其具有目标属性U={u1,u2,…,um},Ui在所有样本中出现的频率为pi(i=1,2,…,m),则该训练集X所包含的信息熵E定义为:
通过式(1)可以看出,算法处理过程要进行多次对数运算。当出现较多数据量时,尤其是在成绩评估系统中(可能会出现大量并发操作),这样的运算势必会影响生成决策树的效率,可见在综合技能评估系统中对ID3算法进行改进,节省生成决策树时间,提高处理效率,是十分必要的。
1.2 对ID3算法的改进
对于一个在线评估系统来说,在某个时间段内可能会出现大量的并发操作,从而影响系统性能,因此,考虑对传统的ID3决策树分类算法进行改进。
在改进的算法中,利用了高等数学中的麦克劳林的近似公式:
当存在f(x)=ln(1+x)时,且当x→0时,ln(1+x)≈x
利用上述的近似公式,通过一系列推导后,信息熵公式为:
这里设定属性值的个数为N。
在式(3)中,用常见的加法、乘法和除法运算代替了对数运算,与式(1)相比,节省了运算时间。通过上述算法的改进,在进行决策树分裂节点选取的函数运算时,使信息熵只受属性取值个数N的限制,可以克服传统ID3算法容易出现的选择偏向问题。
2 系统设计
2.1 系统功能设计
评估系统面向不同用户,分为前台系统和后台系统。前台系统面向学生和教师,后台系统面向教务管理人员。对于学生用户,可以通过前台系统进行专业基本素质测评、查看课程成绩评估情况、查看专业依照完成的课程成绩,通过评估算法,了解自身的技能学习走向和技能学习指导意见;对于教师用户,可以查看授课班级学生的课程成绩、制定课程评估策略、成绩分析、对照课程技能点给出学生的学习指导意见;专业负责人可以设计专业相关基本素质的测试试题,比照学生基本素质答卷给出学生专业学习指导意见、制定综合技能评估策略、依据学生各科成绩在技能评估算法的基础上,对学生的专业学习方向有总体的掌握;对于后台管理用户可以执行上述操作的基础上,还具有数据导入、用户管理、新闻管理、留言管理、数据备份、查看日志等管理性工作。评估系统的用例如图1所示。
2.2 系统数据设计
评估系统的科目成绩数据、教师用户数据、学生用户数据来源于学院使用的凌展教务管理系统,由后台教务管理人员通过导入模块进行导入,基本素质测评试题由专业负责人进行录入,课程评估策略由课程教师进行设计和录入,专业综合技能评估策略由专业负责人进行设计和录入,关键数据表及其主要结构如下。
(1)基本素质试题表(B_Question)。主要结构:编号、内容、类型、考察点、专业编号、选项分值等。
(2)课程信息表(Course)。主要结构:课程号、课程名、课程类型、开设专业、是否核心课程等。
(3)课程成绩表(C_Score)。主要结构:课程号、学号、开设学期、任课教师、考核方式、平时成绩、知识掌握情况、课堂学习情况、成绩等级、期末成绩等。
(4)课程体系表(C_System)。主要结构:课程号、专业号、专业方向、前导课程号、后继课程号、相关课程等。
(5)课程评估策略表(C_ES)。主要结构:编号、策略文件、课程编号、创建日期、创建人等。
(6)综合技能评估策略表(IS_ES)。主要结构:编号、策略文件、专业编号、专业方向、创建日期、创建人等。
(7)专业指导意见表(P_View)。主要结构:学号、专业编号、专业方向、技能总评成绩、指导意见类型、指导意见等。
(8)课程指导意见表(C_View)。主要结构:学号、课程编号、课程总评成绩、课程指导意见类型、指导建议等。
除上述表外,还有新闻表、留言表、学生信息表、专业倾向表等。
3 系统实现
3.1 系统实现环境
考虑到评估系统应用对象的广泛性,系统采用目前流行的B/S结构开发,后台数据库采用SQL Server2005,开发环境使用Visual Studio 2005,应用.Net框架进行开发,能够发挥系统的效率,也能够保证系统的安全性。
3.2 评估系统实现过程
整个系统的实现包括基本专业素质评估、课程评估和综合技能评估3个环节,其中基本专业素质测评相对简单,就是根据学生选择的选项计算得分,根据得分的范围给出相关指导性意见,而课程和综合技能的评估则是采用改进的ID3分类算法来执行的,由于算法雷同,本文仅以综合技能评估的实现来说明。
(1)原始数据的获取
用于技能评估的数据是核心课程体系中的相关课程成绩,其来源于学院的教务管理系统学生核心课程成绩,通过程序模块可以导入到对应的数据表中。
在进行数据导入的时候,要进行不必要数据的清理工作。因为大量课程成绩信息是以无次序、无规则的数据记录保存的,是有噪声的。需要对大量的、潜在的有用数据进行清理,去除噪声并识别离群点、纠正数据中的不一致值[3]。
(2)数据整理
筛选掉与综合技能评估的成绩数据后,要对导入进来的数据进行整理,即依照学生的成绩进行课程等级的评定。考虑到计算的复杂性,成绩等级分为A、B、C 3个等级。
UpDate C_Score set成绩等级=′A′where期末成绩>=90 and期末成绩<=100;
UpDate C_Score set成绩等级=′B′where期末成绩>=70 and期末成绩<=89;
UpDate C_Score set成绩等级=′C′where期末成绩>=60 and期末成绩<70。
(3)决策树构建
数据整理之后,即可以利用改进的ID3算法构建决策树,这个过程要经过计算机类别属性信息熵、计算信息增益、产生根节点等步骤,简要算法如下。
输入:S_data(样本数据),Attr_list(属性集)
输出:D_Tree(决策树)
①建立结点Node;
②if S_data in类C then;
③返回Node为一个叶节点,将其归类为C;return;
④if Attr_list is NULL then;
⑤设置Node为叶节点,标记S_data为高频类;
⑥select高频类;//选择最高增益属性
⑦设置Node为高频类;
⑧对于每个高频类中的值va,创建一个由Node长出的值为va的分支;
⑨设定Si是S_data中值为va的样本集合;
⑩If Si is NULL then。
加上一个叶子,标记Si为S_data中的高频类
Else
加上一个有Make_Dtree返回的节点,继续构建决策树
利用上述算法程序构建之后的一个(网络专业网站设计方向)简化决策树模型如图2所示。该图中对于核心课程体系中的任何一门课程成绩少于60分,即为综合技能不合格,因此该等级在决策树中不予体现。
(4)决策规则表示
根据决策树的分支情况,即可以生成综合技能评估的决策规则。如图2所示,一条分类规则就是从根节点到叶子节点的一条路径,每一个属性值构成分类规则的条件,而叶子节点表示的是该规则的结果[3]。分类规则采用“if-then”规则,如:
①If Asp=′A′and网页设计=′A′Then网站设计综合技能=′合格′
②If Asp=′B′and网页设计=′C′ and平面设计=′C′Then网站设计综合技能=′不合格′
(5)评估策略文件的存储
在存储决策规则的时候,系统使用易于树形表示的XML文档格式进行存储,将文件名记录在数据库中(即综合技能评估策略表中的策略文件),基本文档表示如下:
评估策略确定之后,专业主任可以依据学生的核心课程成绩对其综合技能进行评估、学生和教师也可以根据当前课程学习情况,对未来要学习的课程做出预判,从而确定学习的努力程度,或者对学生给出专业学习建议。
利用数据挖掘技术改进的ID3算法,进行高职院校综合技能评估系统的开发,可以高效地依据专业核心课程体系中各科成绩进行分析、对专业综合技能进行评估和评定,为高职院校教学管理、专业建设和学生自主学习提供决策技术支持,对提高教学质量起着辅助作用。在系统中,利用XML技术来存储课程和综合技能的评估策略,使其更加利于决策树的表示,提高了存取效率,也节省了存储空间。
该系统目前已经在辽阳职业技术学院信息工程系进行试运行,目前运行稳定,得到了使用方的认可,证明了其具有实用性和可靠性。
参考文献
[1] 苏新宁.数据仓库和数据挖掘[M].北京:清华大学出版社,2006.
[2] 蒋盛益.数据挖掘原理与实践[M].北京:电子工业出版社,2011.
[3] 罗雨滋,赵鹏起.改进的ID3算法在学生综合技能评估中的应用研究[J].佳木斯:佳木斯大学学报,2013(4):80-82.