王辉 潘俊辉 王浩畅 张强
摘要:针对数据挖掘实践课程现状和实际教學效果,结合数据挖掘实践课程特点,在分析总结多种数据挖掘工具的基础上,设计了一种基于Hadoop的数据挖掘实践平台.架构在分布式计算平台Hadoop上的数据挖掘实践平台,克服了传统数据挖掘工具的种种问题,其能够支持数据挖掘的标准流程,处理TB级的海量数据用于实践挖掘,为数据挖掘基础实践提供了丰富的数据挖掘算法用于建模.同时,基于Hadoop的数据挖掘实践平台提供了灵活多样的应用开发接口,能够支持第三方软件商集成开发,快速构建大型海量数据挖掘的应用系统,完成综合数据挖掘应用的二次开发.基于Hadoop的数据挖掘实践平台,为数据挖掘实践与科研提供了海量数据处理能力的数据挖掘平台,激励学生以竞赛模式学习和完成数据挖掘实践,从而促进了学生创新实践能力的培养.
关键词:Hadoop;数据挖掘;实践平台;二次开发
中图分类号:TP319 文献标识码:A 文章编号:1673-260X(2020)02-0051-03
近年来,随着网络与信息技术的快速发展,数据挖掘作为多学科交叉的新兴学科,在大数据时代下的各行各业中扮演着的角色越来越重要[1].数据挖掘实践课是非常重要的实践性环节,它是理论内容的深入和提高[2].因此,对数据挖掘实践课程学习和考核提出了更高的要求,既要让学生对数据挖掘实践内容融会贯通,又要考核出学生的创新实践能力.面对错综繁杂的数据挖掘工具,亟须开发适合高校教学实践与科研使用的数据挖掘实践平台.
在大数据分析以及非结构化数据蔓延的背景下,由Apache软件基金会所开发的分布式系统基础架构Hadoop,受到了前所未有的关注[3].Hadoop可以在用户不了解分布式底层细节情况下,开发分布式程序[4].更重要的是,Hadoop能够充分利用集群的威力进行高速运算和存储,非常适合大数据处理的相关应用[5].本文借助Hadoop构建数据挖掘实践平台,能够处理TB级的海量数据挖掘,支持数据挖掘流程所需的核心过程,提供大量常用算法和开放的应用接口,为数据挖掘实践与科研提供从简单的预测建模到庞大的集成系统,采用竞赛式实践考核学生对课程内容的掌握程度,激发学生创新实践与科研能力.
1 数据挖掘实践课程现状
数据挖掘是一个多学科融合的学科,这些学科包括数据库技术、信息检索、统计学、人工智能、神经网络、机器学习、模式识别等[6].先修课为高等数学、线性代数、概率论与数理统计、数据结构、数据库、算法分析与设计.
1.1 实践教学现状
以我院为例,数据挖掘课程一般开设在本科三年级上学期.课程主要系统介绍数据仓库与数据挖掘的有关概念及基础知识,对数据预处理方法、关联规则挖掘技术,分类与预测技术,聚类分析技术进行了深入讲解.数据挖掘课程总学时为64学时,理论学时为48学时,实践学时为16学时,教学内容及学时安排如表1所示.
1.2 实践课程主要问题
1.2.1 实践内容交叉性强、难度大
数据挖掘是一门与时俱进的课程,随着大数据时代的到来及科技的创新发展,经典算法无法对一些新型数据进行处理,如数据流、时间序列、图等,这些经典算法不断被进行改进研究[7].实践内容却仍旧停留在对数字信息、文本信息、图像和视频信息等数据的基础挖掘和处理上.
1.2.2 实践工具多且杂
数据挖掘工具种类繁杂,各工具均有一定的侧重点,主要可分为以下两大类.
一类是侧重针对某一特定领域问题提供相对合理的解决方案,而开发的特定数据挖掘工具.例如,加州理工学院喷气推进实验室与天文科学家协作研发的SKICAT系统侧重探索遥远类星体,IBM公司AdvancedScout系统侧重针对NBA数据优化篮球赛场战术组合,芬兰赫尔辛基大学研发的TASA侧重协助预测网络通信中的各种警报[8].
一类是主要侧重采用一些通用的挖掘算法,处理常见数据类型的通用数据挖掘工具.例如,SGI公司MineSet系统,IBM公司Almaden研究中心QUEST系统,加拿大SimonFraser大学研发的DBMiner系统等[9].
1.2.3 考核方式形式化
目前,数据挖掘实践考核主要采用结合平时出勤(占20%)、平时表现(占20%)和平时实验项目完成情况(占60%)评价方式.实验项目完成情况主要参考实验报告的撰写情况和实验完成度.实践考核灵活度不够,缺乏比较综合型的应用实践考核,很难考核学生对课程内容的理解和掌握程度.
2 Hadoop分布式计算平台
Hadoop是Apache软件基金会旗下的一个开源分布式计算平台.Hadoop以分布式文件系统HDFS(Hadoop Distributed File System)和MapReduce(Google MapReduce的开源实现)为框架核心设计,为用户提供了系统底层细节透明的分布式基础架构[10].其中,HDFS为海量数据提供了存储,MapReduce提供了计算.使得Hadoop以一种可伸缩的、高效的、可靠的方式进行数据处理.因此,Hadoop能够处理TB级的海量数据挖掘,具备了高扩展性、易于部署、高容错性、低成本等特点.
Hadoop适用于大数据的技术,包括大规模并行处理数据库,数据挖掘,分布式文件系统,云计算平台和可扩展的存储系统[11].在处理大数据上,Hadoop已经成为事实上的标准,IBM、Oracle、SAP、甚至Microsoft等几乎所有的大型软件提供商都采用了Hadoop[12].
3 数据挖掘实践平台功能需求
针对数据挖掘实践课程学习和考核的复杂性,以及本科教育提倡的创新实践能力培养,其数据挖掘实践平台系统应具备以下三个核心功能.