近日,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% 降低