Py学习  »  Python

新兴生态系统:Python和R语言,谁更适用于大数据Spark/Hadoop和深度学习?

36大数据 • 7 年前 • 974 次点击  

作者:Gregory Piatetsky, KDnuggets 本文为36大数据独译,译者ya楠


本文中我们将对现有大数据的顶级工具做项测验:Python和R语言,谁更适用于Spark/Hadoop和深度学习,并确定一个新兴的大数据深度学习生态系统。


上个月,我们对第18届KDnuggets软件的调查结果进行了一次报道:数据分析、数据科学、机器学习中的新领导者、趋势和惊喜。

本文将更详细的考察哪些工具能够相互之间友好合作,哪些工具则兼容性较差。我们还发现了一个新兴的Python友好型工具生态系统,这些工具通常被应用在数据科学的两大前沿:大数据(Spark / Hadoop)和深度学习。


本文的末尾有一个匿名数据集的链接——欢迎读者对数据进行分析,然后将结果发布或者发送给我。


首先,让我们来看一下顶级工具之间的联系。


我们选取了投票超过500票的工具(今年有11项入选)。


衡量两个特征之间的关联程度有很多种方法,比如卡方分析或T检验,但此次我们仍然沿用了在2015年和2016年分析时采用的相对简单的方法。此处先定义一个“Lift”


Lift (X & Y) = pct (X & Y) / ( pct (X) * pct (Y) )


其中pct(X)表示选择X的用户百分比。


Lift(X&Y)> 1表示X&Y 一起出现的频率比预设中两者相互独立要大;Lift=1表示X&Y 一起出现的频率恰好等于预设中两者相互独立,Lift<1表明X&Y 一起出现的频率小于两者相互独立的情况(负相关)。


为了更直观的看到与1之间的差距,我们定义


Lift1 (X & Y) = Lift (X & Y) – 1


表1将排名前11的工具的Lift1值进行了两两比较,并筛选出关联度绝对值abs(Lift1) 大于15%的情况。

图1:数据科学、机器学习高级工具关联度表,2017


注:绿色表示正相关,红色表示负相关。


标签Lift1上文已解释;条形的宽度与Lift1的大小成正比。


我们注意到,Python不仅与Anaconda、Tensorflow和scikit- learn(不出所料)有显著的正相关,另外与Spark还具有显著正相关关系。


在比较流行的工具中,R语言相较于Python则关联性较弱。


除了Tableau之外,RapidMiner与其他顶级工具基本上都处于负相关关系,Excel用户也喜欢Tableau。而与Spark关系最密切的是Tensorflow 和scikit-learn。


Python聚类、Spark、Anaconda、Tensorflow和scikit- learn经常被一起使用,它们似乎形成了基于Python的大数据和深度学习生态系统的核心。


Python vs R语言


接下来我们将研究使用Python或者R语言的前30个工具的亲和度。


用 with_Py(X)= %表示使用Python的工具X,with_R(X) % 表示使用R语言的工具X。可视化亲和度的过程中,我们采取一个非常简单的方式:Bias_Py_R(X) = log2(with_Py(X)/with_R(X)) ,若值为正则表明该工具更多使用了Python,当值为负则表明该工具更倾向于使用R语言。我们可以校正Python和R的相对频率,但由于它们在2017年的使用频率几乎相等,所以这种校正也是微不足道的。

表2:数据科学、机器学习前30位高级工具与Python vs R语言的关联度(2017)


条形图的长度为上文所定义的Bias_Py_R,条形图的高度与工具的受欢迎程度成正比。


我们注意到,与Python契合度较高的工具不仅包括我们预期的Scikit,PyCharm和Anaconda,而且还包括深度学习工具Keras和Tensorflow,特别是Spark和Scala。


与R语言契合度较高的工具包括SAS Base,Microsoft工具(预计自Microsoft购买Revolution Analytics后),Weka和Tableau。


接下来,我们检查不同工具在大数据和深度学习中的效果。


在KDnuggets 2017 Software Poll中,33%的受访者使用了Spark / Hadoop工具,32%使用了深度学习工具。完整的工具列表可在以下图表中查看。


