时间:2022-02-03 15:39:41
序论:速发表网结合其深厚的文秘经验,特别为您筛选了11篇数据挖掘课程范文。如果您需要更多原创资料,欢迎随时与我们的客服老师联系,希望您能从中汲取灵感和知识!
【中图分类号】G642 【文献标识码】A 【文章编号】1674-4810(2015)33-0063-02
我们生活在一个信息爆炸的时代,更具体地说我们生活在一个数据爆炸的时代。每天,来自商业、社会、科学、互联网、移动设备等各个领域的数据以爆炸的方式增长着。巨大的数据中蕴藏着重要的信息和知识,因此我们需要强大和通用的工具,从海量的数据中发现这些有价值的信息,把数据转化为知识,因此导致了数据挖掘的诞生。“数据挖掘是从大量数据中挖掘有趣模式和知识的过程。数据源包括数据库、数据仓库、Web、其他信息存储库或动态地流入系统的数据。”
随着越来越多的企事业单位认识到数据挖掘的重要性,对数据挖掘人才的需要近两年也呈现快速增长的态势,大数据分析师更是被媒体称为“未来最具发展潜力的职业之一”。因此很多高校开设了数据挖掘课程。通过本课程的学习,使学生了解数据挖掘技术的整体概貌,了解数据挖掘技术的主要应用及当前的研究热点问题,了解数据挖掘技术的发展方向,掌握最基本的概念、算法原理和技术方法,培养学生应用数据挖掘解决实际问题的能力。本文分析了在本科阶段开设数据挖掘课程的特点,阐述了教学内容和教学方法,对数据挖掘课程教学进行了新的思考和探索
一 数据挖掘课程特点
1.大数据背景
“大数据”成为近年来比较热门的词语,同时也反映数据的爆炸式增长给我们带来的机遇和挑战。大数据在维基百科上的解释是:大数据是由数量巨大、结构复杂、类型众多数据构成的数据集合,是基于云计算的数据处理与应用模式,通过数据的整合共享,交叉复用形成的智力资源和知识服务能力。大数据的四个特征是:数据量浩大;模态繁多、异构;生成快速;价值巨大。“大数据”分析的需求导致了数据挖掘的产生,也同时给数据挖掘带来了巨大的发展前景。
2.学科发展快,内容丰富
数据挖掘出现于20世纪80年代后期,90年代之后开始突飞猛进的发展,新的和改进的算法不断出现,所考察的数据类型日趋丰富,应用领域逐渐扩大。比如数据类型,有流、序列、图、时间序列、生物序列、空间、音频、图像和视频数据等。数据挖掘的模型和算法丰富,比如关联规则的挖掘有Apriori算法,分类规则的挖掘有决策树、神经元网络、朴素贝叶斯、支持向量机等,聚类规则挖掘,时间序列挖掘等。
3.学科交叉,难度大
数据挖掘课程作为一门多学科交叉的专业课程,涉及的学科较多。如统计学,多元统计学,时间序列,统计推断等;机器学习中的监督学习、无监督学习、半监督学习、主动学习等;数据库系统和数据仓库、计算机软件编程和开发、Web搜索引擎。众多的学科交叉增加了课程的教学难度,因此需要合理地规划课程内容和重点,循序渐进地展开教学内容。
二 教学探索
1.课程内容体系
数据挖掘是一门多学科交叉的前沿学科,它结合了数据库技术、统计学、机器学习、知识系统、信息检索、高性能计算和可视化等多问学科的知识。然而在目前的大学课程体系中,很难在有限的时间内开设这些课程。
――――――――――――――――――――――――
* 韩山师范学院2014年校级优质网络课程――数学模型资助项目,通讯作者:李承耕
特别是对于数学与统计学院的学生,数学基础理论比较好,但是在数据库技术、计算机软件算法和编程方面比较薄弱,大部分的同学没有编程经验和数据处理分析能力。针对这些问题,我们数据挖掘课程的授课对象为大三或大四应用型专业的学生,并在前期课程中开设数学分析、高等代数、概率与统计、多元统计学等数学类课程,同时开设c语言、java语言、数值分析、数据库原理等计算机课程,这些课程的开设为数据挖掘授课打下了必要的理论基础。
数据挖掘的内容丰富,包含的知识点很多,我们构建了课程的核心知识结构。核心知识为三部分:(1)数据预处理,主要任务包括数据清洗,数据集成,数据变换和数据规约;(2)数据仓库,主要包括数据仓库的基本概念,数据立方体,数据立方体的设计与实现;(3)数据挖掘,主要包括数据挖掘的基本流程,数据挖掘的主要算法,数据挖掘的常用工具及数据挖掘的应用实例。考虑到数学与统计学院学生的特点和教学课时的限制,教学重点为数据预处理、数据仓库的基本概念、数据挖掘的主要模型三个方面,特别是数据挖掘的模型是重点讲授的内容。由于数据挖掘的模型和算法非常多,我们采用首先讲解数据挖掘的基本流程,然后重点讲解数据挖掘中关联分析、分类、聚类三个方面的模型。
我们采用理论讲解、实验操作、模型应用三个步骤来讲解每个模型。理论讲解使学生掌握数据挖掘模型的基本理论和算法流程。在实验操作阶段,学生要亲手实现模型的基本算法,我们使用的编程语言是python,通过算法的实现,巩固和加深学生对模型的理解。模型应用步骤要求学生综合应用所学的数据挖掘模型知识,选择一个应用领域,应用自己学习的算法解决这个实际问题,并按照数据挖掘的流程完成实验报告。实验报告要求按照数据说明、数据清理、数据集成、数据选择、数据变换、数据挖掘、模式评估、知识表示等几个部分完成,使学生掌握数据挖掘的全过程,充分认识数据挖掘各个阶段要完成的工作。通过这三个阶段的学习和实践,学生基本掌握了数据挖掘的算法并具备了基本的模型应用能力。
2.以应用为背景,用案例教学方式组织教学
案例教学法是教师以具有鲜明代表性的案例为学生创设问题情境,引导学生通过对案例进行分析讨论,在情境中掌握理论知识并总结规律,创造性地将知识与实践相结合,找到更多的实际生活范例或提出解决实际问题的思路与方法。数据挖掘本身就是一门应用性很强的学科,课程内容非常适合进行案例教学。
数据挖掘课程主要针对数学与统计学院应用型本科专业开设,考虑到学生就业和当前市场需求,以及课程本身实践性强的特点,在教学过程中注重理论结合实践,培养学生解决实际问题的能力。因此,在向学生介绍目前常用的数据挖掘基本模型的基础上,结合市场需求,以实例为切入点,采用案例教学的方式组织教学。案例的来源丰富,有医疗、商业、航空、环保等众多领域,案例全部来自于真实的数据挖掘项目,每个案例有背景与挖掘目标、数据预处理、构建模型、模型评价、上机实验几个部分组成。通过讲解真实案例,让学生了解数据挖掘的算法在实际中是如何应用的,培养学生应用数据挖掘的思想,使学生对数据挖掘有了感性认识,激发其学习兴趣。具体采用的案例如下表所示。
三 结束语
数据挖掘是一门多学科交叉的应用型学科,在数学与统计学院开设数据挖掘课程有现实意义,同时对教师和学生也是一个挑战。因此通过将理论教学和实践相结合,使用案例教学的方式组织教学,激发学生的学习兴趣,提高课堂教学效率,增强学生实践能力,培养学生应用数据挖掘的基本方法解决实际问题的能力。同时,数据挖掘也是一个快速发展的学科,因此也要不断更新教学案例,不断学习和总结,使教学更加完善合理。
参考文献
[1]〔美〕Jiawei Han、Micheline Kamber、Jian Pei等.数据挖掘概念与技术(第3版)(范明、孟小峰译)[M].北京:机械工业出版社,2012
[2]张良均等.MATLAB数据分析与挖掘实战[M].北京:机械工业出版,2015
[3]谭磊.New Internet:大数据挖掘[M].北京:电子工业出版社,2013
中图分类号:G712 文献标志码:A 文章编号:1674-9324(2014)40-0069-02
一、前言
近年来,数据获取和数据存储技术快速发展,各种数据库、数据仓库中存储的数据量飞速增长。人们关注的焦点要从噪声、模糊的随机数据中提取重要的信息、知识,数据挖掘的出现,提供了一种有效解决“数据丰富而知识贫乏”问题的方法。
数据挖掘作为统计专业的核心课程,是学生必须掌握的职业能力课程。根据高职生的知识结构体系和培养目标,我们采用案例驱动教学方法,以学生为主体,案例为主线,教师为主导,对案例进行分析,学习案例所涉及的相关知识点,从而会利用相关软件工具对数据进行分析,挖掘数据间的知识。
二、数据挖掘中案例驱动教学的实施
(一)合理高职高专统计专业数据挖掘课程教学目标
数据挖掘是集数据库技术、统计学习、机器学习、模式识别、可视化等学科的一个新兴交叉学科,又包含了聚类分析、关联规则分析、分类等,每一种挖掘又有不同算法,是一门理论性、实践性及综合性较强的课程。其知识内容丰富,内容深浅不一,各种方法变化快,新方法层出不穷,这对师生都提出了严峻的挑战。
高职高专将培养高等技术应用型专门人才为根本任务,以适应社会行业发展需求为基本目标,结合本院统计专业学生的专业技能特点,我们将本门课程的教学目标定位为:掌握数据挖掘课程涉及的基本概念,提高信息分析能力,能从收集到的数据信息中利用有效的软件工具CLEMENTINE进行知识“挖掘”;要根据实际情况制定合理完整的数据模型并进行评估,这些评估要具有可视性,才能有效地解决问题,而使数据挖掘更具有合理性。
(二)如何驱动教学来设计数据挖掘案例
1.介绍案例驱动教学法。案例驱动法是在“哈佛大学”的情境案例教学课起源,是一种探索性和协作性学习的教学模式。整个授课过程围绕着同一个目标和几项任务“教授”,学生通过对课程的学习、资料的查找和知识的整合,通过充分思考和与实践相结合,提高自身能力。这种案例驱动的教学法可以让学生提高学习兴趣,发展学生自身的能力。同时能让教师更好地发挥促进学生学习、引导学生成功的功能。
案例驱动法是把教学内容和目标通过一个任务来体现,把教材内容重新整合,老师的授课和学生的接受都围绕这个任务完成。
案例驱动法可以充分发挥学生的主体地位,从而改变传统的关于师生关系的观念,让学生从被动学习到主动学习,真正爱上学习,提高自己的创新、自学和实践能力,同时要求老师在授课中给予学生正确的引导、促进、组织和控制,这样可以增强同学间的协作精神和学生的独立意识。通过学生的自主学习和探索,可以改变原来枯燥的学习方式。对于数据挖掘这门课程,内容深奥,既要求学习一定的理论知识,又要求掌握数据挖掘的使用方法,因此我们引入使用案例驱动的教学方法。
2.数据挖掘案例教学的实施规划。利用CLEMENTINE软件工具进行数据挖掘,将数据挖掘看成一个以数据为中心的循序渐进的螺旋式数据探索过程,该过程分为业务理解、数据理解、数据准备、建立模型、方案评估和方案实施六大部分。因此,在教学过程中,我们围绕数据挖掘的六大部分,在每一部分,讲解基本的数据挖掘技术原理;对于数据挖掘算法,只要求掌握相关算法使用的方法和使用的场合,并会使用专业的数据挖掘工具CLEMENTINE,此应用的前提条件要求对学生进行数据挖掘;将教学的亮点和重点放在案例分析和实际应用上,要对学生进行动手能力的训练。
在教学的过程中,最重要的是案例的选取。通过参考教学大纲和教学目标,对教学案例进行精心设计,可以提高学生的分析能力,提高学生发现问题和解决问题的能力,才能更好地将教案落实,并形成具体的项目。根据数据挖掘课程的特点和具体内容,我们通过某些小案例引入一些相关知识,并且采用学生能够接受的一个大案例让学生使用成绩数据模型组织整个教学过程。
我们的课程内容按数据挖掘过程分为六大部分,按照每一部分的教学目标我们设计了多个不同的小案例如下。
(1)药物研究数据和学生参加社会活动数据案例:通过这两个数据模型掌握在CLEMENTIME软件工具中利用软件中SOURCES选项卡的多种节点读入多种文件类型(如TXT文件、EXCEL文件、SPSS文件等)的数据,掌握读入数据的数据类型,掌握APPEND节点、MERGE节点合并数据的方法。
(2)移动客户数据案例:通过利用移动数据让学生掌握TYPE节点进行变量说明的方法,会使用该节点进行有限变量值和无效值的调整,会使用DATA AUDIT节点对数据质量进行评估和调整;掌握数据中对离群点、极端值和缺失值的调整,对数据进行质量管理;会使用AGGREATE对数据进行分类汇总;利用FILLER节点对变量值重新计算,会用RECLASSIFY节点实现变量值进行调整;会对数据进行筛选、样本子集划分等处理;了解数据分析特征,把握数据间相关性强弱的基本手段;利用压缩样本量、简约变量值或变量降维等方法对样本量庞大的数据进行精简。
(3)决策树模型案例:了解C5.0决策树算法,会建立决策树模型,学会归纳和提炼现有数据包含的规律,建立分类预测模型,会分析结论,用于对未来新数据的预测。
(4)人工神经网络模型案例:了解人工神经网络算法,掌握人工神经网络建立的步骤,建立B-P反向神经网络模型,预测分析结果。
(5)贝叶斯模型案例:了解贝叶斯网络算法,掌握贝叶斯网络结构的组成和构建,会用TAN贝叶斯和马尔科夫毯网络解决从庞大数据中寻找输入变量之间的相关性,输入变量的组合取值对输出变量的影响,用网络结构直观展示它们的关系。
在设计小案例的同时,我们还选择学生既熟悉又感兴趣的综合项目案例选题:学生成绩数据、图书管理数据、电信服务数据等,让学生带着问题进一步学习课程,在学习中寻找方法解决项目中遇到的问题。当课程结束后,各项目组呈交项目数据模型和报告,且项目组长要向所有同学按数据挖掘的六大部分讲解分析报告。
3.案例驱动教学的成效。围绕案例进行教学的“数据挖掘”课程除了采用案例驱动教学法,还要增加学生的实际训练能力,都取得了明显的效果,从以下五个方面体现:①学生要主动提出问题,同时积极主动地参与课堂教学,才能提高学生分析和处理问题的能力;②增强学生的自主学习能力,要求学生通过小组讨论的形式和实际训练让学生以积极主动的态度处理和解决一些技术问题,从而提高自学能力;③学生间要注意培养团队合作能力的,也要具有竞争意识;④课程学习结束后,普遍反映对利用CLEMENTIME软件工具进行数据挖掘的自信心提高,能够进一步提高对专业的认知,独立解决一些数据统计分析的问题。
三、结束语
数据挖掘是统计专业的专业课程,其内容繁多、深奥,把基于案例驱动的教学模式引入《数据挖掘》课程,学生在学习过程中,实现了整个数据挖掘的流程,在基于项目的技术应用中深入理解了数据挖掘的理论知识。学生要将所学的理论知识和实践相结合,从而有效提高自己的操作技能和知识水平,培养了自己应用数据挖掘技术解决实际问题的应用能力和创新实践能力。
从教学效果来看,通过将理论教学和实践相结合,案例教学法整合了各种学习工具和教学资源,这样才能充分发挥学生的主观能动性,培养和提高学生的主观能动性,同时增强学生分析和处理问题的能力,今后,我们将继续完善数据挖掘的教学案例,研究和总结教学经验,使整个教学环节更加完善合理。
参考文献:
[1]刘云霞.统计学专业本科生开设“数据挖掘”课程的探讨[J].吉林工程技术师范学院学报,2010,(26).
[2]覃义,杨丹江,刘忆宁.《数据挖掘》本科教学的体会与创新[J].科技信息,2012,(10).
[3]李国荣.培养统计专业学生动手能力和创新能力的探索[J].统计教育,2007,(9).
[4]白忠喜,鲁越青,梁伟,等.校政企共建基地开展基于项目驱动的实践教学改革[J].中国大学教学,2011,(2).
1.1 大数据含义 大数据是网络技术发展到一定阶段出现的新兴名词,是指数量巨大、结构复杂、类型众多的数据构成的集合,大数据是以云计算的共享平台为基础,通过数据的交叉复用,形成新的智力资源和知识服务能力。大数据处理需要分布式计算机构架才能完成,仅依靠单台的计算机无法实现大数据处理,因此大数据处理就是借助云计算的分布式处理、分布式数据库、虚拟存储技术对大量数据进行整合处理的过程。
1.2 大数据特征 大数据具有数量大(Volume)、类型多(Variety)、价值高(Value)和速度快(Velocity)的特点,简称为“4V”。大数据处理的数据规模不断扩大,已经由GB、TB级扩展到EB或ZB级,这是普通计算机硬盘容量所无法达到的;大数据对象包括结构化数据、半结构化数据以及非结构化数据,存储对象由传统的文本内容扩展到了音频数据、视频数据、搜索引擎中关键词等,其数据的类型繁多复杂;数据之间的关联性不断加强,已经对社会经济、系统、信息学、网络学以及心理学等多个领域产生了深远影响;大数据的产生形式以数据流为主,能瞬时产生,具有很强的动态性和时效性。
2 《数据挖掘》课程教学探讨
2.1 教学内容 《数据挖掘》是一门综合性的学科,学科内涉及的主要内容有数据库技术、统计学、信息检索、计算机技术以及可视化技术等,需要不同的学科交叉学习,因此,该课程具有很高的理论性和实践性。在教学过程中,不仅要注重基础理论知识的培养,还要加强对学生创新能力以及问题解决能力的培养。课程的知识结构可按照表1所示组建。
数据挖掘前需要进行预处理,然后才能存入数据仓库,再利用相关的挖掘工具和算法,按照挖掘流程进行数据挖掘,最后将挖掘结果以可视化的形式展示出来。在整个教学过程中,教学重点是挖掘工具和挖掘算法,其中挖掘工具主要有通用挖掘工具和专用挖掘工具两类,而挖掘算法则包括分类法、关联分析法、聚类法等10种方法。学生不仅要了解各类算法的相关概念,还要能利用算法对实例进行分析。
2.2 《数据挖掘》课程教学探索
2.2.1 培养数据意识 《数据挖掘》是以数据为驱动的理论分析和应用课程,具有抽象性和具体性,抽象性是指数据挖掘过程中的理论、技术和方法具有很强的抽象性,学生在有限的时间内无法理解和消化;具体性是指研究内容比较客观,具有一定的解释性和理解性。针对以上特点,教师在组织教学时,应先培养学生的学习兴趣,使学生产生一定的数据意识。具体安排时,可先安排2-4个学时讲解数据及其主要应用,让学生对大数据的产生、影响和应用等内容做初步了解,使学生对该课程的学习目的和实际意义产生客观认识。
2.2.2 深化基础,加强理论体系 大数据特征对数据分析技术提出了更高的要求,现有的数据分析技术难以满足实际需求,这就说明了数据挖掘技术的应用和发展将面临更严峻的考验。数据挖掘技术涉及的知识内容较多,在大学课程体系中难以全部开设,给学生的学习带来很大阻碍。为解决以上问题,开封大学采取措施:将《数据挖掘》课程授课对象设定为高年级学生,经过两年或三年基础课程的学习,学生已经具备了一定的理论基础,在学习《数据挖掘》课程中,就可节约大量时间学习课程的核心内容。
2.2.3 教学方式多样化 理论来源于实践,也可以指导实践;实践是检验理论的唯一途径。《数据挖掘》具有很强的抽象性,学生无法在有限的学习时间内对众多概念产生足够清晰的认识,只能借助实践教学使学生明白课程内容的原理及其实用价值。在讲解基本概念、原理或者算法时,可采取案例教学法、任务驱动教学法、项目教学法等,将理论与实践相结合,提高学生的学习兴趣和操作能力。因此教师应在教学过程中注意教学方法的选择和使用,充分体现出学生的主体地位和教师的主导作用,通过一系列理实一体化教学方式,提高教学效果。
加强实验教学,增强学生动手能力
信息与计算科学专业是以信息领域为背景,数学与信息、管理相结合的交叉学科专业。该专业培养的学生具有良好的数学基础,能熟练地使用计算机,初步具备在信息与计算科学领域的某个方向上从事科学研究,解决实际问题,设计开发有关软件的能力。毕业生适合到企事业单位、高科技部门、高等院校、行政管理和经济管理部门,从事科研、教学和计算机应用软件的开发和管理工作,也可以继续攻读信息与计算科学及相关学科的硕士学位。从信息与计算科学专业的培养目标可以看出信息与计算科学专业的本科生不但需要掌握理论知识,还需要具有将所学知识用来解决实际问题的能力。数据挖掘作为一门应用性较强的课程,需要学生能够运用数据挖掘知识分析和解决实际问题,要求学生能够熟练掌握数据挖掘的程序设计,以便在将来的就业中具有更好的适应性,因此实验环节的教学有着其必要性。基于这些原因,我们在这门课中引入实验环节,并将其纳入考核要求。我们实验所用的基本软件是SAS统计分析软件。SAS软件是一个集统计分析、报表图形、信息系统开发和大型数据库管理等多种强大功能为一体的大型软件系统,是目前国际上主流的统计分析软件之一。我们信息专业在大三时开设这门课程,之前已经学过C语言和JAVA等程序设计方法,有了一定的编程基础,因此学习使用SAS软件并不是特别困难。而且,在SAS软件中,系统自带了许多数据挖掘函数,这方便了同学们的使用。我们在平时的学习中,将一些SAS软件的基本程序设计基础知识先发给同学们,让他们利用课后时间自己在个人电脑上进行熟悉,从而使得他们熟悉基本SAS程序设计方法,这样可以在实验课上直接运用SAS软件进行数据挖掘程序的编写。在实验课上,我们主要将要实验的内容和相关数据资料提供给同学,要求同学自己用数据挖掘的知识和SAS软件进行编程实现,并写出实验分析和小结。另外,在实验中,我们也要求学生尽可能将一些实验结果用图表的形式如崖底碎石图等表示出来,以利于进一步分析。对于少部分学有余力的同学,我们也引导他们自编相关的程序。比如说在SAS软件中进行K-均值聚类用fastclus这个函数就可以了,但是学生对程序具体实现过程可能不是很清楚。如果学生能够将程序K-均值聚类详细程序步骤自己编写出来,就可以表明学生对所K-均值聚类算法也有了较清楚的认识。另外,对于属于数学建模协会的同学,我们也引导他们将数据挖掘的知识和数学建模中某些问题相结合起来,对于以往出现的一些可以利用数据挖掘知识分析的问题让他们利用相关的数据挖掘知识对其进行分析和求解,通过这样的方式,可以这样拓展这些同学的思路,也为数学建模培养了人才。
中图分类号:G642 文献标识码:A
文章编号:1672-5913(2007)14-0027-03
1引言
数据挖掘是一门综合性的交叉学科,它融合了概率统计学、数据库技术、数据仓库、人工智能、机器学习、信息检索、数据结构、高性能计算、数据可视化以及面向对象技术等,在保险业、电信业、交通业、零售业、银行业正在被越来越广泛深入地使用,同时在生物学、天文学、地理学等领域也逐渐显现出技术优势,特别是在客户关系管理系统、个性化网站设计、电子商务系统、搜索引擎等方面数据挖掘技术显示出了独特的魅力。数据挖掘技术正在以一种全新的概念改变着计算机应用的方式。
从最近计算机技术的发展以及学生就业方面来看,对本校的应用性本科生开设“数据挖掘技术”课程迫在眉睫。但数据挖掘给人的感觉就是“高深莫测”,当前数据挖掘领域主要是博士生、硕士生研究的领域,数据挖掘课程也只在一些重点大学的研究生或高年级的本科生中开设,应用型本科院校以及一些高职高专几乎都没有开设此类课程。这限定了数据挖掘作为一门既有理论又有实践价值学科的应用和推广,笔者认为很可惜。从计算机专业的学生的毕业设计以及就业角度分析,相当多的同学以后会从事电子商务类软件的开发,而这类应用目前都渐渐基于Web作为应用平台,面对的是海量的数据信息,因此让学生掌握数据挖掘的思想和方法对提高计算机素养很有必要。即使将来从事控制、通信、游戏、图像处理等软件开发,数据挖掘的思想和方法也很容易找到用武之地。
2数据挖掘课程开设的可行性分析
从计算机技术发展以及学生就业反馈的信息,笔者觉得数据挖掘的思想、方法以及算法对应用型本科生是很重要的,并且让学生掌握好这门课程也是完全可能的。我校从1998年以来一直在高年级本科生中开设了“人工智能”课程,但从教学效果上来看,很不理想。“数据挖掘技术”这门课程在不少地方很像“人工智能”,“数据挖掘技术”课程中的一些思想就是从“人工智能”中发展过来的,但是“数据挖掘技术”课程与“人工智能”课程有一个本质的区别,就是数据挖掘从诞生的一开始就是面向大量的、实际的数据库信息,因此,具有极强的应用性,如果将“数据挖掘技术”课程看做是“数据库技术”课程的自然延伸,同时充分利用数据结构、人工智能、面向对象技术与方法、Web技术、概率统计等课程的基础,就能够将“数据挖掘技术”课程开设好。于是两年前,笔者在应用型本科生中做了尝试,就是取消原来的“人工智能”课程,取而代之的是“数据挖掘技术”课程,从两年的教学实践以及教学效果上看,行之有效。并且在教学中发现,虽然数据挖掘技术要用到人工智能的一些思想和方法,但没有“人工智能”课程作为前导课程,没有任何影响,因为,数据挖掘中的一些人工智能思想在“数据挖掘技术”课程的教学中是自成体系的,并且是以比“人工智能”中的方法更加简单、更加直接、更加面向应用的方式。开设“数据挖掘技术”课程必须以下列的课程作为基础(前导课程),当然这些课程都是一些常规课程。
1) 必须深入学习一门程序设计语言,通过这门语言的学习可以掌握程序设计的基础知识,并且掌握面向对象思想开发的精髓,能够进行可视化程序设计。学习程序设计绝不是记住程序设计语言的语法就行了,而要努力做到将应用中的思想变为程序。这一点是计算机专业学生的基本素养。这一环节没有做好,其余的计算机专业的专业课程,如数据结构、操作系统、数据库原理、编译原理、软件工程等就无法学习,即使学了,也不能真正掌握。笔者从计算机发展和应用角度,推荐学习C/C++和Java,要求对C++的模板以及STL或Java的数据结构类(在Java的util包中)能够较好掌握。
2) 掌握“数据结构”课程,特别是“数据结构”课程中的树的特点和应用。在“数据结构”课程中,树主要以二叉树为主,对于一般的树,在当前的“数据结构”课程的教学中都是将一般的树转化为二叉树来进行处理的,但是在数据挖掘中这样不太方便。数据挖掘中的很多算法都涉及到树的应用,并且大多都是不太规则的树,在数据挖掘中,采用树的思想与Java中的数据结构类或C++中的STL相结合的方法,能够得到很好的效果。
3) 掌握“数据库技术”课程中数据库操作的特点和应用。数据挖掘的对象主要是数据库中的数据,但作为数据挖掘对象的数据库的数据信息量往往很大,因此,为了提高挖掘的效率,需要建立数据仓库,或者需要在算法上加工,尽量减少扫描数据库的次数。
4) 掌握“Web技术”。这是因为Internet已经广泛应用并且深入人心,未来的软件相当多的都是基于Web平台之上,因此,对于Web挖掘不仅重要,而且具有直接的应用价值。当前Internet上的软件如一些知名网站、搜索引擎以及一些电子商务系统,采用了数据挖掘技术,得到了很多有价值的信息或提高了个性化能力,大大增强了企业的竞争力。因此,掌握“Web技术”课程对Web挖掘很有裨益。
5) 熟悉“概率统计”课程中的思维方式,对各种分布以及条件概率能够熟练掌握,在数据挖掘中的分类、关联规则等领域很多挖掘方法都灵活运用了概率统计中的思想和方法。
从“数据挖掘技术”课程的教学实践中明显看出,主要需要以上几门课程,并且教学结束后发现,学生不仅能够掌握数据挖掘的思想、方法以及算法,通过对一些主要的挖掘算法的实现,对“数据库技术”、“程序设计语言”、“数据结构”、“Web技术”以及“概率统计”掌握得更加深刻,将“数据挖掘技术”作为“数据库技术”的自然延伸,是“程序设计语言”、“数据结构”、“Web技术”以及“概率统计”的综合运用得到良好效果。
3 “数据挖掘技术”课程的设置
一门课程的设置,不仅要根据当前计算机技术的发展,同时也要根据当前学生的就业需求,充分考虑到应用型本科学生的特点。两年前,经过多方面的考虑以及参考了各种国内国外数据挖掘的教材以及论文后决定,“数据挖掘技术”课程教学学时定为32课时,讲课22学时,上机实验10学时。在这个总的学时定下来之后,就是对“数据挖掘技术”课程的内容设计,这是最重要的环节。精选出的内容不仅要反映数据挖掘的特点以及最新发展,还要结合应用型本科生的特点,要具有很强的针对性,重点要突出,要能够“学以致用”。最后“数据挖掘技术”课程的教学内容如下:
1) 数据挖掘综述2学时。本讲侧重于从两、三个具体应用领域进行分析得出采用数据挖掘技术的重要性与必要性,可以选取客户关系管理、体育竞技、信息安全和商业欺诈等作为案例,然后给出完整的数据挖掘定义和数据挖掘技术的分类,以及数据挖掘需要的一些前导课程的知识要点。
2) 数据挖掘过程及当前数据挖掘的软件工具2学时。数据挖掘的过程是数据抽取与集成、数据清洗与预处理、数据的选择与整理、数据挖掘以及结论评估。本讲重点讲解挖掘的过程,强调数据预处理对挖掘的重要意义,对于缺省的值、残缺的值等的处理方法。让学生对数据挖掘的整体过程有清楚的理解。然后介绍一下当前流行的商品化数据挖掘软件如IBM的IntelligentMiner和加拿大Simon Fraser 大学的DBMiner。
3) 关联规则挖掘与序列模式挖掘6学时。在介绍关联规则原理的基础上,主要介绍著名算法Apriori及其改进、FP_Tree算法、用于序列模式挖掘的AprioriSome算法。每个算法需要2学时,对每个算法要进行彻底分析,不仅能够理解算法的原理、思想以及过程,还要分析算法提出人为什么会提出这种算法,在日常生活中的含义是什么,算法的优点和缺点是什么,以及如何用Java或C++来编程实现该算法。最后,对多层次关联以及数量关联规则挖掘做个简单介绍即可。
4) 分类技术4学时。介绍分类的原理,主要讲解ID3和C4.5、朴素贝叶斯分类,简单介绍一下BP神经网络的分类。对于C4.5要求能够从原理上把握整个算法,能够进行连续值的离散化处理,理解C4.5比ID3的优势所在;对于朴素贝叶斯分类,要深刻理解该分类的原理以及贝叶斯信念网络的工作原理。特别的,对于FP_TREE以及C4.5算法的实现,需要用到不规则树,提出用C++或Java解决这种不规则树的方法。
5) 聚类技术4学时。在介绍聚类的重要性和分类的基础上主要介绍划分聚类PAM算法思想以及基于密度聚类DBSCAN,对于当前重要的聚类STING和CLIQUE做个简单介绍。最后,比较聚类和分类的不同之处。
6) Web挖掘与个性化推荐技术4学时。对于Web挖掘从内容挖掘、访问行为挖掘和结构挖掘三个方面进行讲解,重点讲解个性化技术。对基于最小关联规则集的个性化推荐以及基于协作筛的个性化推荐作深入剖析,并指出在当今网站设计中的重要意义。
7) 上机实验设计。精选五个上机实验。第一个实验是关联规则的Apriori算法或FP_Tree算法的实现,两个任选一个,如果选择Apriori的话,需要采取一些效率改进措施;第二个实验是序列模式挖掘中的AprioriSome算法;第三个实验是分类技术中的ID3或C4.5算法,这两个算法的主体相同,任做一个即可;第四个实验是聚类中的PAM或DBSCAN算法,两个任选一个;第五个实验是利用协作筛进行个性化网站的智能推荐。以上五个实验每个实验2学时,建议编程语言采用Java或C++,最后挖掘结果具有可理解性。
当然,以上的课程内容设计会随着数据挖掘技术的发展,不断进行微调,以适应不断变化的计算机技术发展与社会需求。
4 “数据挖掘技术”教学实践总结
两年前,虽然已对“数据挖掘技术”课程作了充分准备,但在刚开设这门课程的时候,很担心这门“高深莫测”的课程的教学效果。但经过两年的教学实践发现,这门课程的教学效果比预想的还要好。通过对该门课程的学习,学生不仅基本掌握了数据挖掘的基本原理和算法,同时对以前的一些主干课程如数据结构的理解和运用有了非常深刻的认识。更为重要的是,本课程的五个实验都是数据挖掘领域中最经典、最重要的算法,通过对这些算法的编程实现,不仅理解了数据挖掘关键算法的精髓,同时,这些数据挖掘算法实现的程序经过不断改进、加工,性能不断提高,由于都是源代码,可以将这些算法应用到一些实用的软件系统如客户关系管理系统、个性化网站中去,收到良好效果。此外,在网上的一些数据挖掘论坛中,经常看到一些初学数据挖掘的研究生或技术人员很想看一看数据挖掘经典算法的具体程序实现,我们也将这两年不断改进的程序源代码作为免费资源赠送给了不少同行,也为数据挖掘的推广应用贡献了微薄之力。
5结束语
“数据挖掘技术”课程的教学尝试目前主要针对的是本校应用型计算机专业本科生,虽然收到了良好的效果,但“数据挖掘技术”绝不仅仅是计算机专业学生才需要掌握的课程,对于我校通信系、电力系、自动化系等工科专业,经济系、管理系甚至一些文科类的学生也很有价值,因此,怎样在非计算机专业的应用型本科生中开设好这门新兴课程,甚至在高职高专学生中也开设好这门课程,则是需要作进一步的探索和尝试。
参考文献:
[1] 毛国君. 数据挖掘原理与算法[M]. 北京:清华大学出版社,2005.
[2] 陈文伟. 数据挖掘技术[M]. 北京工业大学出版社,2002.
[3] 余力. 电子商务个性化[M]. 北京:清华大学出版社,2007.
A Test to Applied College Students on Teaching Data Mining
XU Jin-bao
(Dept. of Computer Engineering, Nanjing Institute of Technology,
Nanjing 211100,China)
中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)23-5561-03
Research on Application of Data Mining Technology in Network Curriculum Teaching Platform
LIU Yan-qing
(Center of Computer Network, Ningxia University, Yinchuan 750021, China)
Abstract: Aiming at the deficiency of the traditional network management method, a new scheme of data mining based on the C4.5 algorithm of decision tree are proposed,Firstly, In this paper it introduced the Data Mining Technology,Secondly, it analyzed the Application of Data Mining Technology in Network curriculum teaching platform,In the end ,With the application of students’ scores as example, it analyzed the Application of Data Mining Technology in Network curriculum teaching platform.
Key words: data mining; network curriculum; decision tree; C4.5 algorithm; Related regulation; clustering analysis
由于Internet技术的快速发展,远程网络教育获得了飞速的发展,网络学习逐渐成为人们关注的热点, 网络课程作为网络教育的载体,是决定网络教育质量的一个关键要素,每学期随着班级、专业以及课程的不同,所有课程信息必须更新,管理系统形成的海量数据为课程管理决策应用的效率并不高,难以适应远程网络教育的发展需要,因此,为了实现科学、高效的课程管理,文中将数据挖掘技术应用到网络课程管理中,通过对日常教学管理中的数据进行分类挖掘,找出隐藏在数据后面的信息,这些信息可以帮助学校更好地对学生的培养管理,可以帮助教师更加有效地开展教学活动,进而进一步提高教学质量。
1 数据挖掘技术在网络课程管理中的应用
网络课程管理系统通常由以下几部分组成:信息录入(含课程信息、院系部信息、教师教辅人员信息、学生信息)、信息查询(含院系部信息、教师教辅人员信息、课程信息)、统计分析(含部门统计、课程统计、学生学习情况统计、成绩统计)、导出数据(课程信息导出、学生成绩导出)、资源下载、课程展示、课程检索、师生互动、学生评价和系统管理。
网络课程管理系统中存放着大量的数据,根据各种需要,可以对这些数据进行不同的组合分析,从这些数据中发现隐含的、有用的模式或关系用于指导教学与管理。在网络课程管理系统中,数据挖掘技术可以应用在以下几个方面:
1)关联分析:如学习资料之间的关联及课程之间的关联,将这些关联分析应用于课程设置中,可以帮助教学管理人员合理安排课程,还可以根据学生查阅资料的特点将经常一起查阅的资料归类在一起,从而节省学生在课程网站上查找资料的时间;
2)聚类分析:通过聚类分析,把学生分组组成协作学习小组, 找出他们具有共同特点,针对不同的聚类,教师可以采用不同的教学方法;
3)分类与预测:可以利用C4.5分类算法构造综合素质测评分类器,评价指标有学习成绩、思想品德、参加活动、学习实践情况等,得出学习成绩与教师职称、教师学历、学生生源地及学生性别之间的关系,以改进综合测评的方法,促进学生全面发展。
4)时序模式:通过对学生访问数据统计,利用WEB挖掘技术,使用数据挖掘的序列模式挖掘方法对文档进行分类,提高学生检索信息的速度,可依据学生访问的数据进行挖掘分析,对访问数据进行聚类分析,了解学生感兴趣的内容,访问站点之间的关联,分析学生访问习惯及兴趣点,并在有关联关系的页面之间设置超链接等来改善网站的结构。
2 学生成绩数据挖掘过程
学生成绩是评估教学质量的重要依据,是评价学生对所学知识掌握程度的重要标志,通过对现有学生成绩数据库中的成绩数据进行数据挖掘,根据决策树的结果来判断各门课程的成绩与外在因素的关系,以及对发现的关系进一步量化,并把决策结果通过可视化软件显示给教辅人员查阅,以便他们根据这些问题对教学做出相应的调整,从而提高学生学习质量。
2.1 确定挖掘任务
传统的成绩统计方法,通常是计算均值、方差、信度、效度和区别显著性检验等,对成绩的分析处理方法通常是统计成绩为优、良、及格、不及格等级别的人数及比分比,而很少对影响学生成绩的因素进行全面的了解分析,这样不利于进一步提高学生的成绩, 因此,为了进一步提高成绩,需要对这些数据信息进一步挖掘分析,从而得出结论,供教学使用,而按照学生成绩属性的特征进行分类,采用决策树方法可以从一组无次序、无规则的数据记录中推理出决策树表示形式的分类规则;对于教师来说,了解学生的学习兴趣与差异对教学很重要,因此,本文将决策树分析应用在学生成绩分析中,通过挖掘分析,找出影响学生成绩的主要因素,以便在以后的教学活动中采取相应的改进措施。
2.2 准备数据
在学校每学期结束时,网络课程管理系统中,保存了学生所参与课程的成绩信息,而成绩是与学生关联最大的数据,每学期都有新的成绩数据产生,且随着时间推移,成绩数据库中的数据量将越来越大。因此,为了从学生成绩中提取有用的信息供教学参考,本文以历年来的学生成绩作为要分析的数据,希望从学生成绩信息中发现与提高学生学习成绩有关系的一些因素。如学生的性别,教师的学历高低,教师职称的高低,学生生源地是城镇还是农村等与学生成绩密切相关的属性。
2.3 C4.5算法设计
本文主要是对学生成绩进行分析,而成绩是数值型的数据,因此在分析时所用的算法是基于信息熵的决策树分类算法C4.5,C4.5是在ID3算法基础上改进的,其特点主要是根据属性集的取值选择实例的类别及各级决策树,C4.5主算法描述如下:
1)在训练集T中,使用计算方法选取属性作为子集T={T1,T2,T3,T4,……};
2)用C4.5 “建树算法”对子集分裂T={T1,T2,T3,T4,……}进行信息增益(嫡)计算,生成决策,并得到测试子集T1,Ti的信息增益,“建树算法”为:首先对当前训练集T数据计算每个样本子集的信息增益S={S1,S2,S3,S4,……},然后, 选择互信息S={S1,S2,S3,S4,……}中最大的特征属性Smax作为树(或子树)的根结点Tboot,接着将那些嫡值大于平均值的样本子集合并成一个临时的复合样本子集归于同一子集,该取值作为树的分支Tos={Tos1, Tos2, Tos3, Tos4,……},最后,对树的分支Tos={Tos1, Tos2, Tos3, Tos4,……}中分类结果不为同一类的子集递归调用建树算法, 若子集仅属于同一类分类结果,对应分支结束作为树的叶结点,返回调用处;
3)对训练集T1,Ti中所有属性进行类别判定,找出类别的分类;
4)若分类结果为同一类, 转到步骤2)进行,否则对子集T1,T2,T3,T4,……再分别进行属性分裂,取其子集T={Ti1,Ti2,Ti3,Ti4,……},转到步骤2)进行;
5)判定此决策树为最后结果。
2.4 属性选择度量
属性选择度量又称分裂规则,其是将给定的类标记的训练集元组的数据“最好”地划分成各种个体类的启发式方法,其中具有最好度量的属性被选作给定元组的分裂属性,其相关计算公式如下:
原来信息: (1)
期望信息: (2)
信息增益: G(B)=f(B)-E(B)(3)
分裂信息: (4)
增益率: GR(B)=G(B)/sf(B)(5)
上式中, 假设类标号属性具有k个不同值,定义了k个不同类集合U={U1,U2,U3,U4,……},Bi是Ui中的样本数, B 是 Bi个训练集的集合, Q(Bi)是Ui的概率。
3 算法实现
为了验证上述算法的正确性,文中从英语专业的专业课成绩中随机抽取400名学生的成绩组成训练集进行试验, 把其中的连续属性平均成绩经过分类转换为离散属性:S1=[85,100];S2=[70,85]:S3=[60,70];S4=[0,60],并将训练集中的数据进行简化如下:学生性别={男,女},教师学历:{ 博士研究生,硕士研究生,本科,专科 },教师职称={教授,副教授,讲师,助教},学生生源地性质:{ 农村,城镇},学生成绩={S1,S2,S3,S4},其中, S1有160个, S2有80个, S3有80个, S4有80个,
3.1 属性计算
学生的成绩期望信息为:
下面以性别属性计算为例:在400个数据中, 一共有220个女同学, 分别是:S1有80个, S2有40个, S3有60个, S4有40个,有180个男同学,分别是S1有80个, S2有40个, S3有20个, S4有40个;按照公式⑵计算期望信息,
于是,性别的信息增益为:G(B)=1.922-1.891=0.031;
按照公式⑷计算性别属性的分裂信息为:
按照公式⑸计算性别属性的增益率是; GR(B)=G(B)/sf(B)=0.031/0.993=0.0312;
按照此方法依次可以计算出,
教师职称增益率为 GR(B)=G(B)/sf(B) =0.0435;
教师学历的增益率为 GR(B)=G(B)/sf(B)=0.0403;
学生生源地的增益率GR(B)=G(B)/sf(B)=0.0278。
3.2 决策规则的生成
利用决策树形成的各种分类模型, 利用IF.THEN语法形成分类规则, 在IF.THEN分类规则中,从根到树叶的每一条路径都创建一条规则,THEN部分用该决策树中叶点所标记的类别表示,IF部分用决策树中一条路径所形成的属性值表示;决策树从一种表示形式到另一种表示形式的转换是非常简单直接的,就可以得到相应的THEN部分结论,就可以得知这个学生成绩是属性哪个分类。
从上面的学生成绩系统中抽取教师的学历、学生所学的专业、教师的职称、学生的性别、学生生源地性质和平均成绩进行建树分析,从构造的学生成绩的决策树中,可分析得知影响学生成绩的最重要的因素是教师职称,其次是教师学历,学生性别和学生生源地性质,这棵树的构成是很符合现实要求的。
4 结束语
数据挖掘技术已在多个领域得到很好的应用,学校各部门多年来积累了大量的数据,但这些数据只是简单的存储在数据库中,没有得到深层次地分析与利用。本文对数据挖掘技术在分析高校网络课程相关数据中的应用进行了讨论,并通过C4.5算法在分析学生成绩中的应用, 揭示了成绩背后的深层意义,找出了隐藏着的教学信息与规律,通过加强对这些教学信息与规律的教学管理,提高学生的学习成绩,有助于网络教学质量的动态管理。
参考文献:
[1] 周曦.数据挖掘技术在网络营销中的作用[J].电脑知识与技术,2011(11).
[2] 施晓华.数据挖掘技术在图书馆学科数据馆藏分析中的应用[J].情报杂志,2011(1).
[3] 廖燕玲.数据挖掘在学生职业能力分析中的应用[J].电脑知识与技术,2010(33).
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2014)06-0248-02
近年来,数据仓库与数据挖掘技术广泛应用于多个行业和领域,因而,数据仓库与数据挖掘课程也顺应实际应用的需要,成为高校计算机教育的专业课程[1]。针对数据仓库与数据挖掘课程的特点,利用低廉成本的移动终端和便捷快速的移动网络搭建实验教学平台,配合已有的基于校园网的实验教学[2],可以更好地达到数据仓库与数据挖掘课程的实验目的。因此,基于移动终端开发数据仓库和数据挖掘的特色实验平台有着极大的意义和价值。
一、Android相关技术简介
Android应用程序有4大组件:Activity,Service,Broadcast Receiver,Content Provider。开发者可以根据自己的需要选择这些组件的组合来进行开发。Activity是Android组件中最基本也是最为常见的组件,用户通过Activity与应用程序进行交互。Service组件可以理解为剥离了界面的Activity,Service组件一般在后台长时间运行,处理一些不为用户所知的后台业务。Broadcast Receiver是用户接受广播通知的组件。Content Provider是用来实现应用程序之间数据共享的类。Android应用程序的核心组件之间的通信的过程,被称为Intent,它允许在你的应用程序与其它的应用程序间传递Intent来执行动作和产生事件。本系统中用到的另一核心技术就是Android系统的网络传输方式。系统采用基于http协议的Android网络编程方式。先获得与服务器端的http连接,然后获取输入输出流,将要用到的参数放入流中,发送http请求,之后判断请求是否成功,如果成功则读取返回结果,最后将返回结果用Activity显示给用户,或者传递给后台进行需要的逻辑处理。
二、平台架构设计
平台的总体架构由服务器端和Android客户端组成,如图1所示。服务器端通过Tomcat部署Web网站,使用MySQL作数据存储。客户端的请求到达并处理后,通过http数据传输将处理后的回复数据传回客户端,如图2所示。
Android客户端通过新建HttpPost的方式,指定服务器端URL,添加所需参数,然后执行HttpPost,对返回的HttpReponse进行判断,成功则读取返回数据,然后通过Android的Activity组件呈现给用户,如图3所示。
三、平台Android客户端功能实现
与实验平台web版类似,本系统实现了课程介绍、实验平台、资料下载和在线交流等模块,各个模块在使用的过程中数据与web端服务器保持一致,系统的功能设计如图4所示。
下面,就重点介绍本系统的功能设计。
1.课程(实验)介绍功能。本平台客户端旨在为用户提供课程实验的环境。这个部分将提供大量关于课程和实验的背景数据以及要点信息。课程显示的实现通过在WEB部署静态html网页,然后新建一个WebView,调用webview.loadUrl(url)函数,将服务器端的页面显示在Android设备的activity呈现给用户。用户在查看了这些信息后,实验才能够顺利地进行。
2.实验平台功能。对于本平台来说,提供实验的环境正是其主旨和核心需求。它将为用户提供一个完成实验的场所,而这些实验往往需要用户通过编写代码来完成。用户可以将课程介绍模块的源代码,通过Android自带的复制粘贴功能复制到此处运行,然后在此基础上修改,这一操作对于手机用户来讲并不繁琐。
3.资源上传/下载功能。资源上传与下载也是教学过程中经常需要完成的。因此,为了方便教学的这个环节,通过Android客户端,教师可以一些相关课件供学生下载,而学生也可以通过上传来向其它学生展示自己的优秀作品,方便互相学习。
当今高校的计算机教学条件越来越丰富,各种用于提高学生动手实践能力的平台越来越多,作为这些平台的辅助,移动的客户端能大大提高用户使用平台的频率,也是十分必要的。
中图分类号:G64 文献标识码:B 文章编号:1672-5913(2007)02-0057-03
1程序设计课程与数据挖掘技术概述
程序设计课程是培养学生软件开发能力的一门课程。目前国内的理工类学校或相关专业普遍都为学生开设了程序设计课程。一直以来,如何了解多数学生在学习程序设计中所遇到的困难,如何帮助学生克服学习中的障碍,都要靠教师多年的教学经验来解决。这种传统的教学方法显然不能满足知识更新迅速的计算机教学过程。因此需要研究如何从学生提交的程序作业中利用数据库技术及时发现问题和解决问题。数据挖掘(Data Mining)技术是近年来新兴的数据管理与分析技术,主要用于发现数据中隐藏的线索,辅助人们进行科学分析和决策。数据挖掘普遍需要三个阶段:数据准备、挖掘操作和结果表达。下面以C语言为例介绍在程序设计课程教学中,对学生程序作业进行数据挖掘的一种应用方案。
2程序设计课程的数据挖掘过程
2.1 数据准备
根据程序设计课程的教学特点,我们按错误的严重程度将所有学生提交的程序作业的评阅结果归纳为以下5类,即题目错误、编译时语法错误、编译时语法警告、编译后运行结果不完全正确、编译后运行结果完全正确。为了对学生程序作业中的问题进一步分析原因,我们对以下8类数据进行分析,即功能模块函数序列、逻辑结构序列、语句类型序列、表达式序列、运算符序列、标识符序列、数值常量序列以及简化的字符常量序列。
要将文件形式的源程序分解为以上8项数据,就需要按语法规则完成以下步骤:
(1) 过滤程序中的注释信息和空白字符,产生预处理元素序列;
(2) 根据#include和#define等标记替换用户指定的包含文件和宏定义等预处理元素;
(3) 对照语法元素表,进一步将程序分解为关键字、标识符、常量、运算符、定界符等语法元素序列;
(4) 将数值常量以空格为连接符连接为一个数值常量序列;
(5) 将字符及字符串常量保留%d等格式字符和\n等转义字符后删去多余字符,以空格为连接符连接为一个简化的字符常量序列;
(6) 将所有运算符以空格为连接符连接为一个运算符序列;
(7) 将用户变量名和函数名统一编码后与程序中的关键字构成标识符序列;
(8) 将运算符与标识符及常量以空格为连接符连接为一个表达式序列;
(9) 将程序中的语句分类为表达式语句、函数调用语句、空语句、复合语句、if语句、else语句、switch语句、case语句、while语句、do语句、for语句、break语句、continue语句、return语句和goto语句,并组织成语句类型序列;
(10) 对语句按分号和大括号等定界符划分为模块函数序列;
(11) 将模块内语句按顺序、选择、循环的分类构成逻辑结构序列。
2.2 挖掘操作的过程
由于篇幅所限,下面仅以程序设计教学中的典型题目“温度转换”的数值常量序列和运算符序列为考察数据具体描述挖掘过程。
(1)数据清理
首先将数据准备阶段的各类数据与评阅结果组成一个数据记录集(如表1所示)。由于分析的目的是找出教学中造成学生程序错误的主要因素,而题目错误仅仅是因为学生操作马虎,与掌握程序设计的能力并不相关,因此把评阅结果全部正确的和题目错误的记录过滤掉,只保留评阅结果为语法错误、语法警告和运行错误的记录(如表2所示)。
(2)构造1项侯选集,发现频繁1项集
将所有数据作为1项集中的元素,构造1项侯选集,并计算不同元素的数量,如表3所示。保留其中数量较多的元素,滤掉其它元素,得到频繁1项集,如表4所示。
(3)构造2项侯选集,发现频繁2项集
将所有频繁1项集元素两两组合,构成侯选2项集,并计算组合后的数量,如表5所示。保留其中数量比较多的元素,滤掉其它元素,得到频繁2项集{=/*(-),编译警告}。
2.3 结果表达和解释
保留下来的2项集的两个元素分别代表了错误类型和造成该类型错误的主要语法元素序列,即现有数据表明(输入函数中)未使用取地址运算符是造成编译警告的主要原因。
3数据挖掘应用效果
在现实的教学过程中,我们对2005级8个班275名学生的5385个程序进行了统计和分析,发现题目错误的比例约占1.49%,编译错误的比例约占3.38%,编译时警告的比例约占1.21%,运行错误的比例约占8.10%,运行正确的比例约占85.82%。其中造成编译错误的主要原因是注释信息或各级括号定界符未配对;造成编译警告的主要原因是格式输入函数调用时缺少地址运算符或用户变量定义后未使用;造成运行错误的主要原因是除法运算符两侧运算量为整型常量。下面的图表反映了在程序设计课程的教学中没有使用数据挖掘技术和使用了数据挖掘技术的教学效果对比。
图1为未采用本方法指导教学的10次学生程序作业评阅结果统计图,其中靠上的折线表示每次学生作业的平均分数,靠下的折线表示每次学生作业的严重语法错误发生率。可以发现,学生每次作业的平均成绩基本呈水平小波动随机形状,表明学生成绩在学习过程中没有明显变化,同样严重语法错误发生率也没有明显变化。图2为一直采用本方法指导教学的10次学生程序作业评阅结果统计图,可以发现学生的成绩随着系统的使用时间增加而稳定的上升。在第三次作业以后基本保持在90分以上的水平,同时严重语法错误的比例也快速的下降,在第二次作业以后就控制在5%以下。以上对比说明本方法比较准确地发现了学生程序中的语法错误和算法错误的主要因素,使学生得到及时地反馈并在以后的程序设计中避免相似的错误,从而明显的改善了教学效果。
参考文献:
[1] 李建中,王珊 . 数据库系统原理[M] . 北京:电子工业出版社,2004.
[2] Richard J. Roiger,Michael W.Geatz . 数据挖掘教程[M] .北京:清华大学出版社,2003.
【中图分类号】G 【文献标识码】A
【文章编号】0450-9889(2016)10C-0068-02
如今,大数据挖掘技术已经应用于各领域,在知识发现、信息决策等方面发挥着越来越重要的作用。高职教育教学改革正在如火如荼地进行,在教育模式、教学方法、课程建设等改革中取得了一定的成绩。在改革的步伐中,高职院校试图利用数据挖掘技术寻找新的改革契机,论证和完善改革成果,让数据先行,为改革提供有力的依据。教育教学改革硕果累累的同时,专业基础课的改革却显缓慢,远远地落后于专业改革的进程。
一、高职院校专业基础课程改革的现状
(一)专业基础课程改革的必要性
专业基础课程是为学习专业课程打基础的课程,把学生由浅入深地逐渐领进专业,为学生将来的专业学习打下坚实的基础。但一直以来,专业基础课程的教学仍沿用以理论知识讲授为主,实验验证为辅的教学模式,已经远远落后于现有高职教育的改革实践。专业基础课程的改革势在必行,改革要想有成效,就要符合学生的成长规律。专业基础课程的改革创新是推动高职教育从本质上进行改革创新、更新旧模式的基础,只有根基牢固了才能更进一步促进专业更新、改革与发展。
(二)专业基础课程建设存在的问题
当前专业基础课程的建设还存在诸多的问题,主要表现有:首先,高职改革中学校的精力更多的放在专业课程的建设和改革中,对专业基础课的建设重视度不够。对于专业基础课程,大多数人认为已经成熟、经验丰富,再建设也难以出成果,所以学校大多会把更多精力、更好的资源放在发展专业课程建设、实验实训的建设等方面,因为更能立竿见影、立见成效,却都忽视了几乎所有专业基础课程一直以来都还在沿用本科教学的方式、方法,少有的一些改革也只是在内容上进行修剪,事实上,专业基础课程的建设和改革一直都是欠缺的。
再者,为配合专业建设,学校会在专业人才选拔中精挑细选,却大多忽略了专业基础课师资建设的重要性。大多学校其实也意识到了专业基础课程在专业发展中的重要性,于是把承担专业基础课程的师资划分入各专业,目的是为了更好地让专业基础课服务于专业。但在此过程中却忽视了政策的引导,部分专业基础课教师实际并没有很好地融入专业及团队。
另外,专业基础课程课时大量缩减以补贴专业课程的建设。学校为了保证学生的全面发展,公共基础课程的课时基本固定了下来。因此,专业建设时难免会把注意力集中在如何削减专业基础课课时上。针对专业基础课程建设中存在的诸多问题,如何在现有政策、资源、师资和学时的基础上,把专业基础课程建设好,是目前亟待解决的问题。
二、数据挖掘在专业基础课程中的应用
数据挖掘(Data Mining,DM)是数据库中的知识发现(Knowledge Discover in Database,KDD)的同义词,是目前人工智能和数据库领域研究的热点,它是从数据库的大量的、不完全的、有噪声的、模糊的数据中揭示出隐含的、先前未知的并有潜在价值的信息的过程。通过数据挖掘技术,从大量的数据中寻找有价值的信息,用以信息管理、查询优化、决策支持等。近些年,数据挖掘技术也逐渐被引入学校,在课程建设、专业建设、制度改革等方面发挥了重要的作用。
(一)挖掘专业基础课程与专业课程之间的知识联系
为了适应发展削减专业基础课程的课时无可厚非,在课时减少的情况下,专业基础课程还得更好地服务于专业,这就得对课程知识修剪,这方面的工作一般由任课老师根据经验对知识点进行筛选,如果任课老师对专业知识非常熟悉,筛选的知识大多应该是有效的,但如果是缺乏经验的老师,或许就难以做到。所以在制定教学大纲和计划时,教学知识应更多的考虑将来学生在专业学习中的可持续性。利用数据挖掘技术发掘专业基础课与专业课程知识体系之间的关联性,利用关联规则、决策树等方法找到哪些知识与专业有关,哪些知识与专业关联度不大,制定大纲和计划时把关联度大的作为重点,把不相关的知识作为扩展,或者自学知识。这样就可以合理地利用有限的课时,教授学生将来在专业学习中急需的知识,获取效率最大化。
(二)寻找影响学生学习专业基础课程的主要因素
高职学校的生源一般基础会稍有欠缺,理论知识不扎实,学习积极性受过打击。学生在学习理论性偏强的课程时,尤其表现出排斥。教学中教师很难抓住学生的特点来授课,就会造成学生厌恶学习的恶性循环。利用数据挖掘技术寻找学生在学习过程中的主要影响因素,比如生源、高考成绩、公共基础学习情况、专业基础课程(先行)学习情况、学习态度、教师等多方面因素,也可运用关联规则等方法分析学生学习专业基础课程受到哪些因素的影响,然后根据这些影响因素找到学生学习的规律,适时调整授课方法、进度等。
(三)发现影响学生学知识点的主要因素
考量学生在学教学知识点时的影响因素,以便教师在授课时采取相应的措施。收集历届学生学习此类知识点的情况,教师授课的情况,挖掘出学生对于某知识点的学习规律,及适合的学习方法、授课方法等,精确找到适合每个知识点、某一小节、某一章节的教学方法。这样就不会造成所有的教学决策全凭任课教师的主观决断,尊重了学生的成长规律,提高了教师的授课效率,由于有针对性地找到了适合学生学习的方法,学生学习效率也会大大提高。
(四)完善知识评价体系
知识评价体系是评估教学质量、学生学习成果等的重要途径,制定合理的知识评价体系也会反推教学质量,促进教学活动的有效展开,激励学生端正学习态度。知识评价包括理论评价和实践能力等的评价,需要根据课程核心能力要求、学生能力培养要求、与后续课程的衔接等多方面来制定考核办法。制定完善的评价体系是一个困难的过程,初期可以结合往届评价方法设计一些调查问卷,分别对学生、相关专业教师进行调查,利用数据挖掘进行数据分析,总结出合适的评价体系。经过实施以后,再根据学生的情况、教师的反馈进行完善与调整。
同时,根据数据挖掘对各知识联接的分析结论,结合专业教师的讨论意见,专业基础课程教师可以根据后续专业学习的需要挑拣出合适的知识,重新编制适合本专业学生学习的教材。对于专业基础课程教师的培养,条件允许的情况下,让专业基础课程教师融入专业,熟悉专业课程有利于更好地结合专业需求、现场案例诠释基础知识,学生从心理上来说,因为有专业的支撑,也能更好地接受复杂又繁琐的专业基础知识。
【参考文献】
[1]周丽娟.大数据时代下的当代职业教育研究[J].湖南邮电职业技术学院学报,2015(4)
[2]段向红,张飞舟.数据挖掘技术及其在职业教育中的应用探讨[J].职业教育研究,2007(7)
[3]仁,何业军,王桂莲.高职电工基础类课程教学改革的探索与实践[J].职业技术,2014(7)
中图分类号:G642 文献标志码:A
Abstract: According to the traditional teaching method in data warehouse and data mining course exists disadvantages such as theoretical knowledge is difficult to digest, experiment too modeled and there is a gap between the teaching content and students' skills and software enterprise requirements, the paper puts forward the task drive case teaching, selects tasks of close to the enterprise project , explains the key points in the task through the case , develops the students' innovation ability, and explaints that task drive case method implementation process and the matters needing attention.
Key words: Task Driven Teaching Model; Teaching Practice; Data Warehouse; Data Mining
0. 引言
数据仓库与数据挖掘技术出现于2O世纪8O年代,90年代有了突飞猛进的发展。这是信息和数据深度处理的必然需要,也是体现信息价值的重要工具,在当前信息社会有广泛的应用。“数据仓库与数据挖掘”作为一门既有理论基础又有实际应用价值的课程,已经成为很多信息类专业本科生的学习课程。
“任务驱动”作为一种教学方法,适用于学习操作类的知识和技能,尤其适用于学习计算机应用方面的知识和技能。
本课程具有较强的理论性和实践性,任务驱动的案例教学适合数据仓库与数据挖掘这样的课程,没有完整的案例贯通课程,学生无法将所学的理论知识融会贯通,也无法实际应用。案例教学可以培养学生解决问题的能力,通过案例,学生可以带着问题去学习,在学习中逐步分析问题并最终解决问题,从而提高创新能力;案例教学能够增强学生对实际问题建模的逻辑思维能力,激发学生主动参与学习过程,缩小理论和实践的落差。
1. 数据仓库与数据挖掘教学现状
数据仓库与数据挖掘是针对计算机专业高年级学生开设的一门专业课,以培养学生如何创造性解决实际决策问题的能力。该课程不仅有很强的理论性,更有实用性,它要求学生有较强的逻辑思维和编程开发能力。作为一门前沿性学科,数据仓库与数据挖掘有许多技术和方法是开放式、或仍处于探索阶段的。因此,学生除了掌握基本的概念与方法之外,对该门学科中许多面临的问题、有待拓展的研究方向应有所了解,这样有助于为学生提供对该学科的一个广博且适度的概览,提高自主学习的能力,并为有志于在该领域进行深入研究的学生提供一个学习的机会。
1.1 目前课程规划不合理,学生理论知识难以融会贯通
目前,大多数开设计算机专业的高校中,数据仓库与数据挖掘这门课都是在几乎所有课程学完之后开设,而这门课程本身是一门既有理论又有实践的高级编程课程,即使是在设计思路和方法上有较大不同,与其他面向对象的语言也是有很大联系的,而这种孤立的授课安排缺乏科学性。
从教学内容上看,案例教学适合数据仓库与数据挖掘这样的知识结构复杂、专业性强的课程教学,没有一个完整的案例,学生无法将所学的众多理论知识融会贯通,也无法理解一些复杂专业术语的实际应用。
1.2目前课内实验过于模式化,难于培养学生的创造性思维
从教学目标来看,案例教学可以培养学生解决问题的能力,通过案例,学生可以带着问题去学习,在学习中逐步分析问题并最终解决问题,从而提高创新力;从教学对象来看,案例教学能够增强学生对实际问题建模的逻辑思维的能力,这样学生主动参与学习过程,不仅可以激发学生探索学习新知识的热情,也可以缩小理论和实践的落差。
1.3 目前课程教学内容与学生的技能与软件企业要求存在差距
(一)知识发现的研究综述
知识发现(Knowledge Discovery in Databases,KDD)一词最早出现在1989年8月美国底特律召开的第11届国际联合人工智能学术会议上[1]。1996年,知识发现被Fayyad U,Piatetsky,Shapiro G和Smyth P定义为:知识发现是从数据集中识别出有效的、新颖的、潜在有用的,以及最终可理解的模式的非平凡过程[2]。对KDD的研究主要包括从数据库的角度进行研究以强调知识发现的效率,从机器学习的角度进行研究以强调知识发现的有效性,从统计分析的角度进行研究以强调知识发现的正确性,从微观经济学的角度进行研究以强调知识发现的最大效用。KDD过程是多个步骤交互螺旋式上升的学习和总结过程[3],基本流程包括:
(1)限定学习领域,储备预先知识、确定学习目标;
(2)聚焦目标数据集,选择一个数据集或在多数据集的子集上聚焦;
(3)数据预处理,数据降噪或数据清洗;
(4)数据转换;
(5)确定数据挖掘功能法则;
(6)获得知识信息、运用知识成果并重新选定学习目标。
在创新的过程中,单单依靠显性知识已经不足以支撑整个思维求异和技术创新的全流程。随着数据量的爆炸式增长,传统数据库的检索查询已不能满足信息社会的深层次需求,再加上传统分析手段的落后,大量数据来不及整理、分析或利用就已“时过境迁”成为无效信息,而且被长期积压在数据库中浪费存储资源。为了及时消解数据产生和数据理解之间的矛盾,还必须定期对数据进行深度挖掘,使得大量被隐藏的、有价值的信息得到有效利用。
(二)数据挖掘的理论探索
数据挖掘(Data Mining)是指使用算法来抽取信息和模式,通常是知识发现过程的一个重要步骤。数据挖掘融合了机器学习、模式识别、数据库技术、统计学理论、人工智能及信息管理系统等多门学科的最新成果。应用数据挖掘技术从大型数据库中发现隐藏在其中的规律和有用信息,为管理层决策提供事实型数据和研究模式。
根据KDD的目标任务,数据挖掘任务可分为:分类或预测模型发现、数据总结与聚类发现、关联规则发现、序列模式发现、相似模式发现、混沌模式发现、依赖关系或依赖模型发现、异常和趋势发现等。而所要挖掘的对象则可以分为:关系数据库、面向对象数据库、空间数据库、时态数据库、文本数据源、多媒体数据库、异质数据库、遗产数据库以及web等对象的挖掘。从方法论讲,其挖掘方法一般分为:聚类分析、探索性分析、机器、统计、神经网络(Neural Network)、遗传算法(Genetic Algorithm)、数据库、近似推理和不确定性推理、基于证据理论和元模式、现代数学分析、粗糙集(Rough Set)、集成方法等方法[4]。
(三)小结
综上,知识发现用于从大量数据中抽取规律信息,发现非预期或潜在的价值量,而数据挖掘作为知识发现的重要一环是与实践应用紧密相连的,两者不仅仅是对数据的简单检索调用,而是从数据集合中自动提取出隐含在数据中的关系和模式,进而对未来可能发生的行为进行预测,为决策者提供有力支持。
二、高校成绩管理与学科建设
成绩是学生在校学习期间对所学知识理解掌握情况和教师教学质量评价的原始记录,对学校的教学管理和教学改革措施评价具有重要的参考价值[5]。成绩管理是高校教学管理中的最为基础性的一个环节,是根据教学目的和教学任务,
通过学生的实际量化考核分数来进行统计、查阅和分析的综合性数据处理过程。该过程的科学与否,直接关系到教务管理的实际质量和教学工作的可持续发展,特别是在网络化和信息化的新形势下,该项工作被素质教育赋予更加深远的现实意义。本文所指学科成绩不仅限于学生的笔试成绩,还包括了学生参加各种校内外实习和培训,以及其他形式素质教育的量化数据。
(一)高校成绩管理所面临的新形势
从宏观上讲,随着国家高等教育普及工作的不断推进,以及教育战线“以人为本”理念的逐步深入,高校教务在成绩管理这一环节上所面临的任务显得比以往任何时刻都更加繁重。
首先,院校扩建和学生扩招为学科成绩管理模块在数据容量上增加了压力。近几年,随着一些高校教学资源的整合和扩充,许多高校设立了新校区、设置了新专业,反映在学生成绩管理上则是成绩数据的时空容量同时增长。每多出一个学生,从学籍材料到各年度学科数据再到图形化成绩资料都会相应增加,教师教务管理系统所要处理的信息量也会相应增加,这首先在量上增加了数据压力。