统计学专业数据挖掘课程实验教学模式探索

2018-11-14 12:58张海永
赤峰学院学报·自然科学版 2018年10期
关键词:数据挖掘实验方法

关 鹏,钱 云,张海永

(1.巢湖学院 数学与统计学院,安徽 合肥 238000;2.滁州学院 数学与金融学院,安徽 滁州 239000)

1 引言

2016年美国统计协会 (American Statistical Asociation)对统计学的内涵给出一个较为简洁的说明,将统计学定义为:“the science of learning from data”,即从数据中学习的科学[1].该定义实际上与数据科学(Data Science)的内涵如出一辙.笔者以为ASA之所以对统计学做出这样的内涵解释,实际上表明在大数据浪潮中,统计学正走在变革的道路上.

大数据时代,数据的产生、收集、分析与应用等环节都发生着深刻的变化.互联网技术的高速发展使每个人成为数据的生产者,数据生产已经突破了时间、地点的限制,数据量也由抽样数据向大数据转化;数据的存储类型由纸和笔记载的关系型结构化数据向半结构、非结构和异构的网络数据类型转化;数据的采集由根据统计分析目的的调查式收集向基于大数据技术的自动化采集方法转化;数据的分析由传统的验证型分析方法向探索型分析方法转化;数据的应用由辅助管理决策向引导变革转化.以上变化正在重塑数据分析流程,而数据分析模式的变革必然引起教育模式的改革.

事实上,在大数据洪流的冲击下,统计学专业的人才培养模式已经悄然发生变化.当前,统计学专业融合大数据、计算机、人工智能等相关学科知识,引导学生认识和掌握数据处理的新技术,推动交叉学科应用型人才的培养,已经成为共识.其中,在统计学专业课程体系中引入数据挖掘课程就是典型的代表.数据挖掘技术在一定程度上弥补了传统统计分析方法的不足,可以进一步增强学生探索性数据分析的能力,更加适应大数据时代的需求.与统计学强调推断理论和方法不同,数据挖掘强调经验,着重于从数据中挖掘有用的模式和价值,只要能够有效地解决问题,方法和模型本身并不重要.因而,笔者认为数据挖掘课程能够拓展统计学专业学生数据分析的思路和方法,进一步加深对数据分析内涵的理解.由此,本文致力于探索大数据背景下统计学专业数据挖掘实验课程教学模式,以提升统计学人才实践应用能力,使其不断适应大数据分析的需求.

2 大数据时代市场对应用型统计人才的新需求

数据分析师是统计学专业大学生毕业后的主要职业选择之一.数据分析师是指在不同行业中,专门从事数据搜集、整理、分析,并依据数据做出行业或市场研究、评估和预测的专业人员;是以实际数据为依据,对项目现状及远期进行统计、分析、预测并转化为决策信息的专业人才[2].

为了客观分析大数据时代应用型统计人才需具备的知识、能力和技术,本文通过智联招聘网对企业公布的数据分析师职位招聘信息进行了调研,这些招聘信息都是面向应届本科毕业生的,具有较强的针对性,调研时间为2018年8月3日.本文调研了七家上市公司[3],有国企事业单位、互联网公司、金融公司、网络游戏公司、网络媒体公司等,各公司对数据分析师的岗位职责、知识要求、能力要求和技术要求见表1所示.

从数据分析师的岗位职责来看,不同类型的企业虽然具体要求不同,但是核心职责是相同的,主要有三个方面:负责业务部门的数据需求分析,也就是通过调研了解业务部门的需求,确定数据分析对象和目的;构建业务数据分析指标体系,即如何开展数据分析工作,确定数据采集、处理和分析及结果解读等环节的指标、方法、模型及数据分析工具等;为业务部门提供数据决策支持,包括撰写调研报告、数据分析报告及设计数据产品和开发数据分析工具等等.从岗位职责的核心要素来看,数据分析师是非常契合统计学专业的人才培养目标的,从调研到设计到分析到结果解读,是数据分析的一个完整流程.但是,也可以看出很多企业在数据分析中特别强调了数据挖掘方法,如北京计算机技术及应用研究所强调用户行为挖掘和个性化推荐、金融界强调用户行为数据和网络日志数据挖掘,而这些都不是传统统计学分析方法的范畴.

从知识要求来看,大部分企业都要求数据分析师具有统计学专业背景,但互联网公司特别强调统计学、数学和计算机的交叉和融合.实际上,数据分析师作为复合型人才,除了掌握必要的统计分析理论和方法外,数学建模和编程能力都是必不可少的.

从能力要求来看,较强的数据敏感度和清晰的逻辑思维能力是核心要素.其次,从业务来看,数据分析师需要同不同的部门打交道,沟通协调能力和团队协作能力也是必不可少的.