对于每个工具X,我们计算与Spark / Hadoop工具(垂直轴)共同使用的频率以及Deep Learning工具(横轴)共同使用的频率。


图3:深度学习vs Spark / Hadoop与顶尖数据科学,机器学习工具的亲和力(2017年)


圆形尺寸对应于各工具的使用份额,颜色与Python(蓝色)与R(橙色)相对应。


我们在图表的右上角注意到一组与Python相关的蓝色圆圈,包括scikit-learn,PyCharm,Anaconda,Java和Unix工具,这些工具更常用于Spark / Hadoop和深度学习工具。


这表明了一个Python-友好型的大数据/深度学习生态系统。


我们注意到Scala是与 “大数据”相关度最高的工具。


为了使图3更精确,它只包括至少获得200票的工具,及深度学习和Spark / Hadoop工具。请参阅下表1获取所有至少获得100票以上工具的更多详细信息。

表1:深度学习vs Spark / Hadoop与顶尖数据科学,机器学习工具的亲和力(2017年)


下面是一个以CSV格式输入匿名的轮询数据的链接

http://www.kdnuggets.com/aps/sw17-top11-dl-sh.anon.csv


  • N:记录号(随机,记录不按投票顺序)

  • 地区:usca:美国/加拿大、euro:欧洲/亚洲、Itam:拉丁美洲、afme:非洲/中东、aunz:澳大利亚/新西兰

  • Python:如果投票(最后一列)包含Python,则为1,否则为0

  • R语言:如果投票包含“R语言”,则为1,否则为0。我们使用“R语言”而不是R来简化正则表达式匹配

  • SQL语言:如果投票包含“SQL语言”,则为1,否则为0。

  • RapidMiner:如果投票包括RapidMiner,则为1,否则为0。

  • Excel:如果投票包含Excel,则为1,否则为0。

  • Spark:如果投票包括Spark,则为1,否则为0。

  • 蟒蛇:如果投票包括蟒蛇,则为1,否则为0。

  • Tensorflow:如果投票包括Tensorflow,则为1,否则为0。

  • scikit-learn:如果投票包括scikit-learn,则为1,否则为0。

  • Tableau:如果投票包括Tableau,则为1,否则为0。

  • KNIME:如果投票包括KNIME,则为1,否则为0。

  • 深度:如果投票包含深度,则为1,否则为0。

  • Spark / Hadoop:如果投票包括Spark / Hadoop,则为1,否则为0。

  • ntools:工具的数量

  • 投票:选票列表,以分号分隔“;”


让我知道你的想法!


 End 

阅读排行榜/精华推荐
1
入门学习

如果有人质疑大数据?不妨把这两个视频转给他 

视频:大数据到底是什么 都说干大数据挣钱 1分钟告诉你都在干什么

人人都需要知道 关于大数据最常见的10个问题

2
进阶修炼

从底层到应用,那些数据人的必备技能

如何高效地学好 R?

一个程序员怎样才算精通Python?

3
数据源爬取/收集

排名前50的开源Web爬虫用于数据挖掘

33款可用来抓数据的开源爬虫软件工具

在中国我们如何收集数据?全球数据收集大教程

4
干货教程

PPT:数据可视化,到底该用什么软件来展示数据?

干货|电信运营商数据价值跨行业运营的现状与思考

大数据分析的集中化之路 建设银行大数据应用实践PPT

【实战PPT】看工商银行如何利用大数据洞察客户心声?              

六步,让你用Excel做出强大漂亮的数据地图

 数据商业的崛起 解密中国大数据第一股——国双

双11剁手幕后的阿里“黑科技” OceanBase/金融云架构/ODPS/dataV

金融行业大数据用户画像实践


讲述大数据在金融、电信、工业、商业、电子商务、网络游戏、移动互联网等多个领域的应用,以中立、客观、专业、可信赖的态度,多层次、多维度地影响着最广泛的大数据人群

36大数据

长按识别二维码,关注36大数据


搜索「36大数据」或输入36dsj.com查看更多内容。

投稿/商务/合作:dashuju36@qq.com


点击下方“阅读原文”查看更多

↓↓↓


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/Bmam70exro
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/3266
 
974 次点击