(单位内蒙古大学创业学院 内蒙古自治区 呼和浩特市 010070)
(内蒙古自治区国土空间规划院 内蒙古自治区 呼和浩特市 010013)
摘要:随着教育信息化进程的推进,高校已逐渐积累了海量的教育数据资源。如何从这些教育信息数据中挖掘出有价值的信息,并利用这些信息为教育教学工作提供更好的服务和支撑,已成为一个亟待解决的问题。在这种背景下,诞生了教育数据挖掘这一新兴的研究方向。作为教育数据挖掘的重要研究分支之一,基于机器学习的课程评价应用得到了广泛的关注,并且,已有众多教育工作者和学者相继开展了一些卓有成效的工作。但是,现有课程评价应用的研究工作,在方法的预见性和准确性方面仍存在较大的提升空间。为此,本文面向高校传统课堂教学场景,对基于机器学习的课程评价应用进行了较为深入的研究,并提出了若干思考,以期为该领域研究提供有益的借鉴与参考。
关键词:机器学习;课程评价;决策树;应用
一、基于机器学习的课程评价模型构建
(一)基于机器学习的分类算法的评价方法
1.分类算法概述
在机器学习领域,常用的分类算法有朴素贝叶斯、支持向量机、K近邻、决策树等。其中,朴素贝叶斯算法(Naive Bayes,NB) 它引入了特征条件独立假设,分类模型易理解,是在贝叶斯定理基础上提出的一种新的分类方法。支持向量机(Support Vector Machines,SVM)是一个二元分类模型,其基础模型是一个在特征空间中定义了最大间距的线性分类器。K近邻(K-nearest Neighbor,KNN)是假设一个训练数据集合中的一个实例类型已经确定,在对新的测试实例进行分类时,首先判定该样本的 k个相邻的类标记,并使用多数投票等方法进行分类。决策树(Decision Tree,DT)是一种树状的模型,它代表了一个以特征为基础的实例分类的过程。决策树的学习一般分为三个阶段:特征选择、生成决策树和修剪决策树。
基于课程评估工作的需要,可以在课程评价中运用分类算法。以系列评价属性值作为输入数据,以综合评价级别为类标签,通过某种分类算法学习一个分类器,即可对新的评教属性值给出一个最可能的类标签,也就是评估结果。为确保评估结果的可靠性,必须选择合适的分类方法来构建分类模型。精确度是衡量分类器性能的一个重要指标,它的定义为在一个特定的试验数据集合中,分类器可以正确地将样本数量与总样本数量的比率,其计算公式如下。
其中,pre_rate表示准确率,Nc表示正确分类的样本数,N为总样本数。2.实验结果与分析
本论文分别采用以上四种机器学习分类算法对现有的评教数据集进行实验,通过分类准确率来判断算法的可行性。各分类算法采用了python机器学习sklearn库中提供的算法函数,均使用默认参数,进行实验结果对比。实验中训练集为220条,测试集为70条数据,通过十次交叉验证,通过公式
分别计算其平均分类准确率,实验结果如下表所示。
表1常见算法的平均分类准确率对比
次数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 均值 |
NB | 0.65 | 0.686 | 0.621 | 0.71 | 0.642 | 0.74 | 0.7 | 0.667 | 0.72 | 0.657 | 0.746 |
SVM | 0.671 | 0.586 | 0.671 | 0.757 | 0.757 | 0.7 | 0.7 | 0.657 | 0.743 | 0.714 | 0.695 |
KNN | 0.686 | 0.757 | 0.671 | 0.743 | 0.671 | 0.686 | 0.686 | 0.671 | 0.743 | 0.686 | 0.7 |
DT | 0.78 | 0.757 | 0.721 | 0.743 | 0.757 | 0.79 | 0.757 | 0.729 | 0.729 | 0.771 | 0.826 |
针对同样的实验数据集,各算法的平均时耗如下表所示
表2平均运行时间记录表(单位:s)
算法 | NB | SVM | KNN | DT |
平均时耗 | 0.068 | 28.961 | 3.372 | 2.237 |
基于上述实验,我们可以看出使用决策树算法 虽然耗时较高高,但数据量大时准确度更高,从而选择了决策树算法来构建课程评价模型。
(二)决策树算法评价分类器的基础原理
决策树是一种基于实例的分类算法,该方法将一组无规则、无规则的案例构造成决策树,并产生分类规则,用于分类和预测未知数据。在决策树中,每一个叶子节点都有一个分类标记。不终止点,包括根节点和内部节点,包含了用于分离具有不同特征的记录的属性的测试条件。在决策树的构造中,采用了自顶向下的递推方法。也就是说,在实际应用中,决策树的构造就是按照一定的属性对数据进行归类。
具体而言,通过构建根节点,把训练数据集中在根节点上,选取最优的属性,并把训练数据分成若干子集合,以保证在目前的情况下对训练集合进行最佳分类。如果叶结点的分类还不够好,则继续划分,构造对应的节点,直到所有的训练数据都被正确地分类,或没有适当的特征。在此基础上,决策树可以很好地识别出训练集合,但对于未知的数据也未必有良好的分类效果,因此,要防止过度拟合,就必须对结果进行修剪,使之简化,从而达到更好的推广能力。
二、基于机器学习的课程评价模块的设计
本文以 MySQL5.7作为关系数据库存储数据,设计了基于机器学习的课程评价体系模型。在数据库中,我们设计了两种数据表格,一种是用户信息表,另一种是学生评教数据表。该课程评价模型重点实现通过机器学习算法给出评价结果,将以这一目标为核心来实现课程教评的一般流程。
(一)总体设计模块
课程评价系统通常包括专家评价、教师互评、教师自评、学生评价等几个模块。本论文的重点是从学生的学习视角来实施课程评价模块,其它模块可以按照各自的评估指标,使用同样的评估算法来建立评价模型,从而完成课程评价。
该模型由前端可视化接口和后台数据处理组成,前端接口包含数据采集、评价结果显示等;后台数据的处理主要包括数据存储和调用算法等。
(二) 决策树技术在课程评价中的应用
1. 数据清理
构建决策树,分析了课程类型、考试方式、是否需要重修、试题难度等因素对整体的影响。本研究选取了本校2020级计算机科学与技术专业的考试成绩,并将其成绩表的部分字段列于表1。
表1英语系学生部分课程考试成绩信息课程号
课程号 | 难度 | 是否必修 | 是否重修 | 成绩 |
A001 | 高 | 是 | 否 | 92 |
A002 | 中 | 是 | 否 | 71 |
A003 | 中 | 否 | 是 | 67 |
B001 | 高 | 是 | 否 | 76 |
B002 | 中 | 是 | 否 | 67 |
B003 | 低 | 否 | 是 | 88 |
根据对数据库的分析,表1中的数据被分割得过于详细,无法进行直接的归类,应该进行数据的整理。(1)根据课程的性质,分为公共课、学科专业课、专业必修课、专业选修课,然后根据课程的相似性将资料归纳为四类: A、 B、 C和 D类。(2)分数用数字标注,可以概括为:优秀(A)、中等(B)、一般(C)。(3)将试题的难度分为:高为1,中为2,低为3 。(4)删除不符合标准的记录,如错误记录、空白记录、重复记录等.完成上述四个步骤后,剩余的合格数据为1320条。
2.应用ID3算法
样本分为3类,C1=”优秀",C2="中等" , C3=”一般",则S1=115,S2=825,s3=380,总计S=1320,按I(S1j,S2j,…Smj )=- , Pijlog2Pij(i=1,2...,n) ,计算:I(S1,S2,S3 )=1.217。
表2清理后的学生成绩信息表
课程类型 | 难度 | 是否必修 | 是否重修 | 评级 | 数据统计 |
D | 中 | 否 | 否 | A级 | 55 |
B | 中 | 是 | 是 | A级 | 50 |
A | 高 | 是 | 是 | B级 | 70 |
…… |
(1)C为重修,计算:为重修, I=1.064;未重新修改的结果为: I=1.363。如式1所示,在(j=1、2、...、 v)中,样品按“是否为重写”进行分割,得到 E (C)=1.230。根据"是否为重修"进行分类的资料增益如下:Gain(C)=1(S1,s2,S3 )-E(C)=0.005。(2)K表示课程类型,计算:对于K="A":I=1.249;对于K="B":I=0.711 ;对于K="C":I=1.158;对于K="D":I=1.158;E (K)=0.807;Gain(K)=0.438。(3)S表示试卷的难度,计算:对于S=”高":I=1.133;对于S=”中 ": l=1.364;对于S=”低":l=1.210;Gain(S)= 0.036。(4)B表示是否为必修课,计算:是必修课:I=1.210;不是必修课:I=1.005,E(B)=0.035。
很显然, Gain (K)是最大的,表明"课程类型"属性在把数据分成子类别时发挥了最大的作用,所以可以把第一个节点确定为"课程的类型",把所提供的样品分成四个小块,然后根据上面的方法,对每个子树进行递推运算,最后得出一个结论。
3.实验结果
根据ID3算法,得出如下:
(1)是否重修,是:660/1320,否:590/1320。(2)试卷难度,高:490/1320,中:495/1320,低:265/1320。(3)是否必修,是:680/1320,否:570/1320。
实验发现,对于科目 A中表现不佳的学生,其归类的重点在于其是否为必修科目,亦即非必修科目的测验分数较差;而在 B科目中,对考试表现不佳的考生,其重点在于试题的难易程度,也就是对试题难易程度不满意的考生更多。
所以在 A课程中,可以强化学生对非必修课的关注,老师要尽可能地激发他们的积极性;在 B课上,一方面老师在出卷时要考虑到难度的比重,另一方面可以培养学生的思维和解题能力,可以多锻炼学生的实践技能。
结语:
本论文对课程评价的背景和现状进行了简要的介绍,并详细描述了采用数据挖掘技术和机器学习方法进行数据分析和建模的相关算法原理,主要包括:数据的预处理,相关性分析方法,分类算法以及增量学习方法等内容。阐述了传统课堂的课程评价体系的确立过程,并在评价模型构建方面使用了机器学习中的分类算法,进一步提高课程评价的科学性和可行性。
参考文献:
[1]李浩翔. 机器学习在学生课程评价分类中的应用[J]. 浙江树人大学学报:自然科学版, 2019(3):7.
[2]门秀萍. 机器学习在高校课程课程评价中的应用研究[J]. 福建电脑, 2019, 35(10):4.
[3]白雪梅, 王锋, 张晨洁. 基于机器学习的课程评价体系研究[J]. 教育教学论坛, 2016(15):2.
本文系内蒙古大学创业学院 2020~2021年度教师科研基金项目“基于机器学习的课程评价应用研究”(编号2021023)的研究成果