当前位置:文档之家› 基于k—means聚类算法的试卷成绩分析研究

基于k—means聚类算法的试卷成绩分析研究

基于k—means聚类算法的试卷成绩分析研究第39卷第4期2009年7月河南大学(自然科学版)JournalofHenanUniversity(NaturalScience)V o1.39NO.4Ju1.2009基于k—means聚类算法的试卷成绩分析研究谭庆'(洛阳师范学院信息技术学院,河南洛阳471022)摘要:研究_rk-means聚类算法,并将此算法应用于高校学生试卷成绩分析中.首先对数据进行了预处理,然后使用k-means算法,对学生试卷成绩进行分类评价.用所获得的结果指导学生的学习和今后的教学工作.关键词:数据挖掘;聚类;k-means算法;试卷成绩中圈分类号:TP311文献标志码:A文章编号:1003—4978(2009)04—0412—04 AnalysisandResearchofGradesofExaminationPaper BasedonK—meansClusteringAlgorithmTANQing(Acaderny.l,InformationTechnologY,LuoyangNormalUniversity,LuoyangHenan47102 2,China)Abstract:Thispaperresearcheslhekmeansclusteringalgorithmandappliesittotheanalysiso fthegradedataof examinationpaperofhighereducationschoolSstudents.Firstly,itpreprocessesthedatabefor eminingThen,itusesthek—meansalgorithmtoclusterstudentsgradesofexaminationpaperandgivesevaluation.Theobt ained knowledgecanbeappliedintoguidingthesludentsandteachersintreirstudyandteaching. Keywords:datamining;clustering;kmeansalgorithm;gradesofexaminationpaper0引言传统的数据分析方法是统计分析法,该方法只是对事实的验证,描述已经发生的事实,难以发现数据中存在的关系和规律,也难以根据现有的数据预测未来的发展趋势.由于它缺乏挖掘数据背后知识的手段,因而导致了"数据爆炸但知识贫乏"的现象.面对这一挑战,数据挖掘(DataMining,DM)l和知识发现(KnowledgeDiscoveryinDatabase,KDD)技术应运而生,并逐渐显示出了强大的生命力.在高校中,考试成绩是评估教学质量的重要依据』,也是评估学生是否掌握好所学知识的重要方式.试卷分析是考试过程的一个重要环节.聚类是深层次的数据信息分析方法,将聚类们技术应用于试卷成绩分析无疑是非常有益的,它可以全面地分析考试结果与各种因素之问隐藏的内在联系【.1k—means聚类算法给定一个包含个数据对象的数据集,以及要生成的簇的数目是,一个划分类的算法将数据对象组织成k个划分(是≤),其中每个划分代表一个簇.通常会采用一个划分准则(经常称为相似度函数),例如距离,以便在同一个簇中的对象是"相似的",而不同簇中的对象是"相异的".最着名且最常用的基于划分的方法是k—means算法.k—means算法的处理流程是:首先随机地选择k个对象,每个对象代表一个簇的初始均值或中心.对剩余的每个对象,根据其与各个簇均值的距离,将它指派到最相似的簇.然后计算每个簇的新均值.这个过程不断重复,直到准则函数收敛. 收稿日期:2008—123O基金项目:河南省科技攻关资助项F1(0524220059)作者简介:谭J灭(1977一),男,河南洛阳人,讲师,硕士.主要研究方向:数据挖掘和程』设计谭庆:基于kTmeans聚类算法的试卷成绩分析研究413通常k—means算法的准则函数采用平方误差准则,定义为:E一>:>:...,I一ml.(1)''一'— (i)其中E是数据集中所有对象的平方误差的总和,是给定的数据对象,m是簇c的平均值(p和m都是多维的).这个准则的作用是使生成的簇尽可能地紧凑和独立.对处理大型数据集而言,k—means算法是相对可伸缩的和高效的,因为算法的复杂度为0(ntk),并且是和t通常都远远小于.这里是数据对象的个数,k是簇的个数,t是迭代的次数.2基于k—means聚类算法的试卷成绩分析目前,在高校管理中,特别是对学生的试卷管理工作中,普遍存在的问题是学生试卷成绩数据量过于庞大,但目前对这些数据的处理还停留在初级的数据备份,查询及简单统计阶段.对于学生取得这些成绩的原因往往无法了解,使得这些数据还不能发挥它应有的作用.如何利用这些数据理性地分析教学中各方面的成效得失以及找到有关影响学生学习成绩的因素是广大教师们共同关心的问题. 聚类是深层次的数据信息分析方法.将聚类技术应用于对试卷成绩的分析无疑是非常有益的,它可以全面地分析考试结果与各种因素之间隐藏的内在联系.通过聚类分析,其评价结果能给教学带来前所未有的收获和惊喜.本文着重讨论了k—means聚类算法在试卷成绩数据中的应用,得出一些有趣的知识,对教学质量的提高起到积极的促进作用,以此来帮助教学工作的顺利进行.学生试卷成绩的划分类别分析评价属于聚类数据挖掘.选用的模型是典型的划分方法k—means算法模型,无需高昂的代价收集和标记大量训练元组集或模式.首先,基于数据的相似性把数据集合划分成组,然后给这些数量相对较少的组指定标号.这种基于聚类的过程的另一个优点是可以适应变化,并且能够挑选出区分不同组的有用特征.2.1数据预处理数据的预处理是数据挖掘过程中一个非常重要的环节,一般需要占去挖掘过程中7O的工作量.经验表明,如果数据准备工作做得非常细致,在模型建立阶段就会节省大量的精力. 1)数据集成数据集成就是将来自多个数据源的数据合并到一起.本研究中,成绩数据库中包括了学生的平时作业成绩及课程的考试成绩.这个数据库由教师在教学过程中产生.将数据采集得到的多个数据库文件,利用数据库技术生成学生试卷成绩分析基本数据库.随机抽取一个年级学生的一学期的课程(如电路基础,离散数学,数据库,C语言程序设计,马克思主义哲学,英语和体育)的成绩,如表1所示. 为学生学号,k.为电路基础的成绩,k.为离散数学的成绩,k.为数据库的成绩,k为C 语言程序设计的成绩,走.为马克思主义哲学的成绩,为英语的成绩,k为体育的成绩.表1学生试卷成绩分析基本数据表Tab.1Basicdatasheetofanalysisofstudentsexaminationpapergrades2)数据清理数据清理的主要工作就是填补遗漏的数据值.在学生试卷成绩分析基本数据库及调查表中我们看b一∞踮‰一∞∞∞∞乜一∞够鹪一∞∞∞n∞踮盯∞∞∞一跗踞一%踮盯略∞一优良良良优良良及良及良123456789OlOOOOOOOOO11OOOOOOOOOOO444444444【lI【【llIII【【Il【__lIIll}}lI!}llOOOOOOOOOOO414河南大学(自然科学版),2009年,第39卷第4期到,有一些我们感兴趣的属性缺少属性值,对于这些空缺,可以使用数据清理技术来填补.有很多种方法可以为属性填写空缺值,比如:忽略元组,人工填写空缺值,使用一个全局常量填充空缺值等.在本例中,采用忽略元组的方法删除退学,休学,转学,没有参加考试或有大量的空缺项的学生的记录.对于其他个别空缺,因为总记录数不算太多,且空缺值较少,采用人工填充的方法处理.填充原则是使用该记录其他属性的平均值填充此空缺值.经过数据清理后,总记录数为146条.3)数据转换数据转换主要是对数据进行规格化操作,将数据变成统一的格式,以适合数据挖掘.在对学生试卷成绩进行聚类分析挖掘时,需要数值型数据,所以应把学生试卷成绩表的数据转换成数值型按通常的百分制表示.因为电路基础课程评的是等级分,所以将"优"转换为"90","良"转换为"80","中"转换为"70","及"转换为"6O","差"转换为"0".其他课程本身就使用百分制,无需再转换.接下来采用最小一最大规范化方法将百分制成绩规范化到[0,1]上.将表1转化为聚类算法便于处理的格式,如表2所示.表2聚类分析数据表Tab.2Datasheetofclusteringanalysis2.2k—means聚类算法的应用与结果分析本文实验环境是P42.4GHz,512MB内存,WindowsXP专业版操作系统.k—means 聚类算法在VisualC++6.0环境下用C++语言实现.将表2中总共146条记录作为k—means聚类分析的数据,给定聚类数为3.运行k—means算法程序后,将146条记录聚类成3簇,最后各簇均值数据如表3所示.表3各簇均值数据表Tab.3Datasheetofeveryclustersmean通过对实验结果的分析可以得出,簇1中的学生都是考试成绩较好的,簇2中的学生考试成绩较低,簇3中的学生考试成绩介于簇1和簇2之间.簇1中包含51条记录,占总数的35;簇2中包含34条记录,占总数的23;簇3中包含6】条记录,占总数的42%.也就是说,约有35的学生考试成绩较好,约有42的学生考试成绩中等,约有23的学生考试成绩较差.较差的学生比例有些高,在今后教学中,要更加关注簇2中的学生,帮助他们提高学习成绩.簇2均值中的k.值为0,说明电路基础课程得到最低分的学生都在此簇中.另外也说明电路基础课程评为等级分不够合理,这样最低等级分的学生k值都会为0.在今后的教学中,电路基础课程应采用百分制,这样才能更好地,比较精确地打分.簇1均值中的k.一是的值在3个簇的均值中都是最高的,但尼的值却是3个簇的均值中最低的.这说明簇1中的学生除体育外的其他课程成绩都较好,但体育成绩较差.在今后教学中,应注意督促那些成绩较好的学生上好体育课,多参加课外活动,多锻炼身体.谭庆:基于k—means聚类算法的试卷成绩分析研究4153结束语本文研究了k—means聚类算法,并将此算法应用于试卷成绩分析中.首先对数据进行了预处理,然后使用k—means算法,对学生试卷成绩进行划分类别分析评价.针对不同类别的学生,提出了相应的教学建议,指导学生的学习和今后的教学工作.参考文献:[1]uMFayyad,GPiatesky—Shapiro,PSmyth.Fromdataminingtoknowledgediscovery:Anoverviewqdvancesinknow ledgediscoveryanddatamining[R].Califonia:AAAI/MITPress,1996.[2]JainAK,MurtyMN,FlynnPJ.Dataclustering:Asurvey[J].ACMComput.Surv.,1999(31 ):264—323.[3]JinHanjun,WangXiaorong,WangYanlin,eta1.Studyandapplicationofgeneticalgorith mincomputertestconstruction[c]//ProceedingsofISCIT,2005[c].Beijing:BeijingUniversityofPostsandTelecommunica tionsPress,2005.[4]HanJiawei,MichelineKamber.数据挖掘概念与技术[M].2版.北京:机械工业出版社,2007.[5]马希荣,孙华志.数据挖掘技术在教学评价中的应用[J].计算机工程与应用,2003(19):5l一54.[6]MehmedKantardzic.数据挖掘——概念,模型,方法和算法[M].北京:清华大学出版社,2003.[7]邵峰晶,于忠清.数据挖掘原理与算法[M].北京:水利水电出版社,2003.责任编辑:党兰学。

相关主题