高级检索

  • ISSN 1006-3080
  • CN 31-1691/TQ
引用本文:
Citation:

基于关联规则与聚类分析的课程评价技术

    作者简介: 范圣法(1984-),男,安徽全椒人,博士生,助理研究员,主要研究方向为课程教学与评价。E-mail:shengfafan@ecust.edu.cn;
    通讯作者: 虞慧群, yhq@ecust.edu.cn
  • 中图分类号: TP391.4

Curriculum Evaluation System Based on Association Rules and Cluster Analysis

    Corresponding author: YU Huiqun, yhq@ecust.edu.cn
  • CLC number: TP391.4

  • 摘要: 高校在长期的教学活动中积累了大量的课程数据,如何利用数据资源分析课程教学状况,为提高课程教学质量提供决策支持,具有重要的研究价值。本文设计实现了一个基于关联规则与聚类分析的课程评价体系,对课程评价系统进行了功能需求分析,并对课程评价数据进行预处理。采用FP-growth算法对学生课程成绩数据进行关联规则分析,采用K-means++算法进行聚类分析,提高了课程数据分析的精度,实现了课程评价的自动化,提高了效率和评价的客观性。
  • 图 1  数据采集用例图

    Figure 1.  Use case of data acquisition

    图 2  报表6A-指标点相关考核项分解说明基本样式

    Figure 2.  Report 6A - basic styles of decomposition of relevant assessment items of indicator points

    图 3  数据分析及决策支持用例图

    Figure 3.  Use case of data analysis and decision-making support

    图 4  K-means++算法实例

    Figure 4.  Instances of K-means++ algorithm

    表 1  考试成绩离散化处理

    Table 1.  Discretization of examination score

    Discretization judgmentGradeRepresentation
    Examination result>Average scoreExcellent1
    Examination result≤Average scoreNot excellent0
    下载: 导出CSV

    表 2  课程关联规则

    Table 2.  Curriculum association rules

    AntecedentConsequentConfidence level/%
    Linear algebra、
    Theory of probability、
    Digital logic
    Discrete
    mathematics
    90.00
    Assembly language、
    Microcomputer principles
    Operating
    system
    96.29
    College english、
    Introduction to computer
    Computer
    professional english
    88.76
    Assembly language、
    Composition principle、
    Computer architecture
    Microcomputer
    principles
    97.23
    $ \vdots $$\vdots $$\vdots $
    下载: 导出CSV

    表 3  二元类型数据的列联表

    Table 3.  Contingency table of binary type data

    Object j
    Object i10sum
    1aba+b
    0cdc+d
    suma+cb+da+b+c+d
    下载: 导出CSV

    表 4  第2个聚类中心的计算

    Table 4.  Calculation of the second clustering center

    Sample numberD(x)2P(x)S
    180.20.2
    2130.3250.525
    350.1250.65
    4100.250.9
    510.0250.925
    6000.925
    720.050.975
    810.0251
    下载: 导出CSV

    表 5  离散数学课程最终聚类中心

    Table 5.  Final clustering center ofdiscrete mathematics

    TypeStandardized test scoresStandardized regular scores
    First0.98620.8824
    Second0.95980.7149
    Third0.94220.4379
    Fourth0.60000.5975
    下载: 导出CSV
  • [1] 陈利民, 燕珍, 杜金涛, 等. 基于发展性评价的高校教师教学评价体系构建[J]. 微型电脑应用, 2019, 35(9): 125-127. doi: 10.3969/j.issn.1007-757X.2019.09.038
    [2] YE Q, JIAO M. The research of college computer courses teaching quality improvement[C]//2011 6th International Conference on Computer Science & Education. Singapore: IEEE, 2011: 572-576.
    [3] VARGAS H, HERADIO R, CHACON J, et al. Automated assessment and monitoring support for competency-based courses[J]. IEEE Access, 2019, 7: 41043-41051. doi: 10.1109/ACCESS.2019.2908160
    [4] 乐惠骁, 范逸洲, 贾积有, 等. 优秀的慕课学习者如何学习——慕课学习行为模式挖掘[J]. 中国电化教育, 2019(2): 72-79. doi: 10.3969/j.issn.1006-9860.2019.02.012
    [5] 赵辉. 数据挖掘技术在学生成绩分析中的研究及应用[D]. 辽宁大连: 大连海事大学, 2007.
    [6] 朱跃. 数据挖掘在成绩分析中的应用性研究[D]. 贵阳: 贵州大学, 2009.
    [7] 王婷婷. 数据仓库和数据挖掘在学生成绩分析中的应用研究[D]. 武汉: 武汉科技大学, 2007.
    [8] 刘博鹏, 樊铁成, 杨红. 基于数据挖掘技术的学生成绩预警应用研究[J]. 四川大学学报(自然科学版), 2019, 56(2): 267-272.
    [9] ARTHUR D, VASSILVITSKII S. K-means++: The advantage of careful seeding[C]//18th ACM-SIAM Symposium on Discrete Algorithms. USA: ACM, 2007: 1027-1035.
    [10] ANWAR A, MAHMOOD A N, TARI Z. Identification of vulnerable lines in large power grid based on FP-growth algorithm[J]. Information Systems, 2015, 53: 201-212. doi: 10.1016/j.is.2014.12.001
    [11] YUAN J, TIAN Y. Practical privacy-preserving MapReduce based K-Means clustering over large-scale dataset[J]. IEEE Transactions on Cloud Computing, 2019, 7(2): 568-579. doi: 10.1109/TCC.2017.2656895
    [12] KARLEKAR A, SEAL A, KREJCAR O, et al. Fuzzy K-means using non-linear S-distance[J]. IEEE Access, 2019, 7: 55121-55131. doi: 10.1109/ACCESS.2019.2910195
  • 加载中
