APP下载

基于igraph的网络数据挖掘实验建设方案

2019-09-24杨雄李晓芳谢光前肖贤建

电脑知识与技术 2019年21期
关键词:开源创新思维数据挖掘

杨雄 李晓芳 谢光前 肖贤建

摘要:数据挖掘在本科层次计算机人才培养方面的应用研究方兴日盛,建设高效的实验平台和实训方案是推动提升人才培养质量的必由之路。基于igraph的网络数据挖掘实验平台,定位于本科层次创新型人才培养体系建设,依托R语言和igraph开源项目,深入分析在创新实践教学和大数据技能竞赛背景下,如何无缝衔接校内理论课程与校外实训项目之间的技能应用,更好满足跨学科、跨专业、跨年级的多元化教学要求,为培养学生创新思维、激发学习兴趣、提升再学习能力提供了新的一体化教学实训环境。

关键词:igraph;数据挖掘;实验建设;创新思维;开源

中图分类号:G642        文献标识码:A

文章编号:1009-3044(2019)21-0029-03

开放科学(资源服务)标识码(OSID):

进入21世纪以来,我国高等教育事业蓬勃发展,为加快发展壮大现代产业体系做出了重大贡献;但受多种因素影响,人才培养供给侧和产业需求侧在结构、质量、水平上还不能完全对接。新一代信息技术和大数据时代背景下[1],具备数据分析能力和商业洞察能力的人才将供不应求,但是当前本科院校在培养相關人才方面仍然存在一定的短板,特别是地方应用型本科院校在师资力量、教学实验配置、实训内容开设等方面存在着不少差距[2]。实训教学可以有效改变传统理论课程内容单一、“学不识用、用不识学”的尴尬,在深化产教融合,促进教育链、人才链与产业链、创新链有机衔接,推进人力资源供给侧结构性改革方面显得尤为重要。

数据挖掘是从大量随机数据中发现未知的、具有潜在意义的信息的过程,是传统分析技术的延伸和扩展[3]。与传统的统计分析相比,数据挖掘是在没有明确假设前提下进行分析,所得到的信息是先前未知的、有效的和实用的。R语言既是一种用于数据分析建模及绘图的语言,又是一个具有统计分析功能及强大作图功能的软件系统,主要包括核心R标准包和各个专业领域的开源包,该语言在数据挖掘分析领域已具有明显的优势[4]。近几年,R语言在国内也进入了飞速发展阶段,被广泛应用于各大行业,例如互联网销售平台阿里巴巴、京东等都将R语言应用到了各自的销售网站上,并开发了自动补货系统。在此背景下,地方应用型本科院校在开设数据科学相关课程时,构建贴近产业技术需求、拥有低成本灵活性能的数据挖掘实验平台就具有十分重要的现实意义。

1 网络数据挖掘实验平台定位

互联网技术的创新和发展实现了网络信息分享的便捷性和数据传播的海量化,促进了信息应用领域的空前繁荣,这些传播于网络的信息形成了网络大数据的重要部分,对事件分析有着无可比拟的作用。然而,面对“多源、量大、内容复杂、实时性”的网络数据,关键问题在于如何有效获取并处理分析这些数据,从而满足现实需求。开源的网络数据挖掘实验平台在经济性、直观性、扩展性、便捷性等方面拥有得天独厚的优势,采用这种实训教学模式可以有效降低实验平台的搭建成本,快速衍生功能模块的便捷嵌入,直观展示数据挖掘的可视化成果[5]。

Igraph[6]是Gabor Csardi基于R语言开发的一款网络和图论分析开源软件包,它能够快速处理大规模网络并对随机网络、小世界网络、无标度网络等提供分析和可视化功能。Igraph包含了R、C、Python等语言接口,方便提供了下列功能:(1)网络可视化;(2)传统图论算法,如最小生成树、网络流、最短路径等;(3)复杂网络处理算法[7],如随机网络生成模型、K核分解、PageRank排序、社区发现算法等。该实验平台通过plot.igraph函数、tkplot函数、rgl包和OpenGL提供可视化分析结果,并且保存处理JPG、BMP、TIF等各种格式的图形文件。基于igraph的网络数据挖掘实验平台不仅能够对数据结构图论、网络仿真、社会网络分析等课程提供有效的实训支撑,同时还能锻炼学生编程动手能力,提高创新水平,激发对科研的主动积极性。

