刊文精选

2022年第4期:“数据挖掘”课程教学探讨

来源:教育教学论坛 2022/6/8 17:20:06

“数据挖掘”课程教学探讨

曹楠源 许卫霞

[摘 要] “数据挖掘”课程是大数据相关专业的重要专业课程,通过数据挖掘可以发现数据中隐藏的价值。该课程采取理论与实践相结合的教学模式,在理论教学方面主要讲解数据挖掘的经典算法;在实践教学方面使用Python编程实现理论部分的经典算法,让学生通过算法的编程进一步掌握算法。按照课程思政改革的要求,在课程设计中设置一些以社会实际问题为主题的案例,在提高学生学习兴趣的同时引导学生树立正确的价值观。对于复杂的、抽象的数据挖掘理论算法开设线上课程,有利于学生回顾重要的、难理解的知识点,帮助学生掌握理论知识。

[关键词] 数据挖掘;课程思政;教学设计

[基金项目] 2020年度上海立信会计金融学院信息管理学院高地大项目“数值计算微专业建设”

[作者简介] 曹楠源(1989—),女,江苏盐城人,博士,上海立信会计金融学院信息管理学院讲师,主要从事数据科学与大数据技术研究;许卫霞(1988—),女,江苏南通人,博士,上海立信会计金融学院信息管理学院讲师,主要从事数据科学与大数据技术研究。

[中图分类号] G642.3 [文献标识码] A [文章编号] 1674-9324(2022)04-0172-04 [收稿日期] 2021-05-20

引言

近年来,人们越来越认识到数据的重要性,数据也被称为“未来的石油”。数据挖掘可以看作是开采“石油”的工具,帮助人们从海量的数据中通过数据挖掘算法将隐藏在数据中的价值提取出来[1]。数据挖掘汇集了统计学、人工智能、机器学习、数据库等诸多学科的知识,主要研究如何从大量、有噪声、不完全,以及随机的数据中提取隐含的、预先未知的且有潜在价值的信息[2-6]。“数据挖掘”课程可以促进学生了解大数据、用好大数據,并且善于获取数据、分析数据、运用数据,培养学生正确的世界观、价值观、人生观,提高学生的学习兴趣和解决现实问题的能力。

目前,“数据挖掘”采取线下教学模式,使用理论与实践相结合的教学方式。数据挖掘主要包括问题的定义、数据的采集、数据预处理、数据挖掘,以及结果评估和展示五个步骤。课程的理论部分主要讲解数据挖掘的经典算法,例如:朴素贝叶斯分类算法、ID3算法、C4.5算法、Apriori算法、FP增长算法、Cart算法、K均值算法等。实践部分分为三个阶段讲解:一是使用Python程序进行数据的采集及数据的预处理;二是使用Python程序实现数据挖掘的经典算法的代码实现;三是使用Python程序实现数据挖掘结果的可视化展现。“数据挖掘”课程中包含了大量复杂、抽象的算法,对学生的数学功底要求较高。如果学生的数学功底不是太好,对课程算法的学习会比较吃力,也会失去对“数据挖掘”课程学习的兴趣。同时,对于“数据挖掘”课程中的综合案例,往往不是一个算法就能分析得到想要的结果,一般需要循序渐进地使用不同的分析方法、算法来处理数据,得到结果。而学生在面对综合案例时往往没有清晰的思路,不知道在哪个步骤使用哪种分析方法及算法,因此,如何让学生不畏惧学习“数据挖掘”课程中复杂抽象的算法,如何让学生更好地掌握理论知识,以及如何让学生能够条理清晰地分析综合案例、使用合适的分析方法和建立适当的模型,这些都是我们改进教学设计的方向。

本文以课程思政改革为指导思想,以提高学生的学习兴趣、增强学生解决现实具体问题的能力为目标,对“数据挖掘”课程的教学设计进行探讨,研究如何提升“数据挖掘”课程的理论和实践教学的效果。

一、课程教学设计探讨

本节分别从“数据挖掘”的课程目标、课程设置、课程实验及课程案例四个方面探讨“数据挖掘”课程的教学设计。

(一)课程目标

“数据挖掘”是大数据相关专业的重要专业课,也是一门交叉学科,包含了统计学、人工智能、机器学习、数据库等学科的知识。

该课程的主要目标是帮助学生从纷繁复杂且参差不齐的信息中发现有价值的规律和知识,并将它们提炼出来以帮助科学决策。例如,在零售业的数据仓库系统中,存储着海量的零售商和客户交易的详细数据,而我们无法通过人眼直接看出这些大量交易数据中的商品是否存在着某些联系。1993年,Rakesh Agrawal等人提出了购物篮分析[7],提出了在数据仓库系统所存储的交易数据中的商品存在着某种联系——关联关系[8],通过分析交易数据当中的商品集合,可以找到关联算法(计算哪些商品之间存在关联关系),而商品之间所存在的关联关系则表示了用户的购买行为。当零售商分析得到用户的购买行为后,就可以对商品的库存量、商品在货架上的排布等进行统一安排,从而使零售商的竞争力进一步得到提高。沃尔玛超市的啤酒和尿布的陈列故事是一个经典的购物篮分析案例,数据挖掘公司NCR Teradata利用数据挖掘工具(关联算法)对沃尔玛超市数据仓库系统中的商品集合进行了分析,意外得出了和尿布一起被人们购买的产品是啤酒的结论,之后,沃尔玛超市就在其门店中将尿布和啤酒陈列在一起,这种匪夷所思的陈列却让两种商品的销售量都得到很大的提升。当今已进入大数据时代,各行各业每天都在产生着大量的数据,数据中可能隐藏着我们所不知道的价值,人的大脑无法从海量的数据中把数据的价值快速地提取,但借助数据挖掘工具,我们可以快速地从数据中提炼出数据的价值和有益的信息。“数据挖掘”课程就是帮助学生认识数据的价值,为学生提供将价值从数据提取出来的方法,提高学生以后的工作能力。

