摘 要:从提高应用能力的本科生创新人才培养模式的角度,在分析了当前高校数据挖掘课程的教学现状的基础上,本文阐述了以项目驱动进行数据挖掘课程教学改革的观点,总结了以项目驱动数据挖掘课程教学实践的一般流程,结合淮北师范大学计算机科学与技术学院的教学实践,在以数据挖掘技术提高学生创新实践能力的方面取得了良好的教学成果。
关键词:数据挖掘;项目驱动;教学改革
1 背景
当前,随着我国高等教育的发展,高校毕业生大量涌入市场,造成供需关系的不平衡,毕业生就业压力加大。用人单位要求计算机科学与技术专业的毕业生,具有较强的计算机应用能力和创新实践的能力。这就要求高等院校培养出的计算机科学与技术专业的学生,不仅具有扎实的理论基础,而且具有较强的创新实践能力,使他们能够胜任于各行业的应用领域。
数据挖掘是研究生教育阶段所开设的专业课程,目前一些高校在尝试向本科生开设此类课程[1]。数据挖掘是计算机科学与技术的一个前沿学科,也是一个综合性的交叉学科。其内容涉及到了多方面应用性强的技术领域,是提高计算机专业学生应用能力和创新实践能力的很好载体课程。
我校计算机科学与技术学院为本科生开设了的人工智能、数据挖掘等相关课程。许多同学从课堂学习中,对数据挖掘的技术应用产生浓厚的兴趣,期望能继续深入应用数据挖掘技术解决现实问题。结合同学的兴趣,在课程学习过程中,我尝试了以项目驱动的教学方法,引导学生自主研究、自我选题,完成数据挖掘方向的创新实践项目,提高其应用能力。
2 教学现状
数据挖掘是新兴的交叉学科,内容广泛、难度大,其内容包括了传统统计学,人工智能,机器学习等多门学科的内容,并且广泛应用于科学、工程、商业和医学等诸多领域。为适应社会发展的需要,我校计算机科学与技术学院为本科生开设了人工智能、数据挖掘、神经网络等相关课程,分别由理论与实验两个环节组成。笔者在多年教学实践中发现,对本科生而言,数据挖掘课程教学主要存在以下问题:
(1)内容广,理论深
数据挖掘是多学科的交叉课程,内容涉及了统计学、算法、数据库、机器学习、模式识别、可视化等,内容广泛并且理论深。本科生的知识体系薄弱,在短时间难以透彻理解各部分理论,更谈不上综合运用。
(2)实验环节不能体现实际应用的全过程
数据挖掘的实验环节,多是采用系统平台下的测试数据集,应用某种算法模型,得到相应结果。数据数量很小,如weka内自带的测试数据weather.arff 只有15条数据,而且数据集已经经过数据预处理。然而在实际数据挖掘的项目中,数据收集和数据预处理的部分要占全部工作的80%以上,这一点现在的数据挖掘实验环节却无法体现出来。
国内一些学者根据数据挖掘教学的共性问题,提出了一些教学改革,如重庆大学邓克文等人提出了目标驱动的教学方法,认为数据挖据课程的理论教学和实验环节“要重思想,轻细节”,“对于结果的解释要结合项目深入理解”[2]。广西民族大学韦艳艳等人,在数据挖掘实验教学中,采用了来自淘宝网的真实数据集,取得了非常好的教学效果[3]。
参考国内同行的教学研究成果,结合我的教学实践,我提出了以项目驱动进行数据挖据课程的教学改革,即以完成数据挖掘类的应用项目为核心,在实施数据挖掘项目流程的整个过程中,发现问题、解决问题,以技术应用深化理论知识的理解。
3 以项目驱动数据挖掘教学实践的流程
以项目驱动数据挖掘教学实践的整个流程如图1所示。
3.1数据挖掘基础知识的讲授
在课程开始时,我会对学生做数据挖掘技术知识的讲授,讲授目的旨在建立学生数据挖掘内容体系的框架,因此课堂讲授内容并不针对具体算法模型的细节,而着重于数据挖掘算法模型的宏观分类及其对应解决的数据挖掘问题。使学生对数据挖掘的意义、实施流程有宏观理解,并对数据挖掘解决实际问题产生浓厚的兴趣。学生在课下进一步阅读参考书目的指定章节,我推荐的参考书有韩家炜先生,Pang-Ning Tan等的著作[4][5]。
3.2 学生自主选题和数据收集
学生对感兴趣的领域进行调研,自主选题,并与我讨论所选课题完成的可行性。可行性评估的焦点是课题的研究意义,能否收集到有效的研究数据,以及项目中可能应用到的算法模型。研究课题确定后,学生开始收集数据。在数据收集的过程中,我会和学生不断沟通,讨论数据收集中所遇到的问题 ,使得数据的收集能顺利完成。
数据收集主要有以下两个途径:
(1)通过国际互联网。网络上有各个行业公开的信息资源,这些资源通过收集、整理会成为新颖、独特的研究数据。我指导的学生有的在中国银行网站上收集到过去十年我国宏观经济指标的数据,有的在工信部网站收集到电信行业的数据,有的通过多个网站汇总收集了我国各大城市的房价历史数据等。
(2)通过个人的渠道。各个行业在内部电子化管理的过程中,形成了大量的数据。例如:电脑公司的电脑销售数据,保险公司保单销售数据,医院的电子病例等。
数据的收集和研究选题的确定,能充分发挥学生的想象力,调动学生的研究兴趣,突破现有数据挖掘应用行业局限。新颖的选题和数据,尽管应用的是传统的数据挖掘模型,仍然是数据挖掘应用领域的突破和创新。
3.3数据挖掘建模和文献检索
数据经过预处理后,进行数据挖掘。我们所使用过的数据挖掘软件有SPSS CLEMENTINE12.0 和WEKA3.6。CLEMENTINE12.0是商业软件,新版本已经更名为SPSS Modeler。CLEMENTINE12.0适用于数据挖掘过程复杂,但不需要大量的数据挖掘模型算法测试比较的研究课题;WEKA是开源软件,可以从互联网下载获得[6]。WEKA适用于研究目标确定,不需要过多的数据预处理,侧重于比较测试大量的算法模型的研究课题。
学生根据数据挖掘的结果,请教行业人员,用行业知识进行解释,并进行文献检索,检索其他研究成果与我们的结果比较,一致的支持我们研究结果,矛盾的地方引导我们进行更深入的研究和解释。
3.4论文的撰写
学生在论文中描述自己的工作过程,讨论数据挖掘的结果。我引导学生梳理工作过程,按照如图2所示的逻辑过程,描述自己的工作。
4 结束语
学生在以项目驱动的数据挖掘课程学习过程中,实现了整个数挖掘的流程,在技术应用的带动下深入理解了数据挖掘的理论知识,实践了创新性的想法,培养了应用数据挖掘技术解决实际问题的应用能力和创新实践能力。学生在项目完成后所撰写的论文,有的发表在国内外的学术期刊上,有的形成了咨询报告给行业公司参考。
计算机科学与技术是理论与实践并重的专业;我通过上述工作发现,计算机技术解决行业问题的项目驱动的教学方法,能较好地引导学生深刻理解理论知识,提升学生的创新实践能力和计算机应用能力。在计算机科学与技术人才培养模式中,可以充分应用项目化驱动的教学方法,有利于培养应用能力强同时具有创新精神的优秀的高校毕业生。