2 Igraph网络数据挖掘实验平台建设

Igraph在传统图论方面提供了特征中心、割点、割边、度分布、图遍历、最小生成树、最小割点集、最短路径等经典算法;复杂网络方面igraph则具备了节点中心性排序、边中心性度量、网络生成和社团挖掘、信息传播动力学等多种应用接口。安装完igraph包的RStudio启动界面如图1所示,该界面由代码编辑、命令控制台、资源栏和其他栏组合而成。代码编辑栏通常进行代码编辑及打开R语言脚本;命令控制台显示相应的代码执行结果;位于右下角其他栏中的Packages目录可进行R包的安装及加载(每次使用前需加载包到内存中,也可在控制台输入library命令加载);资源栏用于数据源的导入加载,igraph可以从外部文件读取原始数据并支持多种格式,如:excel、txt、csv、SPSS、SAS等,同时还支持MySOL等常用数据库的数据读取。

2.1 Igraph实验平台解析

Igraph主要用来计算关系网络的相关内容,它提供了大量函数来创建、布置和生成图。以社会网络分析(Social Network Analysis)为代表的网络数据挖掘本质是利用各样本间的关系(也称为关系网络)来分析整体样本的群落现象,并找出单个样本节点在群落形成中的作用以及群落间的关系。Igraph关系网络可以抽象为如表1所示的网络基础概念,并利用R语言和igraph自带函数进行可视化结果分析,如表2所示。

基于igraph的网络数据挖掘实验平台从功能上可分为编辑层和显示层两部分,编辑层功能主要是代码编辑和调试,显示层则提供分析结果的可视化。由于igraph集成了多种图论算法和网络应用接口,学生在简化经典算法编程工作量的同时,针对特定需求可对项目模块进行自主设计,不再像Gephi等软件仅仅停留于平台参数设置及受限于算法功能不足的窘境。该平台最低要求系统CPU为Intel P42.0GHz以上,内存1G以上,操作系统可为Windows XP 32位或Windows 7 64位,编程语言为R或Python,对应IDE为RStudio或Pycharm。

2.2 Igraph实验项目设置

打造面向地方应用型本科院校的网络数据挖掘平台[8]能够激发学生的学习动力、更灵活地发挥开源平台的实力。传统网络数据挖掘软件Gephi和Pajek虽然也能一定程度锻炼学生的编程能力,但主要局限在软件提供的原有项目设置规则层面,因此具备开源特征,同时简化基础算法实现的教学实训平台就显得意义重大。Igraph采用模块化设计思想提供了功能完善的网络应用接口,R语言简洁明了的语言风格即使没有编程经验的学生也能快速掌握网络数据的统计分析和功能开发[9],实现具有创新思维的“自主学习”。Igraph支持的现有项目设置体系如图2所示[10],常州工学院物联网工程、通信工程、软件工程等专业在开设的数据结构、数据可视化分析、网络仿真等多门课程已开始自主设计相关实训类课题,反馈显示设置的项目不仅能够培养学生的综合能力,更能够突显专业素养的形成,通过产教融合的培养过程为学生提供创新思维,无缝衔接校内理论课程与校外实训项目之间的技能应用。

3 Igraph网络数据挖掘实验平台的教学模式

3.1 教学方案

定期开展交叉课程的交流学习活动,形成各学院专业系部汇集的数据结构、网络仿真、数据可视化分析等多学科融合的讨论环境,能够有效推动数据科学人才培养的技术起步和实验平台的建设成效。R语言在数据分析和机器学习领域已成为一款重要的工具,并且与工业界和学术界保持着强大的联动效应,因此学生在学习igraph实验课程内容的同时能够掌握贴近产业需求的前沿技能,改变传统理论课程内容单一、“学不识用、用不识学”的尴尬。学生可根据自身不同阶段灵活选择专攻的实验项目,教师也可以通过课堂教授、研讨会、分组PK、答疑等多种形式推进教学效果。

3.2 运行机制

由于igraph支撑的实训关联课程大部分为高年级的专业基础课或专业选修课,因此基于igraph平台教学首要考虑的原则就是自觉、开放。与其他工程类实训平台不同,igraph平台没有额外耗材的开支,主要通过下载数据源进行网络结构分析和数据挖掘,因此该平台的教学及考核运行机制主要可以分为以下四个方面:

(1)搭建特色鲜明、凸显专业能力建设的开源实训平台,为多学科关联课程的实验教学奠定基础,致力培养具有工程能力的“双师型”教师。

(2)建立具备创新能力和技战术水平的数据技能竞赛团队,重点针对考核排名靠前的选手遴选参加比赛,通过各种国际国内赛事,提升人才培养质量,形成良性循环运作。

(3)强化创新思维,更新在线项目,衔接产业界技术需求,形成具有自生长因子的实训教学平台,通过该平台检验人才培养成效,反馈培养方案存在的不足。

(4)依托平台继续做好产教融合工作,结合地方经济和社会发展、企业发展的技术需求,建成高标准、高水平、开放兼容的创新教改基地,进一步探索知识、素质和能力的协调统一。

4 总结与展望

“知行合一”理念将会贯穿整个实训平台的建设和使用过程,基于igraph的网络数据挖掘实验平台能够很好地满足跨学科、跨专业、跨年级的多元化教学要求,紧密结合产业界项目的工程能力要求,为培养学生创新思维、激发自主学习兴趣、提升再学习能力提供了一体化教学实训环境。

该平台支持相互独立的各功能模块,提供图论、复杂网络、信息动力学、社团挖掘、动态网络等多种网络应用接口,学生可以通过实际项目上机演练,多方位学习训练,做到与企业需求无缝衔接,真正解决网络数据分析人才缺口的问题。同时,igraph整合了数据采集、数据清洗、数据建模、数据视图等功能,提供了行业数据及相关案例用于研究设计,教师科研工作也可融合该系统方便地对相关行业进行统计分析,生成可视化数据报表。

Igraph网络数据挖掘实验平台建设运行2年来,团队获得了多种荣誉,竞赛学员在2018年全国首届大学生大数据技能竞赛中获季军1项、发表科技论文2篇、授权软件著作权3项、获校级优秀毕业设计一等奖1项、二等奖3项;教师团队依托平台在校级中青年教师教学比赛中喜获二等奖,获批国家级大学生实践创新训练项目1项、江苏省大学生实践创新训练计划项目3项、教育部产学研合作协同育人项目2项。在今后的教学实训过程中,我们仍將积极探索平台功能,开发设立更贴近产教融合需求、凸显专业能力培养的新项目,鼓励教师和学生充分利用平台提升教学效果,满足企业对数据人才日益增长的迫切需求。

参考文献:

[1] 李雍頡.面向大数据信息时代计算机科学的应用[J].电子技术与软件工程,2018(2):166.

[2] 冯秀清,司杰.数据挖掘在高校人才优化配置方面的应用[J].科技与创新.2018(14):158-159.

[3]张良均,云伟标,王路.R语言数据分析与挖掘实战[M].北京:机械工业出版社,2015.10.

[4] 周芸韬.基于R语言的大数据处理平台的设计与实现[J].现代电子技术.2017,40(2):53-56.

[5] 王善勤,吴昌雨,陈业斌.大数据挖掘技术在高校专业内涵建设中的应用研究[J].佳木斯大学学报: 自然科学版.2016,34(5):827-830.

[6]Gabor Csardi. Igraph: Network analysis and visualization[EB/OL].https://cran.r-project.org/web/packages/InteractiveIGraph/index.html. 2019-02-13.

[7] 贺定龙,张功萱,李晨,等.复杂网络仿真软件设计与实现[J].计算机工程与设计.2014(8):2764-2768.

[8] 王涛.基于数据挖掘的智能开放实验室系统的研究与设计[J].软件导刊.2012,11(1):160-162.

[9] 岳强,胡中玉,文瑾,等.基于R语言的数据挖掘课程实验设计[J].微型电脑应用.2016,32(5):31-34.

[10]Wook-Shin Han, Wook-Shinm Lee, Jinsoo Pham, et.al. iGraph: A Framework for Comparisons of Disk-Based Graph Indexing Techniques[J]. PVLDB.2010(3):449-459.

【通联编辑:王力】

猜你喜欢

开源创新思维数据挖掘
五毛钱能买多少头牛
基于并行计算的大数据挖掘在电网中的应用
大家说:开源、人工智能及创新
开源中国开源世界高峰论坛圆桌会议纵论开源与互联网+创新2.0
一种基于Hadoop的大数据挖掘云服务及应用
开源计算机辅助翻译工具研究
基于GPGPU的离散数据挖掘研究