通过“数据挖掘”课程,学生能够拥有分析数据的能力。“数据挖掘”课程中包含很多经典的算法,教师除了详细讲解经典的算法外,对每个算法会设置具体的案例,同时设置综合案例以使学生巩固所学。本课程的主要目的是不仅让学生掌握经典的数据分析算法,也让学生学以致用,能够灵活地运用算法,将算法运用到实际问题中,提高学生解决实际问题的能力。

(二)课程设置

在“数据挖掘”教学中,根据学生的学习反馈,主要有如下两个问题:一是学习算法难度大。“数据挖掘”课程中包含了支持向量积、逻辑回归、粗糙集、BP神经网路、卷积神经网络等算法,掌握这些抽象的算法需要学生具有较强的数学功底和逻辑分析能力,所以,大量抽象的定义、算法,容易让学生望而生畏,也降低了学生学习的兴趣。二是综合案例分析难度大。在对特定的数据挖掘算法而设定的具体案例进行分析时,学生知道用何种学习算法训练模型分析数据;但对于综合案例,学生的思路是模糊不清的,无法把所学的挖掘算法串联起来灵活地使用。在做数据的挖掘和分析时,要么不知道选择何种学习算法,在数据挖掘时比较片面,要么在挖掘过程中没有条理,比较混乱。因此,在课程设置方面,为了解决以上问题,尝试下述方法。

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决策树分类算法分别对笔迹识别与偷税漏税行为进行预测等。

(四)课程案例

以史为鉴,可以知兴替。在大数据时代,培养学生以数据为鉴的观念,可以改善人们的生活,有助于社会经济的发展。在课程思政背景下,“数据挖掘”课程旨在通过社会案例帮助学生树立正确的世界观、价值观和人生观,提升学生的工作能力,为社会的发展贡献自己的力量。例如,通过吸烟有害健康的案例,提醒学生要有一个良好的生活习惯,并且提高他们对数据更深层次的认识。吸烟有害健康是人类的共识,但吸烟行为在社会上却又是一个很普遍的行为,且一直以来并没有相关的研究确切地表明吸烟会使人得绝症,吸烟和患绝症之间并不形成因果關系。曾经美国的烟草公司一度被告上法庭,诉讼它生产的烟草有害,然而由于烟草和健康没有因果关系,案件最后不了了之。直到20世纪90年代,通过对患绝症病人的数据进行分析挖掘,得出吸烟和患绝症之间是有关联性的结论,才使美国烟草公司败诉,做出了相应的赔偿。通过具体的社会案例可以培养学生对数据的敏感度,培养学生用数据说话的观念,同时也归正他们的生活习惯。

课程实验是为了让学生理论结合实践,深刻地掌握理论算法。课程案例本质上是综合实验,以具体的社会问题为案例,从互联网或业务数据库中采集数据,对数据进行探索,分析数据的特征,对数据进行预处理,最后建模与评估。

为提升学生的思想觉悟,树立正确的“三观”,做一个诚信的人,拟设置“信用评分”和“保险欺诈行为挖掘”案例[9]。“信用评分”案例以银行小额贷款样本数据为本源,将贷款的风险问题转化为数据分析问题,根据客户的信用行为预测未来拖欠贷款的可能性。“保险欺诈行为挖掘”案例以医疗保险数据为本源,对客户的交易数据做分析,通过统计分析、聚类分析、关联分析等方法将有欺诈特征的样本数据挖掘出来,通过案例让学生重视个人的信用,做一个诚实守信的人。为培养学生解决实际问题的能力,更好地为社会发展服务,拟设置“大数据用户画像”案例[10],以广电用户数据为本源,建立聚类分析、关联分析、神经网络等模型,通过用户画像把握客户特征和行为习惯模式,为用户提供更好的服务。

二、展望

“數据挖掘”是大数据专业的一门重要专业课,课程目标在于帮助学生在大数据时代了解大数据、用好大数据,并能够善于获取有用的数据、分析数据、运用数据,让学生有一双善于发现数据之美的眼睛,为以后参加工作提供助力。在教学设计中,合理地分配理论课时和实践课时,通过实践课程帮助学生更加深刻地理解理论算法。按照课程思政改革的指导思想,增加课程案例,通过具体的案例不仅可以培养学生解决具体问题的能力,也能帮助学生树立正确的价值观,为今后社会和经济的发展做贡献。


本文版权归教育教学论坛杂志社及本文作者所有,未经同意,不得转载! ——《教育教学论坛》查稿电话:0311-85178286