专栏名称: 云头条
云计算领域科技媒体:传播观点,传播价值,连接商业与技术;Web:www.yuntoutiao.com ,欢迎互动~~~
51好读  ›  专栏  ›  云头条

解读新兴生态系统:分析数据科学和机器学习软件

云头条  · 公众号  · 科技媒体  · 2017-06-28 19:31

正文

我们仔细分析了哪些主流工具是“朋友”、这些工具对Python与R的偏向性、哪些工具与Spark/Hadoop和深度学习很兼容,并介绍了新兴的大数据深度学习生态系统。


上个月,我们KDnuggets公布了第18份年度KDnuggets软件调查:《分析、数据科学和机器学习领域的新领导者、趋势和惊讶》的结果。


本文更详细地介绍了哪些工具相互很搭、哪些则不然。我们还发现了一个对Python友好的新兴生态系统,这方面的工具通常与数据科学的两个前沿:大数据(Spark/Hadoop)和深度学习结合使用。


本文末尾附有匿名数据集的链接,诸位可以自行分析数据。


我们先看一下主流工具之间的关系。


我们选择了至少获得500张选票的工具――今年这样的工具共有11种。


有好多方法可以衡量两个名义特征或二元特征(比如chi-square或T-test)之间的相关性有多显著,不过我们使用了与我们的2015年分析和2016年分析同样的简单衡量尺度。我们将“Lift”定义为:


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


其中,pct(X)是选择X的用户的百分比。


Lift(X&Y)> 1表示,如果X和Y是独立的工具,X和Y出现在一起的频率之高超乎预料;


  • Lift=1表示,如果X和Y是独立的工具,X和Y出现在一起的频率在预料之中;

  • Lift < 1表示,X和Y出现在一起的频率之低超乎预料(负相关)。


为了更容易看清与1之间的差异,我们定义


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


下面图1显示了11种主流工具之间成对的lift1,已经过了过滤,只显示Lift1绝对值> 15%的相关性。


2017年数据科学和机器学习主流工具的相关性


绿色代表正相关,红色代表负相关


标签是上面所解释的Lift1;条宽与Lift1成正比。


需要说明的一点是,Python不仅与Anaconda、Tensorflow和scikit-learn有着显著正相关性(这在预料之中),还与Spark有着显著正相关性。


在较为流行的工具当中,R的相关性不如Python来得显著。


RapidMiner与其他主流工具(Tableau除外)之间基本上负相关。Excel用户还喜欢Tableau。Spark的“最佳朋友”是Tensorflow和scikit-learn。


Python、Spark、Anaconda、Tensorflow和scikit-learn经常结合使用,似乎组成了基于Python的新兴大数据和深度学习生态系统的核心。


Python vs R


接下来我们分析30种主流工具与Python和R的亲和性(affinity)。


不妨用with_Py(X)= %表示工具X与Python结合使用的频率,用with_R(X) %表示工具X与R结合使用的频率。为了直观地显示亲和性,我们使用了一个很简单的衡量公式:Bias_Py_R(X)= log2(with_Py(X)/with_R(X))。如果工具更常与Python结合使用,其值为正;如果更常与R结合使用,其值为负。可以针对Python和R的相对频率来校正,但由于它们在2017年几乎相等,校正就无关紧要了。


2017年30种主流数据分析和机器学习工具与Python和R的相关性


条长是上面所定义的Bias_Py_R,条高是工具的受欢迎程度。


需要说明的一点是, Python的朋友不仅包括scikit-learn、PyCharm和Anaconda(这在预料之中),还包括深度学习工具Keras和Tensorflow,尤其还包括Spark和Scala.


R的最佳朋友包括SAS Base、微软的工具(由于微软收购了Revolution Analytics,这在预料之中)、Weka和Tableau。


接下来我们分析不同的工具与大数据和深度学习结合使用有多好。


大数据和深度学习


Spark / Hadoop工具被33%的《KDnuggets2017年软件调查》受访对象所使用,深度学习工具被32%的受访对象所使用。想了解工具的完整列表,请参阅该文:http://www.kdnuggets.com/2017/05/poll-analytics-data-science-machine-learning-software-leaders.html。


至于每一种工具(X),我们计算了它与Spark/Hadoop工具结合使用的频率有多高(纵轴)以及与深度学习工具结合使用的频率有多高(横轴)。


主流数据科学和机器学习工具与深度学习的亲和性和与Spark/Hadoop的亲和性。


圆圈大小对应于工具的使用份额,颜色则对应于工具与Python的偏向性(蓝色)和与R的偏向性(桔黄色)。


需要说明的一点是,该图右上方有一组与Python有关的蓝色圆圈,包括scikit-learn、PyCharm、Anaconda、Java和Unix这些工具,它们更经常与Spark/Hadoop和深度学习工具结合使用。


这表明,对Python友好的大数据/深度学习生态系统由此形成。


需要说明的一点是,Scala是最密切相关的“大数据”工具。


为了让图3更清晰易读,它只包括至少有200张选票的工具,不包括深度学习和Spark/Hadoop工具。想了解至少有100张选票的工具方面的更详细信息,请参阅下面表1。


表1:主流数据科学和机器学习工具与深度学习的亲和性和与Spark/Hadoop的亲和性

工具

选票

与Spark/Hadoop

的亲和性

与深度学习

的亲和性

全部

2881

33.4%

31.9%

Python

1516

45.1%

47.8%

R语言

1502

40.3%

36.6%

SQL语言

1006

44.5%

34.5%

RapidMiner

946

28.2%

26.0%

Excel

810

28.6%

26.8%

Spark

654

100.0%

61.8%

Anaconda

629

43.7%

55.3%

Tensorflow

581

57.0%

100.0%

scikit-learn

561

49.6%

64.3%

Tableau

560

36.8%

29.5%

KNIME

551

29.6%

31.8%

开源Hadoop工具

431

100.0%

59.2%







请到「今天看啥」查看全文