導讀:近日,著名資料科學網站 KDnuggets 釋出了 2018 年資料科學和機器學習工具調查結果。超過 2000 人對自己「過去 12 個月內在專案開發中使用過的資料挖掘/機器學習工具和程式語言」進行了投票。該統計還對過去三年來的排名進行了對比分析。
作者:Gregory Piatetsky
來源:機器之心(ID:almosthuman2014)編譯
這份投票結果既有預料之內,也有預料之外的部分。資料顯示,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 個參與者的初始結果分析,其中「獨好」投票者已被排除。
誰是最受歡迎的分析、資料科學、機器學習工具?
▲KDnuggests 分析/資料科學 2018 年軟體調查:2018 年最受歡迎工具,以及它們相對於 2016-2017 年的排名變化。(為了更有效的比較,KDnuggests 排除了「獨好」投票者並重新計算了 2016 年、2017 年的調查結果。)
上圖顯示了排名前 11 的工具,每個工具的使用率至少為 20%。
▲KDnuggests 2018 年軟體調查最受歡迎的分析/資料科學/機器學習軟體
在這裡,「2018 % share」一欄是指使用該工具的使用者百分比,「% change」是指和 2017 年軟體調查相比的變化比例,綠色和紅色標記表示比例的變化幅度達到了 10% 或更多。
每個投票人的平均使用工具數量是 7 個,略微高於 2017 年調查的 6.75 個(也排除了「獨好」投票人)。
和 2017 年的軟體調查相比,進入前 11 名的新工具是 Keras。Knime 從第 11 名下跌,可能是因為今年他們並沒有積極調動其使用者參與投票。
以下是一些觀察結果。
1. Python 正在吞噬 R 的使用者領域
2017 年 Python 的使用率超過 50%,今年它的使用率上升至 66%,而 R 的使用率首次下跌,跌破 50%。
2. RapidMiner
在之前的幾次問卷中,RapidMiner 這一頂級資料科學平臺正快速傳播,它的使用者使用率由 2017 年的 33% 增長到了今年的 52.7%。根據 RapidMiner 的創始人和董事長 Ingo Mierswa,他們採取了一些措施鼓勵使用者參與該調查。
對於 KDnuggets 的問卷調查,Ingo Mierswa 說:「近兩年我們都向使用者傳送郵件推廣該問卷調查,但今年有超過 400 多位使用者回郵件表示很高興能幫助 RapidMiner 的傳播。而且今年 RapidMiner 月度活躍使用者增長率超出去年 300%,因此我們向更多使用者發送了關於 KDnuggets 問卷調查的郵件。我很高興看到如此活躍的社群。」
3. SQL 保持穩定
作為資料管理系統的程式語言,SQL(包括 Spark SQL 和 SQL to Hadoop 工具)繼續保持著約 40% 的使用率,和之前 3 次調查結果一樣。因此,如果你是一位有雄心壯志的資料科學家,學習 SQL 吧,它在很長一段時間裡都會很有用!
4. 趨勢
該調查唯一使用率超過 2% 的新工具是 Spark SQL,使用率達到 11.7%。下表列舉了使用率增幅達到 20% 及以上、2018 年使用率為 3% 以上的工具。
▲使用率增幅最大的主要分析/資料科學/機器學習工具
5. 整合
2017 年使用率達到 2% 及以上的 56 個工具中,有 19 個(僅 1/3)工具在 2018 年使用率有所上升,其餘 37 個均下降。這和近期的收購案(Datawatch 收購 Angoss、Minitab 收購 Salford)一道表明資料科學平臺的整合正在進行過程中。
2017 年使用率至少 3% 的工具,今年下降了 25% 甚至更多,詳見下表。
▲使用率跌幅最大的主要分析/資料科學工具
6. 深度學習工具
近兩年,該調查中使用深度學習工具的投票者所佔份額保持穩定。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%
7. 大資料工具:Hadoop 使用率下降
2018 年,大約 33% 的使用者使用大資料工具,要麼是 Hadoop,要麼是 Spark,和 2017 年一樣。但 Hadoop 的使用率顯著下降,跌幅超過 30%。
以下是相關細節:
8. 程式語言
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
9. 地區參與度
本次調查中不同地區的參與比例是:
-
歐洲,37.5%
-
美國/加拿大,36.6%
-
亞洲,11.7%
-
拉丁美洲,6.6%
-
非洲/中東,4.5%
-
澳大利亞/紐西蘭,3.1%
和 2017 年相比,主要的變化是歐洲的參與比例變高了(之前為 35.5%),而美國/加拿大的參與比例變低了(之前為 41.5%)。
10. 完整結果和 3 年來的趨勢
以下表格展示了調查結果的細節(由於篇幅限制,此處僅列出排名前 12 的工具):
更完整的串列請參考原文:
https://www.kdnuggets.com/2018/05/poll-tools-analytics-data-science-machine-learning-results.html
推薦閱讀
Q: 你在使用哪種語言&哪種工具?
歡迎留言與大家分享
覺得不錯,請把這篇文章分享給你的朋友
轉載 / 投稿請聯絡:baiyu@hzbook.com
更多精彩,請在後臺點選“歷史文章”檢視