数据挖掘教学实践研究

2022-03-02 00:26:37 | 浏览次数:

摘 要:随着社会发展,数据分析、数据挖掘类课程建设成为复合人才培养和新学科建设的重要部分。由此,设计面向非信息专业的数据挖掘课程,开展相关的教学实践研究很有必要。在厘清非信息专业数据挖掘课程的教学目标、内容和考核差异基础上,提出了“横纵交叉结构化教学法”。该教学法以经典算法为单元,对单元算法进行“哲学原理—应用实例—重点知识—作业考察”四步横向推进的方式讲解和考察;同时将算法中的重点技术作为单元间纵向线索,串联成一个完整的数据挖掘标准流程。教学实践中采用鲜活的实际案例,并强调数据结果分析和应用等方面。最后对实践教学经验和发现进行了总结

关键词:横纵交叉教学法;数据挖掘;教学改革

DOI:10. 11907/rjdk. 182409

中图分类号:G434文献标识码:A文章编号:1672-7800(2019)004-0210-04

0 引言

随着“大数据”概念的普及,人类从信息技术(Information Technology,IT)时代进入数据技术(Data Technology,DT)时代。以数据驱动的人工智能、商务智能等不断催生新的产业和经济增长点。然而,不断膨胀的数据量和当前的处理能力差距逐渐扩大,“Drowning in data,but starving for knowledge”现象愈发突出,数据分析人才急缺。为此高校新增了数据科学和数据交叉学科专业,如《数据科学与大数据技术》、《大数据管理与应用》、《电子商务与营销》、《智能医学工程》、《金融数据工程》等课程[1]。数据挖掘作为数据科学专业的骨干课程,前承概率论、统计学、数据库,后引导算法分析、商务智能决策等课程,涉及范围广、难度高,对实施非信息专业背景下本科数据挖掘教学是个挑战[2]。

对数据挖掘课程开展的研究有:将数据挖掘作为一门引导性课程,教学的核心目标是引导学生了解数据挖掘的基本原理和数据挖掘的主要应用方向[3]。但以往数据挖掘实验环节存在数据量过小,数据集理想化等问题,不能体现实际应用中数据挖掘的需求和问题[4]。

针对数据挖掘教学的共性问题学者们也提出一些前沿改革建议,如李勇[5]提出要细化数据挖掘(机器学习)教学目标,将启发式和讨论式教学、强化实践教学、教学全过程考核和融合多种教学手段等措施应用于本科机器学习教学,针对数据挖掘配套的学期课程设计,提出围绕学科特点,通过课程设计建立工程思想,培养工程意识[6-7]。张艳敏等[8-9]认为高校教师应把即将毕业的学生作为重要的教学对象,案例要与时俱进,培养学生采用数据挖掘知识解决实际工程问题的能力;王雷全[10]提出本科机器学习教学中以深度学习作为课程体系主导,以Tensorflow为实践平台的机器学习科研实践课程体系。

还有一些教学实践中采用了真实数据并将案例应用于相关交叉专业,如广西民族大学韦艳艳[11]等在数据挖掘实验教学中,采用淘宝网的真实数据,取得了非常好的教学效果;南京中医药大学信息技术学院佘侃侃[12]在数据挖掘课程中,针对中医药理论实践项目采用数据挖掘的方法发现规律;朱卫平[13]研究了如何将数据挖掘与数据库和法律课程在大数据背景下进行联动教学;廖旺宇[14]的贯穿式案例教学法应用在四川旅游学院本科教学实践中,受到学生好评。

从目前成果来看,大量文献、课程研究都集中在理工类背景的学校或综合类学校中,人文背景下数据挖掘类课程体系设计和建设实践较为缺乏[15-16]。本文就此问题从教学目标、教学方法、教学效果方面提出实践经验总结,为相关研究提供借鉴。

1 教学目标与特点

数据挖掘(Data Mining,DM)又称知识发现(Knowledge Discovering),与机器学习(Machine Learning)、模式识别(Pattern Recognition)、人工智能(Aritificial Intelligence)等有較大重复交叉。尽管数据挖掘课程已推广至众多学科,但在新专业建设和课程内容设计中,仍与计算机科学等信息类专业有差距。

信息类专业和非信息类专业对数据挖掘课程教育目标差异明显。信息类专业本身以设计/优化数据挖掘方法和工具本身为目标,更偏重理论性和底层应用,主要是对数据科学中模型的理解和运用。而非信息类专业对数据挖掘更多偏重应用性,培养学生利用数据挖掘方法解决行业问题的能力。其次,教学受众和基础不同,非信息类专业和信息类专业在相关数学知识和编程基础等方面有较大不同。所以在教学设计中,在保留课程核心内容基础上,对课时安排和内容深浅程度进行适合于教学目标和听课受众的调整,见表1。

2 教学方法设计

