Python擴大領先優勢,PyTorch僅佔6.4%:2018年數據科學語言&工具排名
選自KDnuggets
作者:Gregory Piatetsky
機器之心編譯
近日,著名數據科學網站 KDnuggets 發布了 2018 年數據科學和機器學習工具調查結果。超過 2000 人對自己「過去 12 個月內在項目開發中使用過的數據挖掘/機器學習工具和編程語言」進行了投票。該統計還對過去三年來的排名進行了對比分析。此外,機器之心在文末發起了一個投票,快選出你心中最美的深度學習框架吧。
這份投票結果既有預料之內,也有預料之外的部分。數據顯示,Python 作為機器學習常用的編程語言正在不斷擴大領先優勢,R 語言的使用率第一次降到了 50% 以下。在深度學習框架上,最近呼聲很高的深度學習框架 PyTorch 僅僅佔據了 6.4% 的使用率,遠遠落後於 TensorFlow 的 29.9% 和 Keras 的 22.2%。
Python 繼續侵蝕著 R 的用戶領域,RapidMiner 熱門度增加,SQL 保持穩定,TensorFlow 和 Keras 引領前進,Hadoop 衰落,數據科學平台整合等等。
第 19 次年度 KDnuggets 軟體調查有超過 2300 人參與投票,略微少於 2017 年,可能是因為僅有一個供應商 RapidMiner 積極地參與 KDnuggests 調查的投票。平均來說,每個參與者選擇 7 個使用過的不同工具,因此僅投票一個工具會帶來偏差。KDnuggets 排除了大約 260 個這樣的「獨好」投票(主要來自 RapidMiner),因為即使他們代表了該工具的合法用戶,他們的行為也是非典型的,並且會歪曲結果。
以下是基於 2052 個參與者的初始結果分析,其中「獨好」投票者已被排除。更多詳細分析和匿名數據將在大約兩周內公布。
最受歡迎的分析、數據科學、機器學習工具
圖 1:KDnuggests 分析/數據科學 2018 年軟體調查:2018 年最受歡迎工具,以及它們相對於 2016-2017 年的排名變化。(為了更有效的比較,KDnuggests 排除了「獨好」投票者並重新計算了 2016 年、2017 年的調查結果。)
上圖顯示了排名前 11 的工具,每個工具的使用率至少為 20%。
表 1:KDnuggests 2018 年軟體調查最受歡迎的分析/數據科學/機器學習軟體
在這裡,「2018 % share」一欄是指使用該工具的用戶百分比,「% change」是指和 2017 年軟體調查相比的變化比例,綠色和紅色標記表示比例的變化幅度達到了 10% 或更多。
每個投票人的平均使用工具數量是 7 個,略微高於 2017 年調查的 6.75 個(也排除了「獨好」投票人)。
和 2017 年的軟體調查相比,進入前 11 名的新工具是 Keras。Knime 從第 11 名下跌,可能是因為今年他們並沒有積極調動其用戶參與投票。
以下是一些觀察結果。
Python 正在吞噬 R 的用戶領域
2017 年 Python 的使用率超過 50%,今年它的使用率上升至 66%,而 R 的使用率首次下跌,跌破 50%。
RapidMiner
在之前的幾次問卷中,RapidMiner 這一頂級數據科學平台正快速傳播,它的用戶使用率由 2017 年的 33% 增長到了今年的 52.7%。根據 RapidMiner 的創始人和董事長 Ingo Mierswa,他們採取了一些措施鼓勵用戶參與該調查。
對於 KDnuggets 的問卷調查,Ingo Mierswa 說:「近兩年我們都向用戶發送郵件推廣該問卷調查,但今年有超過 400 多位用戶回郵件表示很高興能幫助 RapidMiner 的傳播。而且今年 RapidMiner 月度活躍用戶增長率超出去年 300%,因此我們向更多用戶發送了關於 KDnuggets 問卷調查的郵件。我很高興看到如此活躍的社區。」
SQL 保持穩定
作為數據管理系統的程序語言,SQL(包括 Spark SQL 和 SQL to Hadoop 工具)繼續保持著約 40% 的使用率,和之前 3 次調查結果一樣。因此,如果你是一位有雄心壯志的數據科學家,學習 SQL 吧,它在很長一段時間裡都會很有用!
趨勢
該調查唯一使用率超過 2% 的新工具是 Spark SQL,使用率達到 11.7%。下表列舉了使用率增幅達到 20% 及以上、2018 年使用率為 3% 以上的工具。
表 2:使用率增幅最大的主要分析/數據科學/機器學習工具。
整合
2017 年使用率達到 2% 及以上的 56 個工具中,有 19 個(僅 1/3)工具在 2018 年使用率有所上升,其餘 37 個均下降。這和近期的收購案(Datawatch 收購 Angoss、Minitab 收購 Salford)一道表明數據科學平台的整合正在進行過程中。
2017 年使用率至少 3% 的工具,今年下降了 25% 甚至更多,詳見下表。
表 3:使用率跌幅最大的主要分析/數據科學工具。
深度學習工具
近兩年,該調查中使用深度學習工具的投票者所佔份額保持穩定。2018 年有 33% 的投票者使用深度學習工具,2017 年和 2016 年分別有 32% 和 18%。谷歌維護的 TensorFlow 仍然佔主導地位,而發展迅速的 Keras 可作為構建在 TensorFlow 和 MXNet 等框架上的高級 API。
另一方面,主要由 Facebook 推動,推出已過一年的 PyTorch 吸引了一批研究者和工程人員,使用率達到 6.4%,排名第三。由於這款深度學習框架已和 Caffe2 合併,在未來我們肯定將會看到 PyTorch 佔據更大的份額。
不過 KDnuggets 更關注數據科學,也更常使用淺層的機器學習演算法。我們可能更希望了解機器學習及深度學習社區在框架上的選擇,因此讀者可以在文末對常用的深度學習框架進行投票。
深度學習工具排名:
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 使用率下降
2018 年,大約 33% 的用戶使用大數據工具,要麼是 Hadoop,要麼是 Spark,和 2017 年一樣。但 Hadoop 的使用率顯著下降,跌幅超過 30%。
以下是相關細節:
編程語言
Python 似乎不僅正在取代 R,還包括除了 SQL、Java、C/C++ 之外的大多數其它語言,這三者與 Python 大致處於同一個級別。自 KDnuggets 開始做這項調查以來,R 使用率首次出現下跌。其它語言也出現了衰落的趨勢。
以下是按熱門度排序的主要編程語言:
Python, 65.6% (was 59.0% in 2017), 11% up
R, 48.5% (was 56.6%), 14% down
SQL, 39.6% (was 39.2%), 1% up
Java, 15.1% (was 15.5%), 3% down
Unix, shell/awk/gawk, 9.2% (was 10.8%), 15% down
Other programming and data languages, 6.9%, (was 7.6%), -9% down
C/C++, 6.8%, (was 7.1%), 3% down
Scala, 5.9%, (was 8.3%), 29% down
Perl, 1.0% (was 1.9%), 46% down
Julia, 0.7% (was 1.2%), 45% down
Lisp, 0.3% (was 0.4%), -25% down
Clojure, 0.2% (was 0.3%), -38% down
F, # 0.1% (was 0.5%), -73% down
地區參與度
本次調查中不同地區的參與比例是:
歐洲,37.5%
美國/加拿大,36.6%
亞洲,11.7%
拉丁美洲,6.6%
非洲/中東,4.5%
澳大利亞/紐西蘭,3.1%
和 2017 年相比,主要的變化是歐洲的參與比例變高了(之前為 35.5%),而美國/加拿大的參與比例變低了(之前為 41.5%)。
完整結果和 3 年來的趨勢
以下表格展示了調查結果的細節(由於篇幅限制,此處僅列出排名前 12 的工具):
更完整的列表請參考原文:https://www.kdnuggets.com/2018/05/poll-tools-analytics-data-science-machine-learning-results.html
讀者調查
※深度學習「一鍵P圖」:為原畫無縫添加新元素
※專訪 | 阿里巴巴「鹿班」演算法技術負責人星瞳:用可控視覺生成引擎完成智能設計
TAG:機器之心 |