acm-header
登录

ACM通信

新闻

将大数据引入大帐篷


科学软件网络图

图片来源:科学软件网络地图项目

一些在数据分析领域有经验的人认为,研究性数据科学家和操作性数据科学家之间的差异需要变得不那么相关。研究性数据科学家使用R编程环境等统计工具在概念的前沿工作,而操作性数据科学家传统上使用c++和Java等通用编程语言将分析扩展到实时企业级计算资产。

这种情绪正在增长,特别是随着工具的出现,使单个科学家能够分析越来越多的数据。尽管这些数据从业者中的许多(如果不是大多数的话)并不被视为传统意义上的软件开发人员,但他们分析创建的数据本身对许多其他人来说已经成为越来越有价值的资源。

加州大学伯克利分校(University of California at Berkeley)开源创新实验室AMPLab的主任迈克尔•富兰克林(Michael Franklin)表示:“由于一些原因,弥补这一差距变得越来越重要。”富兰克林缩小差距的原因包括:

  • 拥有一个统一的系统,通过关闭探索和操作之间的“循环”来加快发现速度。
  • 拥有不同的系统引入了潜在的错误模型,在“调查”工具集中创建的模型可能被错误地转换到(不同的)操作系统中,有时这些错误可能非常微妙,不被注意到。
  • 越来越多的数据科学家同时负责探索和生产。

围绕许多最具创新性和前景的数据科学计划的工具通常是开源资源,范围从R统计编程语言(生命科学、物理科学和社会科学等领域的个人研究人员广泛使用)到企业友好的Apache Spark集群计算平台及其在AMPLab开发的配套机器学习库。

根据斯坦福大学海洋生物学家Luke Miller的说法,开源工具的吸引力可能归因于许多前沿数据科学正在进行的学术文化。Miller开始使用R时,他开始在一个机构工作,没有Matlab的免费网站许可证;rOpenSci的联合创始人Scott Chamberlain也分享了他的观察,该公司创建了开源科学R包,R函数、数据和编译代码的集合,有助于减少冗余编码。

张伯伦说:“学术界有一种不想花钱的文化。”“他们想要使用大学许可使用的东西,或者他们想要免费使用。这是文化;爱也好,恨也罢,事情就是这样。”

回到顶部

R生态系统的成熟

卡内基梅隆大学计算机科学教授Jim Herbsleb表示,虽然围绕R的自由文化使它得以传播到许多学科——在过去两次O’reilly数据科学工具调查中,R的速度勉强超过了Python——但它也变得相当笨拙。

他说:“有很多重复的努力,有很多错过的机会,当一个科学家为他或她自己开发了一个工具,经过一些调整,或者如果它符合特定的标准或使用特定的数据格式,它可能对更广泛的社区有用。”“R在世界各地,每个人的笔记本电脑上都有,所以真的很难了解外勤正在发生什么。这就是我们正在努力解决的问题。”

