龙源期刊网 http://www.qikan.com.cn
基于PYTHON的聚类算法在教学评价中应用研究
作者:张学义
来源:《电脑知识与技术》2018年第21期
摘要:在研究聚类基本原理及相应算法的基础上,着重分析了K-means聚类算法,利用《大学计算机》课程考试成绩,采用PYTHON语言,编写搭建基于K-means聚类算法程序在学生考试成绩数据集上进行聚类应用,给出实验结果,得到一些有趣的实验结果数据。 关键词:聚类;K-means;教学评价
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)21-0151-02 Abstract: In the study of clustering, on the basis of basic principle and the corresponding algorithm, this paper analyzes the K means clustering algorithm, using the university computer course examination results, using the PYTHON language, write structures based on K - means clustering algorithm program in the student's score on the test data set clustering on the application, the experimental results are given, obtain some interesting results data. Key words: cluster; k-means; teaching evaluation 1 背景
教师评价是“十三五”教育规划需要改进的一项内容,教师评价从德、勤、能、绩、效五个方面提出可操作的量化评价标准是一个系统性的工程,而探索建立教师教育质量评估无疑是对教师评价涉及能、绩、效的主要内容。随着信息化社会的不断发展,在以县或市级统考的基础上进行集体的网上评阅卷成为可能及事实,由此就有了学生答卷得失分的更进一步的细节性数据信息,而非传统只有总分这样单一的呈现模式,为进一步采用现在基于数据的机器学习——聚类方法对同类教师进行聚类分析提供了可能。从而可开展针对聚类后的同类教师进行教学研讨、培训,以有的放矢地提升教师教学能力。本研究以《大学计算机》课程无纸化考试成绩为例开展对教师教学进行评价研究。对小学、初、高中教育开展同类研究有借鉴作用。 2 机器学习及其聚类算法 2.1 机器学习及相关技术
机器学习是一门既“古老”又“兴”的计算机科学技术,早在计算机发明之初,一些科学家就开始构想拥有一台可以具备人类智慧的机器,图灵在1950年发表的论文《计算机器与智能》(Computing Machinery Intelligence)[1]中提出了具有开创意义的“图灵测试”(Turing,
龙源期刊网 http://www.qikan.com.cn
Test),用来判断一台计算机是否达到具备人工智能的标准。机器学习的任类种类很多,经典的两类任务有:监督学习和无监督学习。监督学习包括分类问题和回归问题,关注对事物未知表现的预测。无监督学习包括数据降维和聚类问题,倾向于对事物本身特性的分析。 2.2 聚类及其算法。
聚类是依赖于数据的相似性,把相似的数据样本划分为一簇,类别内的数据相似度较大,类别间的数据相似度较小。聚类分析的算法可以分为划分法(Partitioning Methods)、层次法(Hierarchical Methods)、基于密度的方法(density-based methods)、基于网格的方法(grid-based methods)、基于模型的方法(Model-Based Methods)。划分法代表有:K-MEANS算法、K-MEDOIDS算法、CLARANS算法等。层次法的代表有:BIRCH算法、CURE算法、CHAMELEON算法等。网格法代表有:STING算法、CLIQUE算法、WAVE-CLUSTER算法等[2]。数据聚类是无监督学习的主流应用之一,最为经典易用的聚类模型,当属K-Mena算法。
2.3 K-Means算法
K-MEANS算法是输入聚类个数k,以及包含 n个数据对象的数据库,输出满足方差最小标准k个聚类的一种算法。其算法过程如表1。 3 处理的数据及其相关技术 3.1 研究的基础数据
该文研究的实验基础数据来源于学校大学计算机无纸化考试数据及学校教学业务系统导出的数据,主要涉及两张表:表2为学生成绩及得分情况表。表3为由学校教学业务系统导出的教师任课情况表。表中均为部分数据信息且具有真实性。 3.2 python语言
Python 是一门简单易学且功能强大的编程语言。它拥有高效的高级数据结构,能够用简单而又高效的方式进行面向对象编程。Python是免费开源的,这一特性使得大量专业、天才型的编程人员,参与到Python第三方程序库的构建中,如便于向量、矩阵和复杂科学计算的Numpy与scipy ;仿MATLAB样式绘图的Matplotlib ;对数据进行快捷分析和处理的Pandas;包含大量经典机器学习模型的Scikit-learn;以及集成了上述所有第三方程序库的综合实践平台Anaconda,这使得Python在科学领域占据着越来越重要的地位,图1是TIOBE:2017年5月全球编程语言排行榜[3], Python升至第四名,表明Python越来越受欢迎。 4 设计实现与实验结果 4.1 主要的程序代码
龙源期刊网 http://www.qikan.com.cn
程序主要涉及加载必要的开源包库,打开EXECL文档循环读取表数据内容,采用K-Means算法,最后输出结果。主要代码如下: 4.2 针对学生学习的聚类结果
如图2所示,为学生学习考核成绩聚类结果,为避免争议,作保密隐私,计算结果不呈现学生姓名,仅以“16054053013”形式以学号输出,可修改代码“row_name.append(row_data[2:3])”中的取参数为“row_name.append(row_data[1:2])”即可输出便于便识的学生姓名聚类结果,老师可以此为据在各类月测验,章节测验,半期考试等学生知识的掌握作全貌性的掌握,分类指导补差。
4.3 针对教师教学的聚类结果
从图3进行聚类后看出各班学习情况聚为5类,每一位的中心质点为(45.08)、(60.65)、(55.26)、(52.27)、(48.25),是否仅能看出各班学生学习总评情况,而当修改设置输出为任课教师时,如图4;进一步初始设置聚为4类实验结果如图5;设置聚为6类计算结果如图6。
比对数据,发现即便在分得较细,聚为6类的情况下,其中AAA,BBB,CCC,FFF四位老师所任班级均为两个不同班,利用他们所任班级的考核答题成绩分布情况来对其评价,每一位老师均聚在一类。说明教师教学能力对班级的影响起关键性的作用。进一步比对数据,同样也发现FFF老师,他所上的两个班,在即便分得较粗,聚为4类的情况下,以他所任班级的考核答题成绩分布情况来对其评价,会发现FFF老师会分身在两个不同的类中,也能说明教学过程是一个教的学的相互过程,老师不是关键因素,学生的学习动因、基础、班级学风也是影响教学成效的一个关键因素。 5 结束语
教师教学评价是多维度的,涉及教学态度、教案设计、答疑辅导、兴趣激发、因材施教等多方面。评价方式也可有教师自评、同行评价,学生评价,家长评价及领导评价等,而基于学生考核成绩的分类评价虽与素质教育不唯成绩论有所冲突,但无疑是基于数据对教师教学进行聚类评价,值得积极探索。 参考文献:
[1] Turing, Alan M. Computing machinery and intelligence[J]. Mind, 1950: 433-460. [2] 聚类分析[EB/OL].http:
//baike.http://www.cmpx.com.cn//item/è???±???????.