从技术要求来看,大部分企业都要求数据分析师至少要掌握一种统计分析软件,如SPSS或MATLAB;至少要熟悉一种编程语言,如Python或R;至少要掌握一种数据库技术,如MySql/Oracle/SQL Server等,最简单的是excel.在高校及商业统计分析领域,R语言是当前最受欢迎的统计编程语言之一.

综合以上分析可以得出,统计学专业的学生要想成为出色的数据分析师,除了具备坚实的统计学理论和方法外,还需要具备良好的计算机能力,如数据库技术和编程能力.更重要的是,数据挖掘方法与技术作为大数据技术的基础已经成为数据分析师必备的技能,也是企业招聘时重点关注的技术.

3 基于R语言的项目式数据挖掘实践教学模式探索

R是一套完整的数据处理、计算和制图软件系统.其功能包括:数据存储和处理系统;数组运算工具(其向量、矩阵运算方面功能尤其强大);完整连贯的统计分析工具;优秀的统计制图功能;简便而强大的统计编程语言.特别是,R是免费、开源、全面、可视、交互的专业统计分析和数据挖掘软件.通过R的相关集成开发环境(IDE),如RStudio/PyCharm等,用户可以轻松访问数据库,并利用一些集成的统计工具,灵活机动的进行数据分析,构建属于自己的统计分析项目(Project),甚至创造出符合需要的新的统计计算方法.因此,R受到了教育界的热捧,成为大学生最喜欢的统计分析与数据挖掘软件之一.此外,2018 IEEE顶级编程语言交互排行榜中,R语言排名第七,是过去十年中发展最快的编程语言之一,也是最好的数据科学语言之一[4].由此,笔者认为,R语言是统计学专业学生进行数据分析的不二之选.

项目式学习(project-based learning,以下简称 PjBL)是一种以学生为中心的系统教学方法或模式,让学生围绕来自项目中的现实工作任务来学习知识和技能,并认真地设计产品和任务[5].其中,项目是指复杂的任务,学习者为了完成项目目标,需要展开调查、参与设计、解决问题、制定决策等[6].项目式学习最大的亮点是通过完成项目的形式,发挥学生学习的主动性和自觉性,在做中学,在学中做,有利于提高学生学习效率,提升学生实践和创新能力.

基于以上分析,笔者认为在R软件的集成开发环境下,实施数据挖掘实验课程的项目式学习方案是可行的,也符合应用型统计人才培养目标的定位.下面将从数据挖掘实验课程教学计划、实验项目设计、考核方式、典型项目示例和实验教学效果进行论述.

3.1 课程教学计划

数据挖掘是一门多学科交叉且实践应用性较强的课程,一般是在硕士研究生阶段才开设的课程.在本科生阶段开设数据挖掘课程具有较大的难度,需协调好相关课程的前后逻辑,如该课程必须开设在概率论与数理统计、数据库原理、计算机基础等课程之后.作为应用型本科院校,巢湖学院数学与统计学院于2016年开始在统计学本科专业开设数据挖掘课程,课程性质为专业核心能力课程,总学时52,理论课学时40,实验课学时12.理论课与实验课的安排如表2所示.

由于统计学专业学生未将R语言的学习列入人才培养方案,所以在理论课阶段安排了8个学时的R语言学习,目的是在进入正式的数据挖掘项目学习之前,熟悉R的数据组织、整理和可视化方法,教学方法为讲练结合、学生边听边实践操作.从模式识别的角度来看,数据挖掘技术的主要任务,包括分类、聚类、回归、关联、序列分析和偏差分析6种模式的识别[7].其中,回归是统计学的传统分析方法,时间序列分析方法在人才培养方案中有专门的《时间序列分析》课程.因此,本课程主要选择了分类和聚类这两类方法,分类选择了近邻分析法和支持向量机,聚类主要有k-means聚类和基于密度的聚类方法.另外,人工神经网络作为人工智能的热点研究领域,也纳入本课程学习中,可以作为深度学习的入门知识.

表2

3.2 实验项目设计

在实验教学中,本课程围绕K近邻分析、支持向量机、k-means聚类和人工神经网络四个主要的算法设计了四个综合性的开放性实验项目.实验教学过程采取项目学习式教学模式,授课教师只是提出实验的问题和实验的目的,并不规定严格的实验步骤和过程,教师根据理论课所讲授知识及时引导学生,让学生根据实验问题和目的,自行设计实验内容和实验过程,包括数据采集、数据预处理、模型与方法选择、基于R软件的数据分析过程、结果的可视化与分析等.在实验过程中,教师指导学生组成实验项目小组,一般由3名学生共同组队,通过小组讨论、相互协作共同完成实验项目.经过教师的指导,使每个实验项目小组在3个课时的时间内,确定实验内容和项目实施计划,实验实施过程可在课后完成.实验项目结项方式为小组成员共同完成项目实验报告,项目实验报告内容包括实验目的、实验内容、实验过程、结果分析和实验总结.