Herbsleb和博士后研究员Chris Bogart创建了科学软件网络地图(http://scisoft-net-map.isri.cmu.edu/),本质上是一个元工具,它允许交互式探索数据,显示哪些软件工具已经被使用,使用趋势如何,哪些软件包被一起使用产生一个结果,以及使用该结果产生的出版物。

Herbsleb认为这个由国家科学基金会资助的新启动的项目更像是一个R包开发人员的参考点,他们希望看到终端用户如何利用他们的工作,而不是那些寻找工具的人。他说:“如果开发人员知道其他人需要或想从他们正在开发的工具中得到什么,他们通常愿意做一些额外的工作,以确保它适用于所有人。”“这是人们希望从地图中得到的另一件事:通过观察工具的实际使用情况,更好地了解社区的需求。另一个用例是科学家社区,他们要么已经做了,要么想要开始作为一个社区来管理他们的软件资产。”

然而,几本关于R的书的作者Larry Pace认为Herbsleb的网络地图可能正是新手R用户和开发人员会发现非常有用的参考。

“我可以在这张地图上看到我使用的各种R包;这是一个非常非常酷的方式来展示这一点,”佩斯说。“即使现在在R领域,也有一些工具可以做心理学家所做的事情,比如心理测量分析等。它们只是没有得到很好的宣传,所以人们不知道它们。”

对于像Miller这样有经验的终端用户来说,似乎有大量的邮件列表交换,这是综合R档案网络(CRAN)网站上特定领域的“任务视图”索引(http://cran.r-project.org/),以及科学界内部的对话,以促进代码的重用和R编码知识体系的全面扩展;可重复数据的全球可用性的“操作”方面。

他说:“有足够多的R用户已经编写了非常有用的脚本,我可以利用这些脚本打开这些相同的数据文件并浏览它们。”“Python在某些方面可能是更好的方法,当然是在投入的时间方面;一个好的Python程序员可能会比我在r中更快地完成它。我们只是打开数据文件并解析它们。但就整合到我的数据可视化和分析工作流程的其他部分而言,几乎没有什么理由超越R来完成这类任务。”

回到顶部

用户友好的ML新兴

机器学习工具的开发者也在拥抱非传统的数据科学家社区,他们兜售速度和易用性,而不是编程环境作为卖点,尽管R接口越来越被视为重要功能。

对于其中一些项目来说,通过充足的资金和开放源码基础设施的接受,生存似乎是有保证的。例如,Spark的内存处理能力可以比Hadoop MapReduce快100倍,它最初是作为国家科学基金会授予伯克利AMPLab 1000万美元奖金的一部分开发的,并在2014年被Apache软件基金会授予顶级地位。Spark(包括MLbase机器学习栈)的开发人员指出,接受Spark培训的人数在快速增长;AMPLab联合主任Ion Stoica估计2014年有2000人接受培训,2015年有5000人接受培训。第一届Spark峰会于2013年12月举行,有450人参加,2014年6月举行的第二届有1100人参加。

Stoica说:“今天,无论从贡献者的数量、提交的数量、代码行数来看,Spark都是最活跃的大数据开源项目,它比包括Hadoop在内的其他开源项目活跃好几倍。”

为了帮助吸引那些传统上没有大规模使用机器学习的数据科学家,Spark团队开发了以下功能:

  • Spark的MLlib机器学习库已经附带了应用程序编程接口(API),如管道API,它通过一系列数据集转换简化了数据预处理、特征提取、模型拟合和验证阶段的顺序。每个转换接受一个输入数据集,并输出转换后的数据集,该数据集将成为下一阶段的输入。
  • Spark的开发人员也一直在完善它的R界面。SparkR于2014年1月推出,早期版本支持一个分布式列表类API,该API映射到Spark的弹性分布式数据集(RDD) API。最近,SparkR开发者Shivaram Venkataraman表示,该团队即将发布DataFrame API,允许R用户使用熟悉的数据帧概念,但现在是在大量数据上。Venkataraman表示,开发人员还在进行SparkR的一些工作,这将允许R用户通过使用管道调用Spark的机器学习算法。Venkataraman说,在更高的层面上,这个界面将允许R用户使用DataFrame的特定列进行机器学习和参数调优。

一个比Spark小得多的项目,叫做mlpack,也针对那些没有机器学习经验的人。该项目的“主要维护者”,乔治亚理工学院的博士生Ryan Curtin说,该项目在2011年12月发布了1.0版本,现在包括5到6个稳定的开发人员,10到12个偶尔的贡献者,以及可能20个提交了一个贡献就离开的人。


Spark的内存处理能力比Hadoop MapReduce快100倍。


Curtin说,mlpack通过一致的API吸引非专家,该API提供了可以不指定的默认参数。此外,用户可以从一个方法移动到另一个方法,同时期望以相同的方式与新方法交互。专业用户可以使用它的原生c++环境来定制他们的工作。

Curtin还说,尽管mlpack和Spark的目标受众可能不同,但该工具在诸如数据驱动的人口健康管理等新兴领域的操作任务中非常有用。例如,公共卫生部门或医疗保健提供系统的数据分析师可以使用mlpack对一组数值的聚类算法之一,这些数值包括个人的姓名和位置(都映射为粒状数字格式)等字段,以及血糖和血压等重要健康数据,以预测临床医生将在何处提供更密集的护理。

“mlpack中有一些可以开箱即用的聚类算法,比如k-means和高斯混合模型,mlpack中有足够灵活的工具,如果你真的想深入研究它并编写一些c++,你可以对聚类算法进行微调,或者编写一个新的或修改过的算法。”

虽然mlpack的研究表明,在k近邻测试中,基准测试明显快于其他开源平台,如Shogun(最初专注于大规模内核方法和生物信息学)和Weka(一个流行的通用机器学习平台,具有图形用户界面,可能会吸引那些不习惯命令行界面的人),但柯廷表示,最终,社区中流行的氛围是合作多于竞争。

“我们都有相同的目标,”他说,“但大家都知道,幕府将军的人是自己打造自己的东西。Shogun专注于内核机,并支持向量机和同类的分类器。Mlpack更专注于比较某些空间中的点,比如最近的邻居。”

这种社区意识对于mlpack这样的小项目来说可能是至关重要的。虽然Curtin表示mlpack的下载量增长曲线呈指数级增长,但他没有足够的时间来开发可能进一步刺激非专业用户增长的功能,比如为其他语言设计GUI和自动绑定。

科廷说,事实上,这些事情可能是别人去做的。

他说:“我对mlpack自身的发展不太感兴趣,尽管这很好。”“我最希望看到代码被使用。这也是我最初选择开源的原因;建造对人们有用的东西。”

回到顶部

进一步的阅读

马特罗夫,N。
R编程的艺术:统计软件设计之旅,没有淀粉新闻,旧金山,加州,2011年。

速度,L。
R开头:统计规划导论,然后,纽约,纽约,2012。

韦翰,H。
数据分析的分应用结合策略,统计软件杂志40 (1)2011年4月,

斯帕克斯,E.,塔尔沃克,A.,史密斯,V.,科塔拉姆,J.,潘,X.,冈萨雷斯,J.,富兰克林,M.,乔丹,I.,和卡拉斯卡,T.。
MLI:分布式机器学习的API数据挖掘国际会议2013年12月,德克萨斯州达拉斯

科廷,R.,克莱恩,J.,斯莱格尔,n.p.,马奇,W.,帕里克什特,R.,梅塔,N.,和格雷,A.。
MLPACK:一个可扩展的c++机器学习库机器学习研究学报, 2013年3月

回到顶部

作者

格雷戈里·哥特是一位住在康涅狄格州奥克维尔的作家,专门研究科学和技术。

回到顶部

数据

UF1数字科学软件网络地图允许交互式探索数据,显示所使用的软件工具、使用趋势、哪些软件包一起使用产生一个结果,以及使用该结果产生的出版物。

回到顶部


©2015 0001 - 0782/15/07 ACM

允许为个人或课堂使用部分或全部作品制作数字或硬拷贝,但不得为盈利或商业利益而复制或分发,且副本在首页上附有本通知和完整的引用。除ACM外,本作品的其他组件的版权必须受到尊重。允许有信用的文摘。以其他方式复制、重新发布、在服务器上发布或重新分发到列表,都需要事先获得特定的许可和/或费用。请求发布的权限permissions@acm.org传真(212)869-0481。

数字图书馆是由计算机协会出版的。版权所有©2015 ACM, Inc.


没有发现记录

登录为完全访问
»忘记密码? »创建ACM Web帐号
文章内容:
Baidu
map