针对不同学科受众特点和教学重点的异同介绍教学实践中的几个实例。以“电子商务与营销”专业大三下学期学生为例,该班文理科生各半,前序课程有概率论、统计学、数据库原理、编程基础等。课程内容以通用数据挖掘处理流程为主线,对4-5个实用案例做详细讲解和示例,学生通过学习可以掌握3-4类数据挖掘经典算法原理,能使用一门轻量级编程语言(Python)或分析软件(Waikato Environment for Knowledge Analysis[17],WEKA)进行数据处理操作。

2.1 数据挖掘通用流程

在了解数据挖掘基本概念后,首先需要建立框架概念,了解数据挖掘工作的通用处理流程。基本数据挖掘过程需经历数据获取、预处理、算法学习和结果分析4个步骤,见图1。

K近邻算法(K-NearestNeighbor,KNN)原理简单,通用性好,适合作为数据挖掘课程入门算法介绍。课堂以KNN为例,讲解数据挖掘基本流程(下文提到的各种函数和库均指Python 库)。

案例选用加州大学欧文分校UCI(University of California Irvine)机器学习实验室[18]提供的电离层数据(ionoshpere)为数据源,并以此介绍业界经典科研数据集的采集和常见数据格式。数据获取后引入3个模块:转换器transformer、模型model和流水线pipeline展示预处理、算法模型和流程化概念、用法。其中算法模型如果采用监督式学习方法,则model分为训练器fit和预测器predictor两步,而非监督学习方法没有训练fit这一步骤。流水线pipeline可以把连续的若干操作保存到工作流中,数据经前一步处理后输出结果作为下一步的输入,实现流程化概念和代码复用。作为结果分析的重要工具,引入Python绘图库Matplotlib做数据可视化分析和展示。结果分析对科研和商业数据分析非常重要,是进行模型迭代优化、解读知识、指导后续操作的重要依据。

数据挖掘基本步骤又包含若干选项和具体步骤。如基于问题的特征选择、特征构建(Feature Engineering)也属于预处理的一部分;基于数据特点和具体挖掘问题,采用不同的建模思想从而选择不同的算法模型,这些都属于数据挖掘框架的重要部分。

2.2 教学实践

从数据挖掘10大经典算法[19]中选择应用广泛的6种算法进行案例教学,其中包括3种监督式学习(K近邻KNN、决策树Decision Tree、贝叶斯Bayes)、两种非监督式学习(K均值Kmeans、层次聚类AGNES-DIANA)和一种关联规则(Apriori)方法。众所周知,每一类经典算法之下都有数十或上百种变形优化算法,基于学习者基础原因,教学中选择讲授最基本的代表性算法,着重讲解这些经典算法体现的核心哲学思想,作为传递思维方式和后续自学高阶算法的基础。

兼顾学术和实际操作能力两个方向,在讲解每个算法时推荐1-2篇本领域较新的科技论文,了解当前发展情况,同时学习科技论文的分析方法、思路和写作技巧。在案例实现方面,选取实操性和趣味性强的前沿应用案例作为课堂和作业代码案例。

在教学内容结构安排上,采用横纵交叉结构化教学法,设计横纵两条线索,见图2。

横向线索显示一个算法单元的教学和作业考察完整周期。每个单元选择1-2个“核心算法”讲解其原理,接着以“课堂案例”为应用背景,在其中分配若干“知识重点”,并通过“作业考察”强化某项数据挖掘技能。自左向右循序完成一个算法教学单元。每个单元基于难度和教学重点不同安排4-6个课时完成。纵向线索主要体现在“知识重点”和“作业考察”这两列,贯穿每一个横向算法单元。在知识重点项中,有些只与此单元算法有关,有些则是数据挖掘的基础知识点在本案例中的运用和实现。如流水线函数在KNN单元引入,数据标准化、矢量化在聚类和贝叶斯单元中体现;分类器评价参数(精度、召回率、准确率、F值等)则放在贝叶斯分类单元中。作业考察部分结合课堂案例,在每个算法单元实现一项重要环节,包括数据载入、特征工程构建、可视化、模型选择、结果应用分析等,由上而下完成一套完整的挖掘流程。这里考虑受众的学习目的和编程基础,作业考察内容不单是算法分析和性能调优,更多放在数据采集、基本数据结构了解、数据载入读出、可视化和结果分析上。下面以决策树算法单元教学实践举例说明。

3 基于决策树的体育赛事预测案例

决策树(Decision Tree)算法原理简单,计算复杂度较低,可解释性强,输出结果易于可视化。下面以决策树中分类回归树CART(Classification And Regression Tree)算法阐述数据挖掘中分类问题的实质及应用,了解监督式学习和非监督式学习的异同。

以一篇用决策树分析德国非盈利性俱乐部推广因素发现的文章[20]为例。决策树除了做分类预测外,由于其算法可解释性,还可用来做组织行为管理中关键影响因素发现、策略影响等。

