QQ : 859367193
编辑部投稿邮箱:jiaoyujiaoxuelt@VIP.163.com
电话:0311-87766660 80820729
地址:河北石家庄联盟路705号 河北教育出版社 《教育教学论坛》杂志社 编辑部
数据挖掘课程教学探讨
曹楠源,许卫霞
(上海立信会计金融学院,信息管理学院,上海 201209)
[摘 要] 数据挖掘课程是大数据相关专业的重要专业课程,通过数据挖掘可以发现数据中隐藏的价值。该课程采取理论与实践相结合的教学模式。理论教学方面主要讲解数据挖掘的经典算法。在实践教学方面,使用python编程实现理论部分的经典算法,让学生通过算法的编程进一步地掌握算法。按照课程思政改革的要求,在课程设计中设置一些以社会实际问题为主题的案例,在提高学生学习兴趣的同时也帮助学生树立正确的价值观。对于复杂的、抽象的数据挖掘理论算法,开设线上课程,有利于学生回顾重要的、难理解的知识点,帮助学生掌握理论知识。
[关键词] 数据挖掘;课程思政;教学设计;
[作者简介] 曹楠源(1989—),女,汉,江苏盐城,博士,讲师,上海立信会计金融学院教师,研究方向为数据科学与大数据技术;许卫霞(1988—),女,汉,江苏南通,博士,讲师,上海立信会计金融学院教师,研究方向为数据科学与大数据技术。
[项目基金] 2020年上海立信会计金融学院——院级优质在线课程-数值计算,信息管理学院大数据技术一流专业(B类)微专业建设项目 A0-11-180420-612 。
[中图分类号] G642.3 [文献标识码] A
一、 引言
近年来,人们越来越认识到数据的重要性,数据也被称为“未来的石油”。数据挖掘可以看作是开采“石油”工具,可以帮助人们从海量的数据中通过数据挖掘算法将隐藏在数据中的价值提取出来[1]。数据挖掘[2]汇集了统计学[3,4]、人工智能[5]、机器学习[6]、数据库等诸多学科的知识,主要研究如何从大量、有噪声、不完全、以及随机的数据中提取隐含的、预先未知的且有潜在价值的信息。数据挖掘课程可以促进学生了解大数据、用好大数据,并且善于获取数据、分析数据、运用数据。可以培养培养学生正确的世界观、价值观和道德观,提高学生的学习兴趣和解决现实问题的能力。
目前,数据挖掘采取线下教学模式,使用理论与实践相结合的教学方式。数据挖掘主要包括问题的定义、数据的采集、数据预处理、数据挖掘以及结果评估和展示5个步骤。课程的理论部分主要讲解数据挖掘的经典算法,例如:朴素贝叶斯分类算法、ID3算法、C4.5算法、Apriori算法、FP增长算法、Cart算法、K均值算法等等。实践部分分为三个阶段讲解,首先使用python程序做数据的采集以及数据的预处理。其次使用python程序实现数据挖掘的经典算法的代码实现。最后使用python程序实现数据挖掘结果的可视化展现。挖掘课程中包含了大量复杂、抽象的算法,对学生的数学功底要求较高。如果学生的数学功底不是太好,对课程算法的学习会比较吃力,也会失去对数据挖掘课程学习的兴趣。同时,对于数据挖掘课程中的综合案例,往往不是一个算法就能分析得到想要的结果,一般需要循序渐进地使用不同的分析方法、算法去处理数据,得到结果。而学生在面对综合案例时往往没有清晰的思路,不知道在哪个步骤使用哪种分析方法以及算法。因此,如何让学生不畏惧学习数据挖掘课程中复杂抽象的算法,如何让学生更好的掌握理论知识,以及如何让学生能够条理清晰地分析综合案例、使用合适的分析方法和建立适当的模型,这些都是我们改进教学设计的方向。
本文以课程思政改革为指导思想,以提高学生的学习兴趣、增强学生解决现实具体问题的能力为目标,对数据挖掘课程的教学设计进行探讨,研究如何提升数据挖掘课程的理论和实践教学的效果。
二、 课程教学设计探讨
本节分别从数据挖掘的课程目标、课程设置、课程实验以及课程案例四个方面探讨数据挖掘课程的教学设计。
(一) 课程目标
“数据挖掘”是大数据相关专业的重要专业课,也是一门交叉学科,包含了统计学、人工智能、机器学习、数据库等学科的知识。
该课程的主要目标是帮助学生从纷繁复杂且参差不齐的信息中发现有价值的规律和知识,并将它们提炼出来帮助科学决策。例如,在零售业的数据仓库系统中,存储着海量的零售商和客户交易的详细数据,而我们无法通过人眼直接看出这些大量的交易数据中的商品是否存在着某些联系。1993年,Rakesh Agrawal等人提出了购物篮分析[7],提出了在数据仓库[8]系统中所存储的交易数据中的商品存在着某种联系——关联关系,通过分析交易数据当中的商品集合,可以找到关联算法(计算哪些商品之间存在关联关系)。而商品之间所存在的关联关系则表示了用户的购买行为。当零售商分析得到用户的购买行为后,就可以对商品的库存量、商品在货架上的排布等进行统一安排,从而可以使得零售商的竞争力进一步得到提高。沃尔玛超市的啤酒和尿布的陈列故事是一个经典的购物篮分析案例,数据挖掘公司NCR Teradata利用数据挖掘工具(关联算法)对沃尔玛超市数据仓库系统中的商品集合进行了分析,意外的得出了和尿布一起被人们购买的产品是啤酒,之后,沃尔玛超市的就在其门店中将尿布和啤酒陈列在一起,这种匪夷所思的陈列却让两种商品的销售量都有很大的提升。如今已进入大数据时代,各行各业每天都在产生着大量的数据,数据中可能隐藏着我们所不知道的价值,人的大脑无法从海量的数据中把数据的价值快速地提取出来,借助数据挖掘工具,我们可以快速的从数据中提炼出数据的价值和有益的信息。数据挖掘课程就是帮助学生认识数据的价值性,为学生提供方法将价值从数据中提取出来,提高学生以后的工作能力。
通过数据挖掘课程,使学生拥有分析数据的能力。“数据挖掘”中有很多经典的算法,除了详细讲解经典的算法,对每个算法会设置具体的案例,同时设置综合案例。本课程的主要目的不仅让学生掌握经典的数据分析的算法,也让学生学以致用,会灵活地运用算法,将算法运用到实际问题中,提高学生解决实际问题地能力。
(二) 课程设置
在数据挖掘的教学中,根据学生的学习反馈,主要有如下两个问题:
1.学习算法难度大。数据挖掘课程中包含了支持向量积、逻辑回归、粗糙集、BP神经网路、卷积神经网络等算法。这些算法比较抽象,掌握这些算法需要学生具有较强的数学功底和逻辑分析能力,大量抽象的定义、算法,容易让学生望而生畏,也降低了学生学习的兴趣。
2.综合案例分析难度大。对特定的数据挖掘算法而设定的具体案例进行分析时,学生知道用何种学习算法训练模型并去分析数据。但对于综合案例,学生的思路是模糊不清的,无法把所学的挖掘算法串联起来灵活地使用。在做数据的挖掘和分析时,要么不知道选择何种学习算法,要么做数据的挖掘时比较片面,要么挖掘的过程没有条理比较混乱。
因此,在课程设置方面,为了解决上面的问题,尝试下述步骤来实现:
1.在讲解难度较大的算法之前,先划定部分课时来讲解相关的预备知识,将算法中涉及到的数学等重要知识提取出来,作总结和归纳,帮助学生理解数据挖掘算法的核心思想。
2.对于抽象的算法,使用学生比较熟悉的案例作为引导,通过例子的计算过程,让学生理解并熟悉算法流程的每一个步骤,掌握算法的核心思想。
3.利用网络资源,建设数据挖掘线上课程。梳理数据挖掘教学内容,提炼课程中的知识点,对每一个知识点,录制视频详细讲解。这样学生可以根据自己学习的情况,如果对课程中的知识点有疑问,就可以随时随地观看相应知识点的讲解,掌握课程内容。
4.调整课程设置中的理论课时和实践课时的占比,增加实践课时,培养学生解决实际问题的能力。对于案例的选择,不拘泥于每次课所学的算法。挑选综合案例,将已学的算法进行综合应用,采取老师带学、学生分组团队讨论等方式进行案例分析,通过实践让学生更加深入地掌握各个算法,并学会灵活应用。
(三) 课程实验
数据挖掘课程中所涉及的知识面广,知识点抽象、不易理解、逻辑性强。若偏重于理论教学,就会削弱学生动手实践的能力,特别是在学生面对综合案例时,将会无从下手,不知道怎样去选择学习算法、怎么优化模型。为增强学生完成挖掘数据的能力,本课程尝试增加实验的课时量,在每个算法讲解完后,给出具体的案例,让学生通过编程完成数据分析,让学生在实践中体会数据挖掘算法在解决现实问题中的魅力。
本课程对朴素贝叶斯算法、ID3算法、Cart算法、Apriori算法、FP增长算法、K-均值等数据挖掘中的经典的算法展开实验。通过python程序设计语言,实现样本数据的采集、预处理,以及实现模型的建模和优化。课程实验过程中所涉及到的数据数量为中小规模,根据数据的量,选择适合的模型。对样本数据做分析,不同的模型所给出的分析结果的准确率也会有差异,对比不同模型的分析结果,帮助学生在以后的数据挖掘中选择更优的模型来进行数据的分析预测。设置综合实验,把已学的算法应用到具体的实事案例中,通过实验可以帮助学生掌握数据的预处理、建模、优化分析流程,提高学生做数据分析的能力。
课程实验主要分为三个模块。第一个模块实现数据的采集,数据的来源主要是互联网。使用python程序设计语言编写爬虫代码,从互联网上爬取相关的数据。通过具体实验,让学生了解爬虫的概念、常见的爬虫的框架、爬虫的架构,以及爬虫的策略,并初步掌握使用哪些模块对爬取的数据进行清洗。设置实验,爬取网络上的博客文章、豆瓣电影信息、智联招聘信息等;第二个模块实现数据的预处理。无论是从互联网上,或是从数据库中获取到的数据,都不可避免的会出现错误,例如,数据异常、数据缺失、数据输入错误等。因此我们需要对数据进行预处理。另一方面,由于不同的数据挖掘算法工具所处理的数据特征各不相同,因此要对数据特征进行处理,使得处理后的数据特征满足数据挖掘算法工具的要求。主要设置实验对数据进行特征选择、特征降维、特征编码等;第三个模块实现数据挖掘的经典算法,并实现结果地可视化呈现。使用python程序设计语言,将经典算法编写成代码,分析相关数据。设置实验,使用朴素贝叶斯算法对旧金山犯罪分类进行预测、使用Apriori算法挖掘用户购买产品的关联性,分析用户的购买习惯、使用支持向量机(support vector machine, SVM)算法进行人脸识别、使用FP增长(FP Growth)算法从新闻网站挖掘热点新闻、使用K近邻(K Nearest Neighbor, KNN)算法对笔迹识别、使用Cart决策树分类算法对偷税漏税行为进行预测等。
(四) 课程案例
以史为鉴,可以知兴替。如今进入大数据时代,培养学生善于以数据为鉴,可以改善人们的生活,有助于社会经济的发展。在课程思政改革的指导要求下,“数据挖掘”课程旨在通过社会案例帮助学生树立正确的世界观、价值观和人生观,提升学生的工作能力,为社会的发展贡献自己的力量。例如可以通过吸烟有害健康的案例,提醒学生要有一个好的生活习惯,并且提升他们对数据更深层次的认识。吸烟有害健康是人类的共识,但吸烟行为在社会上却又是一个很普遍的行为。一直以来并没有相关的研究确切的表明吸烟会让人得绝症,吸烟和得绝症之间并不形成因果关系。曾经美国的烟草公司一度被告上法庭,诉讼他生产的烟草有害,然而因为烟草和健康没有因果关系,案件最后都是不了了之。直到在上个世纪90年代,通过对得绝症病人的数据进行分析挖掘,得出吸烟和绝症是有关联性的,这是美国的烟草公司才败诉,做出了相应的赔偿。通过具体的社会案例可以培养学生对数据的敏感度,培养学生用数据说话,同时也归正他们的生活习惯。
课程实验是为了让学生理论结合实践,深刻的掌握理论算法。课程案例本质上是综合实验,以具体的社会问题为案例,从互联网或业务数据库中采集数据,对数据进行探索,分析数据的特征,对数据进行预处理,最后建模与评估。
为提升学生的思想觉悟,树立正确的三观,做一个诚信的人,拟设置“信用评分”和“保险欺诈行为挖掘”案例[9]。“信用评分”案例以银行小额贷款样本数据为本源,将贷款的风险问题化为数据分析问题,根据客户的信用行为预测未来拖欠贷款的可能性。“保险欺诈行为挖掘”案例以医疗保险数据为本源,对客户的交易数据做分析,通过统计分析、聚类分析、关联分析等方法将有欺诈特征的样本数据挖掘出来。通过案例让学生重视个人的信用,做一个诚实守信的人。培养学生解决实际问题的能力,更好地为社会发展服务,拟设置“大数据用户画像”案例[10],以广电用户数据为本源,建立聚类分析、关联分析、神经网络等模型,通过用户画像把握客户特征和行为习惯模式,为用户提供更好的服务。
三、 结语
数据挖掘是大数据专业的一门重要专业课,课程的目的在于帮助学生在大数据时代,了解大数据、用好大数据,并能够善于获取有用的数据、分析数据并运用数据,让学生有一双善于发现数据之美的眼睛,为以后参加工作提供助力。在教学设计中,合理地分配理论课时和实践课时,通过实践课程帮助学生更加深刻地掌握理论算法。按照课程思政改革的指导思想,增加课程案例,通过具体的案例不仅可以培养学生解决具体问题的能力,也能帮助学生树立正确的价值观,为今后社会和经济的发展做贡献。
[参考文献]
[1] 林子雨.大数据导论——数据思维、数据能力和数据伦理 [M]. 北京: 高等教育出版社, 2020.
[2] 罗森林,马俊,潘丽敏.数据挖掘理论与技术 [M]. 北京:电子工业出版社,2013.
[3] 李航.统计学习方法 [M]. 北京:清华大学出版社, 2012.
[4] 贾俊平,何晓群,金勇进. 统计学 [M]. 北京: 中国人民大学, 2018.
[5] 李长河.人工智能以及应用 [M].北京:机械工业出版社,2006.
[6] 周志华.机器学习 [M]. 北京:清华大学出版社, 2013.
[7] Rakesh Agrawal,Tomasz Imielinski,Arun Swami. Mining Association Rules between Sets of Items in Large Databases [J]. ACM SIGMOD Record, 22(2):207--216.
[8] 张维明.数据仓库原理与应用 [M]. 北京:电子工业出版社,2002.
[9] 张大斌.数据挖掘与商务智能实验教程 [M]. 武汉:华中师范出版社, 2015.
[10] 张文彤,钟云飞.IBM SPSS 数据分析与挖掘实战案例精粹 [M]. 北京:清华大学出版社, 2016.
Exploration of the Course in Data Mining under the requirements of curriculum ideological and political reform
(Shanghai Lixin University of Accounting and Finance, Shanghai 201209, China)
Abstract: Data mining course is an important professional course for big data related majors, through which the hidden value of data can be found. The course adopts the teaching mode of combining theory with practice. In theory teaching, we mainly explain the classic algorithm of data mining. In the aspect of practical teaching, we use python programming to realize the classical algorithm in the theoretical part, so that students can further master the algorithm through the algorithm programming. According to the requirements of the ideological and political reform of the curriculum, some cases with the theme of social practical problems are set up in the curriculum design, which can not only improve students' interest in learning, but also help students establish correct values. For complex and abstract data mining theory and algorithm, online course is helpful for students to review important and difficult knowledge points, and help student’s master theoretical knowledge.
Key worlds: Data Mining, Curriculum Ideological and Political, Teaching Design