图(4)表(5)
计量
  • 文章访问数:  56
  • HTML全文浏览量:  34
  • PDF下载量:  0
  • 被引次数: 0
出版历程
  • 收稿日期:  2020-12-29
  • 网络出版日期:  2021-03-31

基于关联规则与聚类分析的课程评价技术

    作者简介:范圣法(1984-),男,安徽全椒人,博士生,助理研究员,主要研究方向为课程教学与评价。E-mail:shengfafan@ecust.edu.cn
    通讯作者: 虞慧群, yhq@ecust.edu.cn
  • 1. 华东理工大学 教务处
  • 2. 计算机科学与工程系,上海 200237

摘要: 高校在长期的教学活动中积累了大量的课程数据,如何利用数据资源分析课程教学状况,为提高课程教学质量提供决策支持,具有重要的研究价值。本文设计实现了一个基于关联规则与聚类分析的课程评价体系,对课程评价系统进行了功能需求分析,并对课程评价数据进行预处理。采用FP-growth算法对学生课程成绩数据进行关联规则分析,采用K-means++算法进行聚类分析,提高了课程数据分析的精度,实现了课程评价的自动化,提高了效率和评价的客观性。

English Abstract

  • 教学质量管理的根本目的在于形成教学质量的持续改进机制,保证教学质量不断提高[1]。课程质量是影响高校教育教学质量持续提升的首要因素,所有高等教育改革理念和思想,最终都要落实到课程建设中并通过课程的实施来实现[2-3]。已有的经验表明,外部因素如教育资源的投入、外部问责和评估等,并不能必然地提升教育质量,促进高等教育内部教学质量才是解决问题的根本途径。因此,通过对本科课程的运行状态、教师、学生、实验、视频等信息的采集、分析和评价,建立本科课程评价体系及其支撑系统并用于本科教学管理服务中,将会增强教育改革的核心竞争力。如何合理地利用这些教学信息,以便得到对教学有益的潜在知识,作出有前瞻性的决策,成为了各大高校亟需解决的问题。

    文献[4]挖掘了慕课平台中各类学习者的学习行为模式特点,从而找出优秀学习者所具备的特质。文献[5-7]通过分析学生的成绩数据,挖掘出各类学生的特点和有价值的关联规则,提高学生成绩和课程质量。文献[8]通过对学生属性、学习行为、历史成绩3个方面的数据挖掘,预测出学生未来课程的表现,实现学生成绩预警,这对教师掌握不同类型学生的学习情况大有裨益。

    本文基于以上研究背景,以毕业生能力达成分析为导向,以提高教学质量为目标,设计并实现了一种基于关联规则与聚类分析的课程评价技术课程评价系统,同时提供数据分析与决策支持功能。该系统针对传统课程评价系统单一地以成绩为唯一标准的问题,较为客观地使用了定量和定性相结合的课程评价原则,打破了地域和时间的限制,节约了大量人力和时间成本,实现了课程评价数据收集、课程评价处理的自动化。同时,对课程数据进行系统分析,得到了有助于提高教学质量的决策支持依据,为教师及专业责任教授提供了持续改进的参考依据。

    • 课程评价系统需要采集课程数据及成绩数据。其中,课程数据不仅包括课程名称、课程人数等基本信息,还包括该课程与其对应指标点的考核评价依据等信息。成绩数据包括学生的姓名、学号等基本信息以及学生的考试、作业、实验成绩等信息,成绩数据的录入需要支持手工录入和通过Excel文件批量导入,以贴合不同用户的使用习惯,使用户拥有良好的系统使用体验。数据采集用例如图1所示。

      图  1  数据采集用例图

      Figure 1.  Use case of data acquisition

    • 课程评价系统旨在简化教育部工程教育认证的数据准备过程。生成工程认证所需的报表1~报表9时耗费了大量的人力及时间,因此如何通过采集到的数据生成所需要的报表,以提供给用户查看及下载成为了系统需要解决的问题。因篇幅限制,本文以《离散数学》课程为例,列出了报表6A-指标点相关考核项分解说明基本样式,如图2所示。

      图  2  报表6A-指标点相关考核项分解说明基本样式

      Figure 2.  Report 6A - basic styles of decomposition of relevant assessment items of indicator points

    • 课程评价系统需要分析学生的成绩数据,根据毕业要求达成度评价方法,分别计算出课程达成度、指标点达成度、毕业要求达成度,并通过图表的形式直观地展示出每门课程学生的成绩分布情况及各项达成度,帮助教师优化教学方法,提高课程教学质量。数据分析与决策支持用例如图3所示。

      图  3  数据分析及决策支持用例图

      Figure 3.  Use case of data analysis and decision-making support

      教师登陆课程评价系统后,可以查看、更改个人基本信息,对自己的教学班进行管理。为进行课程质量评价,教师通过录入学生各项题型的成绩数据和与指标点相关联的评价依据,系统即可自动完成各项达成度的计算,生成对应的Excel报表以供教师下载查看。同时,课程评价系统对学生成绩数据和各项达成度进行了可视化,教师可以直观地通过系统提供的多项图表对课程情况进行分析,作出具有前瞻性的教学决策。

    • 数据录入功能为其他功能模块提供数据支持,包括开课课程的基本信息录入、评价依据信息录入、学生成绩录入。基本信息录入包括课程名称、学年、学生名单等信息的录入,其中学生名单可通过Excel表格进行批量导入,该Excel表格的格式需与预定义的学生名单的导入模板相匹配。完成课程基本信息配置后,可以进一步输入课程评价信息。评价信息录入包括评价依据、评价周期、课程与指标点的关联信息等信息的录入,从而为毕业要求达成度评价及工程认证表格生成提供数据支持。学生成绩录入包括学生当前课程的考试成绩、作业成绩、实验成绩,分项拆解录入,并提供给用户批量导入和手工录入两种录入方式,贴近不同用户的使用习惯来改善用户体验。批量导入通过导入学生的考试成绩、作业成绩、实验成绩的分项拆解Excel表格实现,该Excel表格需符合预定义的成绩模板。

    • 数据分析功能对存储在数据库中的各类课程数据进行计算分析,并将分析结果可视化,以便用户能够直观地了解课程评价结果。数据分析功能包括计算课程达成度、指标点达成度及毕业要求达成度并将它们存储在数据库中,分析学生成绩的分布情况,分析考试、作业、实验得分情况。

    • 报表管理是课程评价系统的核心功能之一,包括报表查询及报表下载。在已采集课程相关数据的基础上,课程评价系统能够自动生成报表,相较于传统的人工进行报表计算,具有其不可比拟的优势。报表查询通过第三方xlrd模块实现对Excel文件内容的读取,使用户能够在线查看报表。报表下载通过第三方xlwt模块实现对Excel文件的写入,完成写入操作的Excel文件将其保存在指定文件夹下,以供用户进行下载。

    • 在实际的数据挖掘过程中,数据库庞大且一般由多个异构数据源构成,数据挖掘结果极易受到噪声、不一致的数据和缺失值的干扰,挖掘结果受数据质量影响大。因此,需要对数据进行预处理,以提高数据质量,简化数据挖掘过程。本文使用的数据是某专业2014~2018学年所有学生已修课程的成绩数据,包括学生基本信息以及每门课程的考试、作业、实验成绩。数据预处理包括以下4个步骤:

      (1)数据清理。删除缺失数据以完成数据清理。由于部分学生未参加考试或是教师录入数据时未填写部分学生的成绩,导致成绩数据空缺,这些记录需进行删除。

      (2)数据集成。删除重复的记录以解决数据冗余。由于教师批量导入的Excel表格中存在重复的数据或是教师多次导入相同Excel表格,导致数据库中存在同一个学生有多条成绩数据。因此,需保留该名学生多条成绩数据中的最高分,并将其他记录删除。此外,若学生的初修成绩不及格,次年需进行重修,也会造成数据冗余,需删除重复数据。

      (3)数据转换。为使算法有更优的表现,对成绩数据进行标准化处理,具体方法是:将学生考试成绩除以考试总分,即标准化考试成绩=学生成绩/100,进而得到一个[0,1]区间内的数据。

      (4)数据规约。数据离散化:数据形式受算法要求,学生考试成绩需进行离散化处理。将学生成绩分为优秀、不优秀两类,为排除课程的难度和出题方式的不同对考试成绩的影响,计算每一门课程的平均分,如果学生考试成绩大于该门课程的平均分则离散化为1,否则离散化为0。具体离散方式如表1所示。维数规约:去除无关属性。学生姓名、班级与数据挖掘无关,可以删除这些属性。

      Discretization judgmentGradeRepresentation
      Examination result>Average scoreExcellent1
      Examination result≤Average scoreNot excellent0

      表 1  考试成绩离散化处理

      Table 1.  Discretization of examination score

    • 传统的Apriori算法会产生大量的候选项集,同时为了完成模式匹配需要重复扫描整个数据库,开销尤为庞大。频繁模式增长(FP-growth)算法在不需要产生代价昂贵的候选项集前提下,可以挖掘出全部频繁项集[9-10]

      在对数据进行预处理的基础上,对考试成绩数据进行关联规则挖掘,用以发现不同课程之间的相互影响,帮助专业责任教授合理制定专业人才培养计划,培养能力更为综合的专业性人才,进一步提高教学质量。

      在不忽视重要规则也不会产生大量无用规则的基础上,经过多次实验,最终最小支持度计数设置为50,最小置信度设置为0.85。使用FP-growth算法对课程成绩数据进行关联规则挖掘到的部分课程关联规则如表2所示。

      AntecedentConsequentConfidence level/%
      Linear algebra、
      Theory of probability、
      Digital logic
      Discrete
      mathematics
      90.00
      Assembly language、
      Microcomputer principles
      Operating
      system
      96.29
      College english、
      Introduction to computer
      Computer
      professional english
      88.76
      Assembly language、
      Composition principle、
      Computer architecture
      Microcomputer
      principles
      97.23
      $ \vdots $$\vdots $$\vdots $

      表 2  课程关联规则

      Table 2.  Curriculum association rules

    • 传统的K-means算法在选择初始聚类中心时,从数据集中随机选择k个样本作为聚类中心,初始聚类中心不同,容易导致完全相异的聚类结果。面对不同的数据类型,数据挖掘技术往往需要使用不同的相异性度量方法[11-12]。本文中,学生成绩数据一般是数值类型数据,在进行离散化预处理后转变为二元类型数据,在此介绍其相异性度量方法。

    • 学生成绩数据用整数或者实数值表示。不同的度量单位影响着聚类结果,因而在计算距离之前应对数据规范化处理,以最小化度量单位对聚类结果的影响。设学生成绩数据${\mathit{\boldsymbol{i}}} = ({x_{i1}},{x_{i2}}, \cdot \cdot \cdot ,{x_{ip}})$${\mathit{\boldsymbol{j}}} = ({x_{j1}},{x_{j2}}, \cdot \cdot \cdot ,{x_{jp}})$中包含p个数值属性,ij代表学生的成绩向量,常见的距离度量方法如下:

      (1)欧几里得距离

      (2)曼哈顿距离

      (3)闵科夫斯基距离

    • 离散化考试成绩数据仅有0或1两种状态,其中0表示学生考试成绩小于等于平均分,1表示学生考试成绩大于平均分。两个离散化考试成绩数据之间的相异性可以通过二元类型数据的列联表实现,如表3所示。

      Object j
      Object i10sum
      1aba+b
      0cdc+d
      suma+cb+da+b+c+d

      表 3  二元类型数据的列联表

      Table 3.  Contingency table of binary type data

      表3中,a表示对象i和对象j的取值均为1的状态数,b表示在对象i中取值为1、在对象j中取值为0的状态数,c表示在对象i中取值为0、在对象j中取值为1的状态数,d表示在对象i和对象j中取值均为0的状态数。

      对称的二元类型数据中,它的两个状态被视作具有同等的重要程度,对称的二元相异性计算公式如下:

      非对称的二元类型数据中,它的两个状态被视作具有不同的重要程度,取值全为1的情况被视作比取值均为0的情况更有意义。因此,d在此被略去,那么非对称的二元相异性计算公式如下:

    • 在不忽视重要规则也不会产生大量无用规则的基础上,经过多次实验,最终最小支持度计数设置为50,最小置信度设置为0.85。使用FP-growth算法对课程成绩数据进行关联规则挖掘的伪代码如下:

      算法1:AssociationRuleMining

      输入:学生信息 stuList

      输出:关联规则associationRules

      (1) 计算每个学生的关联规则

      (2) for stu in stuList

      (3)  for item in scoreList

      (4)   courseId,score1,avg=item

      (5)   if courseId in courseList and

      (6)     float(score1)>float(avg):

      (7)       res.append(courseId)

      (8)   if len(res)!=0:

      (9)      data.append(res)

      (10)     patterns = pyfpgrowth.find_       frequent_patterns(data, 50)

      (11)     rules = pyfpgrowth.generate_       association_rules(patterns, 0.85)

      (12)   end if

      (13)  end for

      (14) end for

      由于K-means++算法要求输入目标聚类个数,结合传统成绩判定方法,在避免产生无用聚类结果的基础上,将目标聚类个数设置为4,即k=4。使用sklearn.cluster提供的K-means++算法,挖掘某门课程学生成绩的聚类结果的伪代码如下:

      算法2:MiningCourseInfo

      输入:课程信息 courseId

      输出:聚类结果centroids

      (1) 获取学生的课程成绩信息

      (2) data=[]

      (3) for score in scoreList:

      (4)    score1,score2=score

      (5)    set=[float(score1),float(score2)]

      (6)    data.append(set)

      (7)  end for

      (8)  estimator = KMeans(n_clusters=4)

      (9)  estimator.fit(data)

      (10)  centroids = estimator.cluster_centers_

    • 为了说明K-means++算法相较于传统K-means算法的不同之处,本文通过一个实例说明K-means++算法选取课程成绩数据聚类中心的执行过程。选定如图4所示的数据集,数据集包含8个成绩数据样本,图的横坐标代表平时成绩,纵坐标代表考试成绩。为简化计算,数据集中样本的序号(平时成绩,考试成绩)分别为1号(3,4),2号(4,4),3号(3,3),4号(4,3),5号(0,2),6号(1,2),7号(0,1),8号(1,1)。

      图  4  K-means++算法实例

      Figure 4.  Instances of K-means++ algorithm

      假定算法随机选择6号作为初始聚类中心,那么数据集中每一个样本到初始聚类中心的距离D(x)及被选为下一个聚类中心的概率P(x)如表4所示。

      Sample numberD(x)2P(x)S
      180.20.2
      2130.3250.525
      350.1250.65
      4100.250.9
      510.0250.925
      6000.925
      720.050.975
      810.0251

      表 4  第2个聚类中心的计算

      Table 4.  Calculation of the second clustering center

      表中S表示P(x)的累加值,S被用于通过轮盘法选择出下一个聚类中心。轮盘法的具体执行过程包括:随机产生一个[0,1]内的随机数,根据S的不同取值把[0,1]划分为若干个小区间,判断该随机数所处的具体区间,该区间所对应的元素即被选作下一个聚类中心。在本例中,区间被划分为[0,0.2),[0.2,0.525),…,[0.975,1],如果产生的随机数为0.3,那么该随机数落入[0.2,0.525)区间,据此2号被选作下一个聚类中心。根据S的取值可以发现,第2个初始聚类中心为1号、2号、3号、4号之一的概率为0.9,这4个点恰为距离第一个初始聚类中心较远的点,这也验证了K-means++算法的思想,即距离已有聚类中心更远的点有更高的概率被选作下一个聚类中心。使用轮盘法重复以上步骤,生成所需的全部k个初始聚类中心。

      K-means++算法解决了这个问题,即便考试难度存在一定的差异,也能从考试数据中挖掘出不同类型的学生。由于K-means++算法要求输入目标聚类个数,结合传统成绩判定方法,在避免产生无用聚类结果的基础上,将目标聚类个数设置为4,即k=4。K-means++算法对离散数学课程进行聚类,得到的最终聚类中心结果如表5所示。

      TypeStandardized test scoresStandardized regular scores
      First0.98620.8824
      Second0.95980.7149
      Third0.94220.4379
      Fourth0.60000.5975

      表 5  离散数学课程最终聚类中心

      Table 5.  Final clustering center ofdiscrete mathematics

      表5可以看出,第1类学生考试成绩和平时成绩表现都很出色;第2类学生考试成绩表现良好,但平时的表现较为普通;第3类学生考试成绩表现良好,但平时表现尤为糟糕;第4类学生考试成绩和平时成绩在及格线附近徘徊,表现欠佳。

      分析以上聚类结果,可以发现本课程各类学生的学习特点,从而得到有助于教师提高教学质量的结论:

      (1)第1类学生熟练掌握课程知识,平时表现优异,最终取得了非常理想的成绩。

      (2)第2类学生与第1类学生相比,对课程的掌握程度相差不大,但平时成绩表现一般,可能是由于存在一定程度的缺勤、未交作业或实验完成效果不佳等情况,这些学生需要在平时的课程学习中加强自律性,提高对自己的要求。

      (3)第3类学生考试成绩表现良好,但平时成绩非常糟糕,其原因可能是考前通过高强度复习所以取得了不错的成绩,但平时可能存在比较严重的旷课、不交作业、不完成实验等情况,造成总成绩远低于考试成绩。

      (4)第4类学生考试成绩和平时成绩均表现较差,对课程知识的掌握程度较低,这可能是由于平时没有认真学习课程内容或是学生学习能力较差所导致。

      综上所述,教师在教授课程时需要重点关注第3类、第4类学生的平时表现,他们容易存在学习态度不端正的情况。第4类学生中可能存在部分学生学习能力较差,这一部分学生需要在平时的课程中鼓励其多向教师和同学提问,以尽快理解不懂的知识点,同时勤能补拙,这一部分学生平时的学习过程中需要多花一些时间。

      此外,通过对上述关联规则的分析,可以进一步总结出有助于管理人员决策的结论:

      (1)在新生和大二学生的培训课程中安排大学英语、汇编语言、线性代数、概率论和数字逻辑更为合理,这可以帮助学生为后续课程的专业知识打下坚实的基础。

      (2)由于微机原理、计算机英语和计算机操作系统的课程内容比较全面,因此对于一些学习能力较差的学生来说是困难的。 因此,这些课程更适合大三学生。

    • 各大高校在长期的教学活动中积累了海量的教学数据,如何从这些数据中发现有用的结论具有十分重要的现实意义。随着计算机技术的不断发展,可以通过数据挖掘技术帮助教师发现教学中可能存在的问题,从而及时改进教学方式,进一步提高课程教学质量,培养高质量人才,推动高校向更高水平发展。本文首先对课程评价系统的需求进行分析,系统主要功能包括:数据采集、报表生成与下载、数据分析与决策支持功能;然后完成了课程评价系统的总体架构设计和数据库设计,并基于Python语言进行了系统实现;最后对课程成绩数据使用FP-growth算法进行关联规则分析,使用K-means++算法进行聚类分析,得到了有助于提高教学质量的决策支持依据,为教师及专业责任教授提供了持续改进的参考依据,为学生提供更精细化和个性化服务,有效提高学生成绩。

(4)  表(5) 参考文献 (12)

目录

    /

    返回文章