3.3 考核方式

数据挖掘作为考查课,考核方式比较灵活,也给课程组进行考核方式改革提供了便利.课程组经过研讨决定采取开放性课程设计的方式作为期末考试的形式,并结合平时课程表现和平时实验项目完成情况评价综合成绩.其中,期末的开放性课程设计成绩在综合成绩中占比60%,平时课堂表现和平时实验项目完成情况占比40%(课堂表现占40%,平时实验项目完成情况占比60%).

3.4 典型实验项目教学示例-以基于R的K-近邻分析为例

K-近邻分析法(K-nearest neighbor,KNN)是分类型数据预测的经典数据挖掘方法,在输入变量较多,样本量较大的情况下,是简单而有效的建模方法[8].课程组设计了鸢尾花数据集(IRIS)的分类预测实验项目.

3.4.1 问题提出

利用已有的鸢尾花数据集(IRIS),通过K-近邻分析法对新的鸢尾花数据进行分类预测,要求构建合理、具体的模型,基于R软件实现模型的训练和预测.

3.4.2 项目提要

请同学们根据实验问题,设计实验内容.一些实验要点供同学们参考:

a.如何利用R软件掌握鸢尾花数据集(IRIS)的特征?

提要:str()函数可以查看数据集的变量和数据;scale()函数可以实现数据的归一化处理.另外,请同学们自行查阅资料了解R软件数据预处理的方法.

b.K-近邻分析法中距离的选取依据是什么?

提要:K-近邻分析法将样本包括的观测数据看成是p维特征空间(变量个数为p个)中的向量,应选择合适的距离度量方法,以测度预测向量X0与邻居向量X之间的距离,作为邻近关系的依据.主要的距离度量方法有:闵可夫斯基距离、欧氏距离、绝对距离、切比雪夫距离和夹角余弦距离.请同学们查阅资料分析各种距离度量方法的适用范围,并确定鸢尾花数据集(IRIS)适用的距离度量方法.

c.K-近邻分析法中K值选取的依据是什么?

K-近邻法的核心问题之一是确定预测向量X0的邻居个数,即K值的确定.一般可以依据以下方法:一是依据旁置法计算参数K取不同值时的预测误差;二是依据留一法计算参数K取不同值时的预测误差.请同学们查阅资料,是否还有其他更好的K值确定方法?

3.4.3 R软件操作提要

R实现K-近邻法的函数是class包中的knn函数.可通过install.packages(‘class’)加载class程序包,并使用library(class)载入到工作空间中,可通过help(knn)查看knn函数的使用方法.

3.5 实验教学效果

通过一个学期的实验教学来看,本文提出的基于R语言的项目式数据挖掘实验教学模式取得了较好的教学效果.从学生的综合成绩来看,成绩分布合理,不及格率较低,大部分学生的综合成绩分布在70-89这个分数段内,说明学生对数据挖掘的基本理论和应用技术掌握的较好.从平时实验项目的完成情况来看,大部分小组能够较好的完成实验项目.对于项目式教学模式,不少同学反映比单纯的输出式教学模式效果好很多,不但增强了学习的主动性和积极性,而且增强了团队合作意识,广受学生欢迎.

但是在实践教学过程中,也出现了很多问题.例如,在课程教学初期,学生普遍反映R语言的入门难度较大,希望教师能够在R语言学习方面给予更多的建议和支持;在项目式学习过程中,出现了实验完成效果参差不齐和个别学生过于依赖小组其他成员,从而坐享其成的情况.笔者认为,任何教学模式都不是完美的,这些问题还需要任课教师结合学生学习实际拿出解决方案,这也是笔者在下一阶段的教学过程中重点思考的问题.

4 总结

数据挖掘作为一门多学科交叉且应用性较强的课程,在教学内容和教学方法上与传统统计学课程有较大的区别.但是,从数据分析的流程来看,数据挖掘方法与传统统计分析方法又有相通之处,关键是让学生了解二者之间的区别与联系.因此,在数据挖掘实验课程教学中,本文基于大数据时代企业对应用型统计人才的需求,采取了基于R语言的项目式数据挖掘实验教学模式.通过项目式学习,让学生在掌握理论知识的基础上,探索解决实际问题的能力,进一步提升数据分析能力,以适用大数据时代数据分析师的职业要求.

猜你喜欢
数据挖掘实验方法
记一次有趣的实验
探讨人工智能与数据挖掘发展趋势
做个怪怪长实验
基于并行计算的大数据挖掘在电网中的应用
NO与NO2相互转化实验的改进
实践十号上的19项实验
用对方法才能瘦
一种基于Hadoop的大数据挖掘云服务及应用
四大方法 教你不再“坐以待病”!
赚钱方法