题目:
本 科 毕 业 设 计(论文)
基于数据挖掘技术的学生成绩分析系统的设计与实现
姓 名 张宇恒 学 院 软件学院 专 业 软件工程 班 级 2010211503 学 号 ******** 班内序号 01 指导教师 牛琨
2014年5月
基于数据挖掘技术的学生成绩分析系统的设计与实现
摘 要
随着科技的不断发展和中国教育制度的日趋完善,各大高校对教务管理工作提出了越来越高的要求。各大高校不再满足于传统的成绩管理方式,开始运用数据挖掘领域的先进方法对学生成绩进行分析和研究。教务工作人员使用关联规则挖掘算法分析课程间的内在联系,可为学校的改进教学工作提供依据,并为学生的选课和学业规划提供指导;对学生进行分类,让学生能够对自己在校期间所学课程的成绩有一个全面而清晰的了解,方便学生扬长避短选择选修课程,及时对可能在学习上遇到困难的学生进行预警;运用聚类算法对学生进行聚类,找出具有共同特征的学生,并对不同学生群体分别采取不同的教学方法,初步体现因材施教的教育理念,最终探索出适合中国国情和教育制度的个性化培养模式。
本系统采用Eclipse作为开发平台,以Java作为开发语言。通过对高校学生成绩分析系统的需求分析,本系统设计实现了可以使用关联规则挖掘算法分析课程间的内在联系,使用分类算法对学生进行分类,使用聚类算法对学生进行聚类。希望本系统能对今后高校学生成绩分析系统的开发提供一定的参考价值。
关键词 成绩分析 关联规则 分类 聚类
Design and implementation of student achievement analysis
system based on data mining technology
ABSTRACT
With the continuous development of technology and the Chinese education system maturing, Universities have put higher requirements to their academic administration. Universities are no longer satisfied with traditional performance management, began to apply advanced data mining methods to analyze and study students’ achievement. Staff of academic affairs use association rule mining algorithm to analysis intrinsic link between courses, which can provide the basis for improving the teaching of the school and guidance for the student's enrollment and academic planning. Using classification algorithm to classify the students, so that students can have a clear understanding in their academic performance, and facilitate students in selecting courses. Warning students who probably face difficulties in the academic. Using clustering algorithm to cluster the students to identify students with common characteristics, so that teachers can teach different students in different way, embodies the concept of individualized education, finally discover a personalized education model, which is suitable for China's national conditions and education system.
The system was developed in Eclipse, with java as a development language. By analyzing the need of student achievement analysis system, this system uses association rule mining algorithm to analysis intrinsic link between courses, uses classification algorithm to classify the students, uses clustering algorithm to cluster the students to identify students. I hope this system can provide some reference value to the future development of college students’ achievement analysis system.
KEY WORDS achievement analysis association rules classification clustering
目录
第一章 引言 ........................................................................................................................................................ 1 1.1 选题的背景和意义 ................................................................................................................................... 1 1.2 个性化培养的重要意义 ........................................................................................................................... 1 1.3 国内外个性化培养的现状 ....................................................................................................................... 2 1.3.1 国外个性化培养现状 ...................................................................................................................... 2 1.3.2 国内个性化培养现状 ...................................................................................................................... 3 1.4 成绩分析系统的现状和存在的问题........................................................................................................ 3 1.4.1 成绩分析系统开发使用的现状 ....................................................................................................... 3 1.4.2 成绩分析系统建设存在的问题 ....................................................................................................... 4 第二章 相关技术................................................................................................................................................. 4 2.1 相关数据挖掘知识理论 ........................................................................................................................... 4 2.1.1 数据挖掘 .......................................................................................................................................... 4 2.1.2 关联规则 .......................................................................................................................................... 5 2.1.3 分类 .................................................................................................................................................. 6 2.1.4 聚类 .................................................................................................................................................. 6 2.2 开发工具的选择 ....................................................................................................................................... 7 2.2.1 Eclipse简介...................................................................................................................................... 7 2.2.2 Eclipse的优势 .................................................................................................................................. 7 第三章 系统分析................................................................................................................................................. 8 3.1 软件过程模型 ........................................................................................................................................... 8 3.2 需求分析 ................................................................................................................................................... 9 3.2.1 用例图 .............................................................................................................................................. 9 3.2.2 需求的结构化描述 ........................................................................................................................ 10 第四章 系统设计与实现 ................................................................................................................................... 14 4.1 系统概要设计 ......................................................................................................................................... 14 4.1.1 系统体系结构 ................................................................................................................................ 14 4.1.2 系统数据结构 ................................................................................................................................ 15 4.2 系统详细设计 ......................................................................................................................................... 16 4.2.1 文件导入数据 ................................................................................................................................ 16 4.2.2 数据预处理 .................................................................................................................................... 16 4.2.3 关联规则 ........................................................................................................................................ 18 4.2.4 分类 ................................................................................................................................................ 19 4.2.5 聚类 ................................................................................................................................................ 20 4.2.6 导出文件 ........................................................................................................................................ 22 4.3 系统实现 ................................................................................................................................................. 23 4.3.1 文件导入数据 ................................................................................................................................ 23 4.3.2 数据预处理 .................................................................................................................................... 23 4.3.3 关联规则 ........................................................................................................................................ 23 4.3.4 分类 ................................................................................................................................................ 24
I
4.3.5 聚类 ................................................................................................................................................ 24 4.3.6 导出文件 ........................................................................................................................................ 25 4.4 系统应用 ................................................................................................................................................. 26 第五章 结论 ...................................................................................................................................................... 30 参考文献 .............................................................................................................................................................. 31 致 谢 .................................................................................................................................................................. 32
II
北京邮电大学本科毕业设计(论文)
第一章 引言
1.1 选题的背景和意义
进入新世纪以来,我国的高等教育事业正在快速发展,各个领域的重大科研成果不断涌现,各知名院校的国际排名和知名度也不断攀升。然而在这些光鲜靓丽的学术成果之下,各大高校对学生的管理工作却并没有跟上时代的步伐。其实对于给大高校来说,学生的考试成绩是一笔非常宝贵的财富。学生的成绩是反映学校教学水平的最直接的第一手资料,这些数据可以为学校改进招生和教学工作提供重要依据。然而,学生成绩的管理工作并没有引起高校足够的重视,尤其是在对学生成绩的分析处理方面,绝大部分高校还停留在较为原始的数据库管理和查询阶段,没有对学生的成绩进行横向和纵向的对比研究,也缺乏对各学科之间成绩内在联系的挖掘。
学科成绩间的内在联系是广泛存在于各个专业的各门课程中的,学科成绩间内在联系的分析和研究对对学生和学校都有着十分重要的意义。通过了解学科成绩间存在的内在联系,学生可以清楚地认识到基础课程、先导课程的重要性,并且在选择选修课的时候,做到扬长避短,通过更多地选择与自己优势课程成绩正相关的课程来帮助提高成绩。而对于学校来说,分析学科成绩间的内在联系可以为各个专业的课程设置提供重要的参考依据。在教务工作人员进行排课工作时,可参考对往届学生成绩的分析结果来调整课程的排布顺序,达到不断优化课程设置的目的。
个性化培养和发展是当今高等教育发展的主流方向,以往填鸭式、工厂式的教学方式已经被先进的教育理念所替代,而中国教育制度中流水线式的培养模式一直是一个被广泛诟病、急需解决的问题。在这一方面,我们可以借鉴发达国家的先进经验,结合我国高等教育发展现状,探索并逐步建立由中国特色的、适合我国国情的个性化培养体系。目前可以通过对学生的成绩进行挖掘和分析,对学生进行分群,为具有一定共同特征的学生制定个性化培养方案。
基于上述情况,本题目以完善高校培养制度和制定学生个性化培养方案为背景,通过运用数据挖掘及相关专业技术,设计并实现学生成绩分析系统。
1.2 个性化培养的重要意义
个性化培养其实并不是一个新颖的概念,2000多年前,我国著名教育家孔子就提出了因材施教的教育理念,并且身体力行地用因材施教的方法教育自己的弟子。在2000多年后的今天,多元化人才培养是高等教育发展的必然趋势。个性化培养不仅是实现多元化人才培养最重要的方式,更是我国建立创新型国家战略对高等教育提出的必然需
1
北京邮电大学本科毕业设计(论文)
求。只有摒弃传统的流水线式培养模式,在高等院校中全面推行个性化培养,我国高等教育才能真正完成人才培养方式的革命。
(1)个性化培养是高等教育发展的现实需要
个性化教育,是社会对大学生的预期变化的结果。在当今时代,社会要求每个人都能发挥自己独特而不可替代的作用,教育的使命也悄然转变为激发每一名学生的内在潜能。在高等院校推行个性化教育是中国高等教育的发展方向,更是世界大多数国家的共识。随着大学的扩招,原本曲高和寡的高等教育已经走进了普罗大众的生活。但是大众化的高等教育不等于流水线式的培养,相反普及高等教育的意义正在于让更多的人进入大学,按照自己的兴趣和自身特点选择专业进行学习,成为独特的人才。
(2)个性化培养是创新型国家战略的必然要求
2006年,国家制定了建设创新型国家的重大决策。增强自主创新能力是建设创新型国家战略中最重要的一环,而作为高端人才培养基地的众多高等院校毫无疑问成为了自主创新的排头兵。受制于特殊的国情和几千年的科举传统,我国目前的教育模式仍然是以死记硬背为主要学习手段,以分数作为评价学生优劣的主要甚至是唯一标准。在这种教育模式中培养出来的学生中,相当一部分是与社会脱节的、毫无创新能力可言的“考试机器”。现有的人才培养模式明显滞后于经济社会的发展,更是与建设创新型国家战略相违背的。只有立即转变人才培养模式,真正实现以人为本的个性化培养,才能使高等院校成为培养创新型人才的土壤。因此,以培养多元化人才为主导的个性化培养模式是我国高等教育发展的必然趋势。
1.3 国内外个性化培养的现状
1.3.1 国外个性化培养现状
随着高等教育的不断发展,在发达国家学生个性化发展的理念已经深入人心。其中高等教育最为发达同时也是中国留学生首选目的地的美国毫无疑问走在了世界的前列。以常青藤联盟为代表的美国知名大学在新生录取时并不会给新生确定专业,而是根据学生的意愿将学生分进不同的基础学院,允许学生在学院内自由地选择课程。在完成一到两年的基础学习后,学生可以根据所学的课程和个人兴趣爱好自由选择自己的专业。这是一种非常人性化的人才培养模式。学生在入学时往往对自己所选择的专业并不十分了解,有的甚至是一无所知,仅凭一时兴起做出了选择。在这种情况下确定学生的专业显然不是最合理选择的。当学生完成了一段时间的学习后,无论是对所学的专业,还是对自身的学术能力和兴趣爱好都有了一个更深层次的认识。在这个时候学生对专业的选择往往会更加理性,这无论对学生还是对学校来说都是大有裨益的。
而国际知名的布朗大学更是敢为天下先地取消了必修课制度,学生可以完全根据
2
北京邮电大学本科毕业设计(论文)
自己的兴趣选择学校提供的任何课程,修满学校要求的学分后即可毕业。学校根据学生选择的课程来给学生颁发不同专业的毕业证书。布朗大学认为:没有人会告诉学生应该上什么课或怎样做,只要有兴趣,学生可以自由的发展。但是这种教学模式一度受到了美国教育界的广泛非议。相比布朗大学,其他常青藤盟校显得保守了许多,或是设置了一些必修课,或是对学生可以选择的课程做出了一系列规定,总而言之,布朗大学超前的教育理念并没有被其他大学所广泛接受。 1.3.2 国内个性化培养现状
国内的高等院校仍然遵循着传统的人才培养模式,在当今的时代中已经暴露出了诸如学科专业结构的设置缺乏整体思考、缺少系统设计;课程体系不够综合、开设比例不够合理;考核评价体系知识记忆、轻创新实践等方面的问题。在高校中探索并发展个性化培养模式已经成为了绝大多数教育界人士的共识。相比较国外已经比较成熟的个性化培养方案而言,国内的个性化培养方案尚处在起步摸索阶段,绝大多数国内高校的课程设置都已必修课程为主,辅以少量与专业相关的选修课程供学生选择,离真正的个性化培养还有比较大的差距。学生的专业也都是在招生是就已经确定了,为学生提供的更改专业的机会也比较少,与高等教育比较发达的国家还有较大差距。
1.4 成绩分析系统的现状和存在的问题
1.4.1 成绩分析系统开发使用的现状
对于高校来说,教务管理是他的核心工作之一,而成绩分析能力的高低是衡量教务管理水平的一个关键指标。教务管理的水平对高校教学水平的进步和发展有着至关重要的意义。在当今社会,随着教育改革的逐步深入,和科学技术的发展 社会对高校的成绩分析管理提出了许多新的要求,“规范化、信息化、网络化”是学校教学管理的必然选择。建立并应用一套优秀的成绩分析系统是提升教务管理水平的关键所在。
目前,各高校普遍建立了教务信息管理系统,其中很多高校还根据自身需求建有成绩分析系统。此类系统一般采用关系型数据模型, 数据库中主要包括学生的姓名、学号、专业、考试成绩的个人信息。而每个信息又与其它信息相关联,形成了庞大的、涵盖整个教务管理过程的数据信息网。教务管理信息系统实现了教务信息的集中管理、分散操作、信息共享,使传统的教务管理向数字化、无纸化、智能化、综合化及多元化的方向发展。借助现代信息技术,不同形式的成绩分析系统正在利用网络优势实现资源的共享、权限的信息录入、查询及修改等,改变了传统教务管理模式下信息数据层层传达及存储的模式,提高了信息的实效性,实现了真正意义上的信息交换与互动。
3
北京邮电大学本科毕业设计(论文)
1.4.2 成绩分析系统建设存在的问题
然而需要正视的是,我国高校的学生成绩分析系统仍然存在着一定问题,主要表现在:
(1) 功能需求不明确,设计不尽完善
各所高校间教务管理的流程有所不同,教务管理人员如何根据自身学校的特点建立成绩分析系统是一个具有普遍性问题。目前建成的成绩分析系统,大多都没有严格遵循软件项目开发流程,对功能需求的分析做的不够彻底,设计也不够完善,难以达到理想的效果。其中一个最主要的原因是使用者和设计者没能进行充分的沟通,设计人员对教务管理流程并不熟悉,和教学效果体现的理解也不透彻,使得现今的成绩分析系统大多不尽如人意。
(2) 没有运用数据挖掘技术对成绩进行分析
当今大部分高校对学生成绩管理的理解还停留在较为原始的数据库管理和查询阶段,对学生成绩的分析多以简单地求平均分、中位数、计算方差和标准差、统计优秀率及格率等方式进行。对于很多教务工作者来说,数据挖掘技术是一个更多的运用在商业领域的、离教务管理很遥远的东西。其实在美国等发达国家,数据挖掘技术早已走进了教务工作,成为了教务工作人员对学生成绩进行分析的重要手段。有一些名校甚至拥有一支数据挖掘技术方面的专业团队来对学生成绩进行分析。这些专业的分析结果不仅为学校改进教学工作提供了重要的参考依据,也为学生选择选修课和今后的发展方向提供了极大的便利。
第二章 相关技术
2.1 相关数据挖掘知识理论
2.1.1 数据挖掘
数据挖掘(Data mining),又译为资料探勘、数据采矿。它是数据库知识发现(Knowledge-Discovery in Databases, KDD)中的一个步骤。数据挖掘一般是指从大量的数据中通过算法搜索隐藏于其中信息的过程。数据挖掘通常与计算机科学有关,并通过统计、在线分析处理、情报检索、机器学习、专家系统(依靠过去的经验法则)和模式识别等诸多方法来实现上述目标。
数据挖掘是目前人工智能技术和数据库领域的研究前沿。数据挖掘是指从海量数
4
北京邮电大学本科毕业设计(论文)
据中发现出隐含在表象之下的、不为人所知的并有一定价值的信息的过程。数据挖掘的实质是一种决策支持过程,它主要基于人工智能、模式识别、统计学等相关技术,分析规模庞大的数据,从中找出某种规律并做出归纳性的推理,帮助决策者提高决策的准确性。
数据准备、寻找规律和规律表示是数据挖掘的三个基本步骤。数据准备是指从数据源中选取相关的数据并生成可用于数据挖掘工作的数据集;寻找规律是指通过一定方法将数据集中所隐含的规律挖掘出来;规律表示是指以用户容易理解的方式(尤其是那些并不熟悉数据挖掘技术的用户)将挖掘出的规律呈现给用户。数据挖掘有填补缺失值,过滤噪声点、关联规则挖掘、分类、聚类、异常分析等任务。
近年来,“大数据”成为了一个非常流行的词汇,这意味着数据挖掘技术已经进入了我们生活的方方面面。这其中最为主要的原因是我们身处在信息爆炸的时代,全世界每天产生的信息都以指数级增长,我们每天所接触的信息甚至超过几百年前一个人一生所能接触到的信息的总和。如果不对数据进行处理,如此海量的数据对于人类来说就是电子垃圾。通过数据挖掘技术,人们可以将原本无法处理的海量数据转变为有用且有限的信息和知识,充分发挥信息的价值。
2.1.2 关联规则
关联规则是指大量数据中项集之间有趣的关联或相关联系。如果两项或多项属性之间存在关联,那么其中一项的属性就可以依据其他属性值进行预测。关联规则挖掘在数据挖掘中是一个重要的研究课题,一直是业界的研究热点。
“啤酒与尿布”的故事是对关联规则挖掘的生动阐释。世界著名的沃尔玛超市在一次对原始销售数据的分析中意外发现:和尿布一起销售最多的商品竟然是啤酒!按照人们的常规思维,和尿布一起销售的应该是奶粉奶瓶一类的婴儿用品,尿布和啤酒可谓风马牛不相及。但沃尔玛超市的工作人员在运用数据挖掘技术对销售信息进行分析后,成功揭示了 “啤酒与尿布”的内在联系:在美国,很多男士下班之后经常要遵照太太的指示去超市去给孩子购买尿布。而他们其中三到四成的人会在同时为自己购买一些啤酒。若不是借助了数据挖掘技术,很难想象沃尔玛能够在海量的销售信息中发现这一规律。
Apriori算法是一种应用最为广泛的统计关联规则频繁项集的算法,其核心是基于两阶段频集思想的递归算法。在Apriori算法中,所有大于最小支持度的集都称为频繁项集。该算法的基本思想是:首先找出所有的频繁项集,然后由频繁项集产生强关联规则,而这些规则必须同时满足最小支持度和最小置信度。由于采用了递归的方法,Apriori算法有两个主要的缺点:会产生大量的候选集,以及需要对数据进行多次扫描。在数据量大于一定规模时,Apriori算法的时间复杂度会比较惊人。
5
北京邮电大学本科毕业设计(论文)
2.1.3 分类
分类是一种重要的数据分析形式,它提取刻画重要的数据类的模型。这种模型称为分类器,预测分类的类标号。分类可用于预测,从历史数据记录中自动推导出给定数据的推广描述,从而对未来的数据进行类预测。分类具有广泛的应用,例如医疗诊断、信用卡系统的信用分级、图像模式识别等。
决策树算法是一种非常典型的算法。在决策树算法中,首先要对数据进行处理,生成可读的规则和决策树,然后使用决策对其他数据进行分析和判断。从本质上说,决策树算法是通过一系列规则对数据进行分类的过程。决策树算法在20世纪60年代被首次提出,到了70年代末,J Ross Quinlan提出了ID3算法,此算法的目的在于减少树的深度,但是忽略了叶子数目的研究。C4.5算法是其改进算法,在缺值处理、剪枝技术和派生规则等方面作了较大改进。使其既适用于分类问题,又适用于回归问题。构造的决策树是否精度足够高、规模足够小是评价一个决策树算法是否优秀的关键标准。决策树构造可以分为两个步骤。首先是由训练样本集生成决策树的过程。在大多数情况下,训练样本数据集是根据实际需要有历史的、有一定综合程度的,用于数据分析处理的数据集。然后是对决策树的剪枝,其本质是对决策树进行检验和校正的过程,主要方法是用新数据校验决策树生成过程中得出的规则,并将影响准确性的分枝剪除。
2.1.4 聚类
将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。“物以类聚,人以群分”,在自然科学和社会科学中,存在着大量的分类问题。聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法。聚类分析起源于分类学,但是聚类不等于分类。聚类与分类的不同在于,聚类所要求划分的类是未知的。聚类分析内容非常丰富,有系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法、图论聚类法、聚类预报法等。
K-means算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。k个初始类聚类中心点的选取对聚类结果具有较大的影响,因为在该算法第一步中是随机的选取任意k个对象作为初始聚类的中心,初始地代表一个簇。该算法在每次迭代中对数据集中剩余的每个对象,根据其与各个簇中心的距离将每个对象重新赋给最近的簇。当考察完所有数据对象后,一次迭代运算完成,新的聚类中心被计算出来。如果在一次迭代前后,J的值没有发生变化,说明算法已经收敛。
6
北京邮电大学本科毕业设计(论文)
DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一个比较有代表性的基于密度的聚类算法。与划分和层次聚类方法不同,它将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,并可在噪声的空间数据库中发现任意形状的聚类。DBSCAN需要二个参数: 扫描半径和最小包含点数。 任选一个未被访问的点开始,找出与其距离在最小半径之内的所有附近点。如果 附近点的数量大于等于最小包含点数,则当前点与其附近点形成一个簇,并且出发点被标记为已访问。 然后递归,以相同的方法处理该簇内所有未被标记为已访问的点,从而对簇进行扩展。如果 附近点的数量小于最小包含点数,则该点暂时被标记作为噪声点。如果簇充分地被扩展,即簇内的所有点被标记为已访问,然后用同样的算法去处理未被访问的点。
2.2 开发工具的选择
2.2.1 Eclipse简介
Eclipse 是一个开源的、基于Java技术的可扩展开发平台。就Eclipse本身而言,它只是一个框架和一组服务,主要用于通过插件组件构建开发环境。Eclipse 附带了一个标准的插件集,包括Java开发工具(JDK)。虽然对于绝大多数用户来说, Eclipse 只是一个 Java 集成开发环境(IDE),但 Eclipse 的目标却不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于Java开发工具。尽管 Eclipse 是使用Java语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如C/C++、COBOL、PHP等编程语言的插件已经可用,或预计将会推出。Eclipse 框架还可作为与软件开发无关的其他应用程序类型的基础,比如内存管理系统。
2.2.2 Eclipse的优势
Eclipse 是开源软件。这表明Eclipse不仅不收取使用者的任何费用,而且使用者还可以通过研究网络上、尤其是各大编程论坛上公开的源代码进行学习。对于使用者尤其是初学者来说,世界一流软件工程师的代码是一笔非常宝贵的财富,学习他们优秀的编程风格可以帮助初学者迅速提高自己的编程能力。
Eclipse采用插件机制,这意味着Eclipse是真正可扩展并可配置的。对于使用者来说Eclipse就好象一间仓库,你可以随时在仓库里存放任何东西,也可以很方便地将不
7
北京邮电大学本科毕业设计(论文)
再需要的东西从仓库中取出来。在互联网上有大量免收费和免费的插件,使用者可以通过合理使用插件极大地简化编程工作。
虽然绝大多数开发者仅仅把Eclipse作为一个Java开发系统,但实际上Eclipse支持多种类的开发语言。从本质上讲,Eclipse只提供了一个能够扩展系统功能的最小核心,只要安装相应语言的插件,Eclipse就可以支持不同的开发语言。目前,Eclipse已经可以支持C/C++、 COBOL、PHP、Perl、Python等多种语言。这显著降低了多语言程序开发和程序移植的难度。
Eclipse支持多种开发环境,这使得开发者可以选择自己最熟悉的平台来进行开发工作。主流的操作系统都得到了支持,如Windows、MacOS和Linux等。Eclipse对每个平台都有不同的图形工具包,这使得在Eclipse上开发的程序可以最大限度地适应不同开发环境的特性。
Eclipse基于业界领先的OSGi规范。1999年,Sun Microsystems、IBM、爱立信等等公司首先推出了OSGi规范。其服务涵盖:服务网关、汽车、移动电话、工业自动化、建筑物自动化、PDA网格计算、 娱乐、IDE等众多领域。OSGi规范以微内核形式运行,故可以实现热插拔、动态改变行为等软件从业者梦寐以求的功能。从3.1版本开始,Eclipse果断放弃了原本已经获得业界广泛认可的框架,采用OSGi作为其架构。从3.2版本开始,Eclipse提供了基于OSGi开发的支持,开发者可以利用其开发基于OSGi的系统了。
Eclipse堪称业界人机的标杆之作。Eclipse提供了全新的SWT/JFace API界面,全面取代了以往SWT/Swing单调、沉闷的风格。方便使用者开发基于本地的具有丰富图形界面的应用程序,备受广大软件开发工作者的赞誉。。
Eclipse基金会吸收了大量学术研究机构、商业组织,领导Eclipse的长远规划和发展,其先进理念使得Eclipse始终处于业界领先地位。
综合这些原因,我选用了Eclipse作为开发工具。
第三章 系统分析
3.1 软件过程模型
在选择软件过程模型时,首先考虑本系统的需求较为明确且不易发生变更,因此在开发初期选择了瀑布模型作为过程模型。瀑布模型广泛应用于软件项目的开发中,该模型将软件开发过程划分成描述、设计、开发有效性验证等界限分明且独立的过程阶段,适用于需求明确且不易变更的软件项目。但在开发的过程中,由于本人的需求分析能力
8
北京邮电大学本科毕业设计(论文)
有限,对任务书的需求分析工作做得不够充分,需要经常和导师讨论需求,导致需求变更较为频繁,需求分析阶段过分拉长。而且在学院和导师需要经常检查进度的情况下,瀑布模型显然是不适当的,因此改用了增量式开发模型。增量式开发的优点是可以很快开发出一个具有部分功能的、可使用的版本,而且适应需求变更的成本也比较低,比较适合本系统的开发工作。
结合本系统的任务目标和学校的进度要求,我将本系统的开发工作分为4个版本来进行。第一个最初始的版本实现了对数据的预处理和关联规则的挖掘功能。第二个版本即中期检查的版本在第一个版本的基础上实现了分类功能和文件导入数据功能。第三个版本在之前版本的基础上增加了聚类功能,截止到此版本,主要的功能算法已经实现。第四个版本也就是最终的版本,为系统设计了交互界面。 并行活动 描述 版本1 版本2 概要描述 开发 版本3 有效性验证 版本4 图3-1 增量式开发模型图
在系统开发的过程中,描述和开发工作交织在一起。每完成一个模块或一个版本,都会进行有效性验证。通过验证后才会进入下一个模块或版本的开发
3.2 需求分析
3.2.1 用例图
9
北京邮电大学本科毕业设计(论文)
图3-2 系统用例图
系统的使用者——教务管理人员对系统有包括导入文件、数据预处理、关联规则挖掘、分类、聚类和导出文件在内的六大需求
3.2.2 需求的结构化描述
使用结构化自然语言来描述需求,保留了自然语言在表达能力和易懂性方面的优势,让没有专业背景的用户也能比较容易的理解需求;同时也约束了描述的一致性,降低了产生歧义的可能性。
表3-1 文件导入用例 用例1 名称 功能 描述 输入 来源 输出 目的地 行动 文件导入 将数据从文件导入系统中以备各算法调用 将文件中的数据存入系统的数据结构中 学生的姓名,各门课程的成绩 数据文件 学生的姓名,各门课程的成绩 系统的所定义的数据结构 系统为每一个学生初始化一个结构体,分别读取每个学生的姓名和成绩10
北京邮电大学本科毕业设计(论文)
数据,并存储到结构体中对应的成员里 前置条件 后置条件 结构体已被定义,文件内数据的数据类型和顺序合法 数据被完整存入结构体中 此用例属于文件导入需求
表3-2 数据预处理用例 用例2 名称 功能 描述 输入 来源 输出 目的地 行动 数据预处理 对导入系统的学生数据进行预处理 将每门课程的最高分和最低分拉平,并对其他成绩进行等比例缩放 学生各门课程的成绩 结构体 学生各门课程的新成绩 结构体 系统从数据结构中读取全体学生各门课程的成绩,通过算法找出其中的最高分和最低分。分别将其他每一门课程的最高分和最低分乘以一个比例系数,使之与该最高分和最低分相等,并对该门课程内的其他成绩均进行乘以该比例系数的操作。 前置条件 后置条件
表3-3 判断相关性用例 数据已被成功导入结构体中 输出新的学生成绩到结构体中 此用例属于数据预处理需求
用例3 名称 功能 描述 输入 来源 输出 目的地
相关性 计算学生成绩间的相关性 将学生各门功课的成绩转化为每两门课程成绩的相关性 学生各门课程的成绩 结构体 成绩相关课程的序号 关联统计数组 11
北京邮电大学本科毕业设计(论文)
行动 前置条件 后置条件
对比学生每两门课程的成绩,按照一定标准判断成绩是否相关。若相关则将这两门课程的编号输入到相应的数据结构中存储起来 数据预处理完毕 生成课程相关性数据 此用例属于关联规则需求
表3-4 统计频繁项用例 用例4 名称 功能 描述 输入 来源 输出 目的地 行动 前置条件 后置条件
表3-5 判断高风险学生用例 频繁项 找出相关性数据中的频繁项 统计相关性数据中各项的重复次数 课程相关性数据 结构体 成绩相关联的课程 关联规则数组 记录相关性数据中各项的重复次数,用重复次数除以学生数得到每个相关性的置信度,输出大于最小置信度的数据 课程相关性数据已生成 生成关联规则并输出 此用例属于关联规则需求
用例5 名称 功能 描述 输入 来源 输出 目的地 行动 挂科学生 输出挂科风险较高的学生 分析学生现有成绩(平均分,是否挂科),输出挂科风险较高的学生 学生的姓名,各门课程的成绩 结构体 学生的姓名 高风险学生数组 统计学生是否有过挂科经历,计算没有挂科经历学生的平均分,输出有挂科经历和平均分小于一定值的学生 12
北京邮电大学本科毕业设计(论文)
前置条件 后置条件
数据已被成功导入结构体中 学生被成功分类并输出挂科风险较高的学生 此用例属于分类需求
表3-6 判断高风险课程用例 用例6 名称 功能 描述 输入 来源 输出 目的地 行动 前置条件 后置条件 高风险课程 输出挂科风险较高的课程 分析所有课程的挂科风险,输出挂科风险较高的课程 学生各门课程的成绩 结构体 课程名 高风险课程数组 计算所有课程的挂科率,若某课程的挂科率高于一定值,则认定该课程为高风险课程,输出所有高风险课程 数据已被成功导入结构体中 课程被成功分类并输出高风险课程
表3-7 聚类用例 此用例属于分类需求
用例7 名称 功能 描述 输入 来源 输出 目的地 行动 聚类 对学生进行聚类 识别出噪声点,将学生划入不同的簇,输出聚类结果 学生的姓名,各门课程的成绩 结构体 学生各门课程的新成绩 聚类数组 系统依次读取每个学生的信息,通过聚类算法判断其是否为噪声点,对不是噪声点的学生判断其应该被归入哪一个簇,直到所有学生都判断完毕 前置条件
数据已被成功导入结构体中 13
北京邮电大学本科毕业设计(论文)
后置条件
学生被成功聚类并输出聚类结果 此用例属于聚类需求
表3-8 导出文件用例 用例8 名称 功能 描述 输入 来源 输出 目的地 行动 前置条件 后置条件
导出文件 将挖掘结果导出至文件 将各数组中存储的挖掘结果导出至文件 文件地址,挖掘结果 各数组 挖掘结果 文件 系统创建文件,依次读取每个数组内的信息,输出到文件 挖掘结果成功存入数组内 文件成功生成并写入数据 此用例属于导出文件需求
第四章 系统设计与实现
4.1 系统概要设计
4.1.1 系统体系结构
本系统使用容器体系结构。当一个系统需要生成大量数据并持久保存时,一般使用容器体系结构。容器体系结构的优点是各个功能组件是相互独立的,它们无需知道其他组件的存在,在运行时也不会受到其他组件的影响。一个组件的变更可以传播到其他所有的组件,所有数据可以得到一致的管理。具体到本系统来说,采用容器体系结构可以使挖掘结果持久保存,可以比较方便的管理学生信息,各组件之间交互性不强,可避免因一个组件发生错误影响到其他组件的功能。
14
北京邮电大学本科毕业设计(论文)
导入文件 交互器 人机交互 导出文件 数据预处理器 计算最值 计算缩放比例 缩放数据 学生信息 项目容器 关联规则 聚类结果 聚类器 识别噪声点 生成簇 分类结果 图4-1 学生成绩分析系统体系结构图
系统包括导入数据、数据预处理、关联规则、分类和聚类五个组件,组件间相互平行互不干涉。所有组件共享的学生信息和各组件生成的挖掘结果存放在项目容器中,这提高了数据传输的效率。各组件下有若干子功能模块
关联规则挖掘器 分析关联 生成规则 学生分类 分类器 课程分类 4.1.2 系统数据结构
采用结构体数组记录学生信息,每一个结构体代表一个学生。每个结构体内有用字符串数组存储的学生姓名,用一维整数数组存储的学生成绩(若学生成绩保留小数可改用浮点数数组),用整数存储的平均分。还可根据各学校的具体需求加入性别、学号、学院、专业等信息。
采用二维整数数组记录关联规则,二维数组的行数和列数与课程数相等,数组中的每个元素代表其行标和列标所对应的两门课程的关联。
采用一维整数数组记录高风险课程的编号。
采用二维字符串数组记录高风险学生和和聚类结果,每一行对应一名学生。
15
北京邮电大学本科毕业设计(论文)
4.2 系统详细设计
4.2.1 文件导入数据
图4-2 文件导入数据时序图
首先用户将导入数据文件的请求和数据文件的地址发送给openfile,openfile对系统中已经定义的结构体进行初始化。初始化完成后,openfile打开文件并开始从文件中读取数据,并存入结构体中。循环这一过程,直到所有的数据都被存入了结构体中,openfile关闭文件,并向用户输出“成功导入文件”
4.2.2 数据预处理
本系统所采用的数据为大学生各门课程的考试成绩,均为百分制,数据的准确性、完整性、一致性和可信性都比较高,无需涉及填补缺失值和过滤噪声点等处理,数据预处理的工作较为简单。考虑到不同课程间难易程度存在区别和阅卷教师存在主观差异,需对数据做出一定处理。例如全体学生中课程A的最高分为95分,最低分为55分,课程B的最高分为85分,最低分为35分,应对课程A和课程B的成绩进行一定处理,
16
北京邮电大学本科毕业设计(论文)
使得A和B的最高分处在同一成绩区间,最低分也处在同一成绩区间。按照一些教育领域中用百分比(即排名)替代分数来表述成绩是一个可行的办法,但这种方法有其一定的局限性。对于选拔性考试来说,这种办法是非常合理的,因为选拔性考试只按照成绩高低排序择优录取,而无需考虑这些成绩之间差距的大小。但对于本系统涉及到的算法来说,成绩间的差值显然是不能忽略的。若采用排名的方式代替分数表述成绩,在一些特定情况下会对产生较大误差。如某一门课程中,有5名学生得分82分,10名学生得分81分,1名学生得分80分。则得到82分的学生和得到80分的学生之间的相差15个名次,显然远大于两者之间2分的分数差。故对成绩的预处理采用的方法为选取一门课程的最高分和最低分为标准,将其他课程所有学生的成绩等比例放大或缩小,使得所有课程的最高分与最低分一致,消除课程难度的客观因素和阅卷教师的主观因素对成绩的影响。一些国外大学用ABCD的方式取代百分制对学生进行评价,当学生成绩中存在不同评价标准的成绩时,应对成绩进行处理,统一标准。考虑到绝大部分国内大学所有课程均采用百分制对学生进行评价,故本系统不再进行成绩转换功能的开发。
图4-3 数据预处理时序图
用户向pretreatment发出数据预处理请求,pretreatment从结构体中读取学生成绩信息并进行预处理,预处理结束后将新的成绩再存入结构体中
17
北京邮电大学本科毕业设计(论文)
4.2.3 关联规则
关联规则功能模块的关键点有两个,一是用什么样的标准判断两门课程是否存在关联,二是如何挖掘各门课程的关联规则。
对于如何判断两门课程存在关联的问题,从现有的数据来看,用两门课程成绩的接近程度来判断是否存在关联是一个比较合理的方式。判断两门课程的成绩是否接近有等宽和等深两种方式。等宽的方式为将所有学生各门课程的成绩按照一定的宽度分为若干个区间(根据大多数高校的计分制度,本系统按照每10分一个区间将成绩分为10个区间),处在一个成绩区间内的课程即认为成绩足够接近存在关联。但这种判断标准有一定缺陷,在一些特定情况下会产生较大的误差。例如某学生课程A的成绩为91分,课程B的成绩为89分,课程C的成绩为81分。按照等宽的判断标准,课程B和课程C存在关联,课程A与课程B和C均无关联。但是按照我们的常识来讲,毫无疑问课程A和课程B的成绩更为接近,二者仅相差2分,应该认定为存在关联。导致这种现象的原因是衡量两门课程是否接近应该依据两门课程成绩的差值,无需考虑成绩的绝对值。而采用等宽方式判断成绩是否接近的方法无疑会受到成绩绝对值的影响。之后我尝试采用等深的方式判断课程关联,在一定程度上避免绝对值影响判断的问题,但是又带来了新的问题,即如何划定深度。由于各高校在计算考试成绩时无需考虑成绩差值,所以在这方面无经验和先例可循。若采用动态划定深度的方式(即根据每个学生最高分和最低分之间的差值划定不同的深度)可在一定程度上得到比较合理的结果,但此种方法缺乏教育学理论的支持,仅作为参考。综上所述,本系统采取应用较为广泛、能为大多数人所接受的等宽的方式判断两门课程的成绩是否接近。
本系统采用Apriori算法挖掘各门课程的关联规则。Apriori算法是应用最为广泛的挖掘布尔关联规则频繁项集的算法。Apriori算法也有一定的缺陷,主要表现在可能产生大量的候选集,以及可能需要重复扫描数据库。但是对于应用于普通高校的学生成绩分析系统来说,其课程数和学生数都是很有限的,现代高性能计算机可以迅速完成上述工作。因此对于本系统来说,Apriori算法的一些固有缺陷是完全可以接受的。
18
北京邮电大学本科毕业设计(论文)
图4-4 关联规则挖掘时序图
用户向associationrules发出挖掘关联规则请求,associationrules从结构体中读取学生成绩信息并进行分析关联,处理完成后将关联数据存入关联数组,然后统计关联数组中的频繁项,生成关联规则并存入关联规则数组
4.2.4 分类
本系统采用决策树算法来实现分类预测功能,主要预测全体在校学生是否有挂科风险,以及挂科风险比较高的课程。在现有数据条件下,决策树选取该学生已经完成学习的课程中是否有挂科和所有已经完成学习的课程的平均成绩是否低于一个特定值来作为测试属性。如果某学生有过挂科经历,说明该学生在学习态度、学习方法或学习能力方面存在一定问题,那么他在今后学习其他课程的过程中会比其他学生挂科的可能性更
19
北京邮电大学本科毕业设计(论文)
大,这种因果联系符合一般人的认知,因此选择是否有挂科经历作为一个测试属性。若某学生各门课程的成绩较低(平均分低于某一特定值),他显然比其他成绩更好的学生要承担更多的挂科风险,因此选择平均成绩是否低于一个特定值来作为另一个测试属性。
本算法将某一课程以毕业学生的挂科率作为衡量该课程是否为高风险课程的测试属性,将挂科率高于某一特定值的课程作为高风险课程,此参数可由教务工作人员根据本专业的课程难度和生源水平等实际情况进行调整。
图4-5 分类时序图
用户向classify发出分类请求,classify从结构体中读取学生成绩信息并进行分析处理,将高风险学生的姓名存入高风险学生数组中并输出给用户。学生分类完成后,classify对课程进行分析,将高风险课程的名字存入高风险课程数组中并输出给用户
4.2.5 聚类
本系统使用聚类算法对学生进行聚类,根据聚类结果分析学生在校表现和成绩之间的关联性。
K-means算法是数据挖掘领域应用最为广泛的聚类算法,采用距离作为相似性的评
20
北京邮电大学本科毕业设计(论文)
价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。从这些方面来看,K-means算法是比较符合本系统对于聚类算法的要求的。但K-means算法同样有一些固有缺点。首先是K-means算法需要不断地进行样本分类调整,不断地计算调整后的新的聚类中心,因此当数据量非常大时,算法的时间开销是非常大的。不过出于和采用Apriori算法同样的理由,时间复杂度高的缺点可以忽略。其次,在 K-means 算法中 K 是事先给定的,这个 K 值的选定是非常难以估计的。很多时候,事先并不知道给定的数据集应该分成多少个类别才最合适。在本系统中,被聚类的对象是学生,即使对于同一所高校甚至是同一专业的学生来说,学生间的个体差异也是很大的,因此无法事先估算出K值。而且在使用K-means 算法时,首先需要根据初始聚类中心来确定一个初始划分,然后对初始划分进行优化,且初始聚类中心的选择对聚类结果的影响非常大。基于和无法事先估算K值相同的理由,聚类中心也很难在事先做出选择。因此,K-means 算法并不适用于本系统。
DBSCAN算法也是一种应用比较广泛的聚类算法。与K-means 算法相比,DBSCAN算法不需要事先知道要形成的簇类的数量,而且DBSCAN算法可以发现任意形状,显然更加适合本系统的需求。
21
北京邮电大学本科毕业设计(论文)
图4-6 聚类时序图
用户向clustering发出聚类请求,clustering从结构体中读取学生成绩信息并进行分析处理,聚类完成后,将聚类结果存入聚类数组中并输出给用户
4.2.6 导出文件
图4-7 导出文件时序图
首先用户将导出数据至文件的请求和创建文件的地址发送给creatfile,creatfile在指定地址创建文件。创建文件完成后,creatfile依次从存放关联规则、分类结果和聚类结果的数组中读取数据,依次存入文件中。循环这一过程,直到所有的数据都被存入了文件中,向用户输出“成功导出数据至文件”
22
北京邮电大学本科毕业设计(论文)
4.3 系统实现
4.3.1 文件导入数据
图4-8 文件导入数据类图
将文件内的数据存入系统已定义的结构体中,每一个学生对应一个结构体
4.3.2 数据预处理
图4-9 数据预处理类图
通过计算全体学生成绩的最大值和最小值以及各课程成绩的最大值和最小值确定对各课程成绩的缩放比例,并更新成绩数据
4.3.3 关联规则
图4-10 关联规则挖掘类图
创建2个二维数组,1个用来统计课程关联数,1个用来记录关联规则。判断学生成绩是否关联,
23
北京邮电大学本科毕业设计(论文)
若某一名学生的第i门课程和第j门课程的成绩相关,则使课程关联数数组的第『i-1』『j-1』项加1。在全体学生的所有成绩都分析完成后,判断课程关联数数组各项的值是否大于最小支持度。若第『i-1』『j-1』项的值大于最小支持度,则令关联规则数组第『i-1』『j-1』项的值为1
4.3.4 分类
图4-11 分类类图
创建来两个数组,一个用来统计有挂科风险的学生,一个用来统计高风险课程。计算每个学生的平均分并存入结构体中,分析学生的挂科风险,若学生有挂科经历或平均分低于某一特定值,则将其放入数组中。计算每门课程的挂科率,若挂科率大于某一特定值,则将其放入数组中
4.3.5 聚类
图4-12 聚类类图
任选一个未被访问过的点开始,找出与其距离某特定值内的所有附近点,如果附近点的数量大于某一特定值,则当前点与其附近点形成一个簇,并且出发点被标记为已访问。然后递归,以相同的方法处理该簇内所有未被标记为已访问的点,从而对簇进行扩展。如果附近点的数量小于某一特定值,则该点暂时被标记作为噪声点。如果簇充分地被扩展,即簇内的所有点被标记为已访问,然
24
北京邮电大学本科毕业设计(论文)
后用同样的算法去处理未被访问的点。直到所有点都在簇中或被标记为噪声点,将聚类结果输出到数组中
4.3.6 导出文件
图4-13 导出文件类图
将关联规则、分类结果和聚类结果导出到文件
25
北京邮电大学本科毕业设计(论文)
4.4 系统应用
图4-14 欢迎界面
可根据用户具体需求设置不同欢迎文字或登录功能
图4-15 主界面
本系统为学校内部所使用的办公软件,所以并不追求华丽的界面。主界面以简洁为主要诉求,方便用户上手的同时也可加快软件运行速度
26
北京邮电大学本科毕业设计(论文)
图4-16 导入文件
单击导入文件按钮后弹出窗口让用户搜索文件
图4-17 导入文件成功
27
北京邮电大学本科毕业设计(论文)
图4-18 数据预处理
图4-19 输出关联规则
在文本框内输出关联课程,并使用坐标系较为直观地展示课程关联性。XY轴分别为两门课程的成绩,每个点代表一个学生
28
北京邮电大学本科毕业设计(论文)
图4-20 输出分类结果
图4-21 输出聚类结果
29
北京邮电大学本科毕业设计(论文)
第五章 结论
本文主要围绕基于数据挖掘技术的学生成绩管理系统,系统地阐述了系统所涉及的技术知识、领域知识。运用Windows 7作为开发环境,Eclipse作为开发平台,Java作为开发语言。从学生成绩管理系统的实际需求出发,运用关联规则挖掘技术、分类技术、聚类技术和相关编程技术完成了数据挖掘技术的学生成绩管理系统的设计和开发。
本系统拥有简洁直观的界面,可用从文件导入数据,将挖掘结果导出至文件,实现了关联规则挖掘功能,学生分类功能,课程分类功能,学生聚类功能,并且在一定程度上以可视化的方式将挖掘结果直观地呈现给用户。市面上有很多功能强大的的数据挖掘软件都能实现这些功能,甚至还能提供多种算法供用户选择。但对于教务管理工作来说,这些专业软件的功能大大超出了管理和分析学生成绩的需求,这使得软件的大部分功能都成为了冗余功能,是软件的运行速度大打折扣,复杂的界面对于没有数据挖掘背景的教务工作者来说也增加了软件的上手难度。本系统从学生成绩分析系统的实际需求出发,意图用最简洁的界面和最简单的功能满足学生成绩管理工作的需求。
由于本人的算法设计能力和编程能力有限,本系统还有许多可以继续完善的地方。首先,系统的界面虽然简洁直观,但是还不够美观,且人机工程方面也有改进的空间。其次,可视化功能也不够强大,大部分挖掘结果仍然通过文字的方式呈现给用户。算法的合理性也没有得到充分的验证。由于数据真实度有限,目前对挖掘的结果的分析工作做得还不够,无法对算法的合理性作出明确的判断。主要是无法根据挖掘结果对算法中的各种参数进行调整。未来通过分析真实数据的挖掘结果,可对算法的合理性进行深入分析,通过调整各种参数来进一步调整各挖掘算法,使挖掘结果更加合理。此外,还可根据各学院的实际需求加入身份验证、成绩转换等功能,使本系统能适应更多学院的实际情况。我会在今后的学习中进一步学习数据挖掘知识和编程技术,持续改进本系统。
30
北京邮电大学本科毕业设计(论文)
参考文献
1. Han Jiawei, Kamber Micheline.《数据挖掘:概念与技术》.机械工业出版社. 2012 2. 毛国军,段立娟.《数据挖掘原理与算法》.清华大学出版社.2007 3. 韦斯,冯舜玺.《数据结构与算法》.机械工业出版社.2009 4. 朱庆生,古平.《Java程序设计》.清华大学出版社.2011 5. 赵真.《Eclipse开发技术详解》. 化学工业出版社.2010
6. 姚昀.《以个性化教育为导向大学多元化人才培养探析》.中南林业科技大学学报.2012年
03期
7. 鲍俊男.《学生成绩分析系统的设计与实现》.北京工业大学.2012
8. 曾泽林,段明秀.《基于密度的聚类算法DBSCAN的研究与实现》.吉林大学.2012 9. 赵松.《Apriori算法的改进及应用》.哈尔滨理工大学.2006 10. 尹晖.《决策树算法的研究与应用》.兰州大学.2009
31
北京邮电大学本科毕业设计(论文)
致 谢
首先,我要特别感谢我的毕业论文导师牛琨老师。牛琨老师不仅在数据挖掘的技术上给予我很多指导,更用专业严谨的学术态度深深影响了我。其次,我要感谢中期审查组的牛琨老师、王枞老师和李朝晖老师。三位老师对我的中期检查情况提出了宝贵的意见和建议,这为我后续的工作提供了指导。此外,我还要感谢给予我无私帮助的常笑同学、刘茂铭同学和贾晓阳同学。最后,我要感谢所有在毕业设计上帮助过我的人。
32
因篇幅问题不能全部显示,请点此查看更多更全内容