近日,KDnuggets网站公布了2018年度的数据科学和机器学习工具调查结果。2300多名参与者对本身“过去 12 个月内在项目开发中使用过的数据挖掘 / 机器学习工具和编程语言”进行了投票。shell
最受欢迎的分析、数据科学、机器学习工具编程
图1:2018年最受欢迎的分析/数据科学/机器学习工具,以及与2016~2017年调查结果的对比api
下表列举了最受欢迎的前11个工具,其中每一个的占比都达到20%以上。机器学习
表1:2018年最受欢迎的分析/数据科学/ 机器学习软件Top 10编程语言
上表中,2018 % share 是指使用这个工具的人占全部投票者的百分比,% change是指2018年相较2017年的投票变化。工具
每一个受访者平均使用的工具数量为7.0个,略高于2017年的6.75个(排除了只选择1个工具的投票)。oop
与2017年的软件调查相比,今年新进入Top 10的是Keras。学习
Python取代R成为最受欢迎的编程语言大数据
调查结果显示,Python在2017年调查中的占比已经超过50%,今年更是增长到66%,而R语言的占比自这个调查开始以来(今年是第19届)第一次降低到低于50%。网站
RapidMiner受欢迎程度大幅提升
在过去几回调查中,RapidMiner都是排名最高的数据科学平台,今年其占比从2017年的33%上升到50%。不过,这是因为RapidMiner采起了一些措施鼓励他们的用户参与该调查。
SQL排名保持稳定
SQL,包括Spark SQL和SQL to Hadoop工具,在过去的3次投票中每一次都有大约40%的投票占比。因此,若是你是数据科学家,学习SQL吧——它极可能在很长一段时间里都颇有用。
趋势
下表列举了使用率增幅达到 20% 及以上,且2018 年使用率达到 3% 以上的工具。
表2:使用率增幅最大的主要分析/数据科学/机器学习工具
咱们注意到,在2017年使用率达到2%或更高的56个工具中,有19个(约三分之一)在2018年使用率有所上升,而其他37个的使用率降低了。这和近期的几起收购(Datawatch收购Angoss, Minitab收购Salford)一块儿代表,数据科学平台的整合正在进行中。
下表列举了在2017年使用率至少有3%的工具,今年降低了25%甚至更多。
表3:使用率跌幅最大的主要分析/数据科学工具。
深度学习工具
调查结果显示,近几年深度学习工具的使用比例保持稳定。今年的调查中有33%的投票者使用深度学习工具中,2017年和2016年的比率分别为32%和18%。
谷歌的TensorFlow仍然是是目前最受欢迎的深度学习平台,不过Keras的使用率也很高,接近TensorFlow。
PyTorch排在第3,使用率为6.4%。不过, KDnuggets 的读者更可能是数据科学领域的,这个数据可能不能彻底反映这些深度学习工具在研究社区中的真实受欢迎程度。PyTorch在今年有一次较大的升级更新,而且与Caffe 2合并,预计将来它的使用率将会更高。
深度学习工具排名:
Tensorflow, 29.9%
Keras, 22.2%
PyTorch, 6.4%
Theano, 4.9%
Other Deep Learning Tools, 4.9%
DeepLearning4J, 3.4%
Microsoft Cognitive Toolkit (Prev. CNTK), 3.0%
Apache MXnet, 1.5%
Caffe, 1.5%
Caffe2, 1.2%
TFLearn, 1.1%
Torch, 1.0%
Lasagne, 0.3%
大数据工具:Hadoop的使用率有所降低
今年的调查中,大约33%的投票者使用了大数据工具,要么是Hadoop,要么是Spark——比率大体与2017年相同,但Hadoop的使用率显著降低了——约为30%。
详细结果以下:
编程语言
Python取代R语言成为数据科学/机器学习开发者中最受欢迎的编程语言,并且也远高于其余编程语言。SQL、Java、C/ C++的排名保持不变。
这是自KDnuggets网站开始进行这项调查以来,R的使用率首次降低。其余编程语言的使用率也有所降低。
如下是按受欢迎程度排序的主要编程语言。
Python, 65.6% (2017年是59.0%), 11% 上升
R, 48.5% (2017年是 56.6%), 14% 降低
SQL, 39.6% (2017年是 39.2%), 1% 上升
Java, 15.1% (2017年是 15.5%), 3% 降低
Unix, shell/awk/gawk, 9.2% (2017年是 10.8%), 15% 降低
Other programming and data languages, 6.9%, (2017年是 7.6%), -9% 降低
C/C++, 6.8%, (2017年是 7.1%), 3% 降低
Scala, 5.9%, (2017年是 8.3%), 29% 降低
Perl, 1.0% (2017年是 1.9%), 46% 降低
Julia, 0.7% (2017年是 1.2%), 45% 降低
Lisp, 0.3% (2017年是 0.4%), -25% 降低
Clojure, 0.2% (2017年是 0.3%), -38% 降低
F, # 0.1% (2017年是 0.5%), -73% 降低