选取NBA历史数据,运用决策树预测球队赛事输赢。数据采自体育数据网站[21],数据结构采用pandas中dataframe数据框,分类器采用python机器学习包sklearn中决策树分类器,同时采用graphviz[21]做决策树结果可视化(图3)。本单元的学习重点除了决策树系列算法原理外,还包含特征工程——从多维度原始数据中构造影响比赛结果的关键特征。在数据挖掘里,好的特征选择会直接影响到最终结果的性能,有时甚至比选择合适的算法模型更重要。所以构造和发掘潜在关键特征非常重要,特征工程的构建作为本教学单元的作业部分重点研究。

决策树涉及到的基本知识还包括递归、贪婪算法、信息熵等。在实际预测应用时,决策树更多采用随机森林(Random Forest)的形式出现,由此引入集成学习(Esemble Learning)方式,提升Boosting和分包(Bagging)等概念的理解。

4 结语

将横纵交叉结构化教学法应用于旅游电子商务专业教学,笔者从学习目的和学习意愿、课程难度、学习中最大障碍、希望学习的知识和技能几个方向调研,结果见图4~图7。经过调研发现:学生学习意愿普遍增强,认为课程难度适中。学生肯定了本文的教学方法,对教师在后续学科建设和课程安排上具有参考意义。

参考文献:

[1] 中華人民共和国教育部. 关于公布2017年度普通高等学校本科专业备案和审批结果的通知[教高函〔2018〕4号]. [EB/OL]. http:///srcsite/A08/moe_1034/s4930/201803/t20180321_330874.html

[2] 刘峥,王俊昌. 数据挖掘等进阶课程在本科高年级的教学方法 [J]. 现代计算机, 2017(4): 40-42.

[3] 杜卓明. 数据仓库与数据挖掘课程教学实践与教学改革探索[J]. 科技视界,2014(10):86-88.

[4] 范祺,朱昌杰,肖建于,等. 以项目驱动的数据挖掘课程教学改革的研究[J]. 科技世界,2012(4):9-10.

[5] 李勇. 本科机器学习课程教改实践与探索[J]. 计算机教育,2015(13):63-66.

[6] 邓志鸿,谢昆青. 机器学习课程的教学实践——以北京大学“智能科学与技术”本科专业为例 [J].  计算机教育,2016(10):18-20.

[7] 邓娜,林松,熊才权,等. 基于案例和悬念的数据挖掘教学模式设计[J]. 计算机教育,2018(11): 97-99.

[8] 张艳敏. 大数据环境下的数据挖掘课程教学研究 [J]. 教育天地, 2018(8):175-176.

[9] 邵俊,杨勤丽. 理论创新驱动的数据挖掘课程教学改革[J]. 计算机教育,2017(4):92-94.

[10] 王雷全,吴春雷,郭晓菲. 机器学习科研实践课程建设[J]. 电子世界,2017(17):50-51.

[11] 韦艳艳,张超群. 信息管理类专业《决策支持系统》实践教学探讨[J]. 高教学刊,2016(24):154-155.

[12] 佘侃侃. 中医院校数据挖掘课程探索与改革[J]. 教育教学论坛,2013(49):198-199.

[13] 朱卫平,陈佳玲. 大数据时代下的《商务智能与数据挖掘》课程教学改革研究[J]. 计算机教育,2017(10):33-36.

[14] 廖旺宇. 贯穿式案例教学法在数据挖掘课程中的应用[J]. 教育天地,2018(3):209-210.

[15] 战疆, 尤晓东,曹巍,等. 文科大学数据库课程改革探索与实践 [J].  计算机教育, 2018(10):153-156.

[16] 陶烨,张莉,曹迎春. 面向高校文科生的数据科学基础课程研究与实践 [J]. 工业和信息化教育,2017(3): 32-35.

[17] IAN H, WITTEN, EIBE FRANK, et al. Practical machine learning tools and techniques with Java implementations[J]. ACM Sigmod Record , 1999,31 (1):76-77.

[18] UCI. Machine learning repository[EB/OL]. http://archive.ics.uci.edu/ml/datasets/.

[19] WU X,KUMAR V, QUINLAN J R, et al. Top 10 algorithms in data mining[J]. Knowledge and Information Systems,2008,14(1): 1-37.

[20] PAMELA WICKER,CHRISTOPH BREUER. Exploring the critical determinants of organisational problems using data mining techniques: evidence from non-profit sports clubs in Germany[J]. Managing Leisure, 2013,18(2):118-134.

[21] BASKETBALL REFERENCE. Basketball Stats and history[EB/OL]. http:///.

[22] GRAPHVIZ. Graph visualization software[EB/OL]. http://www.grap- hviz.org/.

(責任编辑:杜能钢)

推荐访问: 教学实践 数据挖掘 研究