數據科學和機器學習的工具和語言最新動態
第18屆年度KDnuggets軟件投票又一次受到了分析、數據科學界和軟件生產商的熱情參與。與去年相似,約有2900人參與了此次投票。最近幾年,Python的使用增長率一直比R快,到今年,Python終于以微弱的優勢超過了R的使用率 (52.6% Vs 52.1%)。然而最大的驚喜應該是深度學習工具的廣泛共享和使用。2017年深度學習有32%的使用率,而在2016年只有18%,2015年9%。谷歌Tensorflow迅速成為深度學習平臺的領頭者,以20.2%的使用率領先于其他平臺。它去年的使用率只有6.8%,但在今年它進入了使用工具的前10名。2014年分析、數據挖掘、數據科學的主要工具有四種:R、Python、SQL和SAS,而2017年達到了五種,分別是Python、R、SQL、Saprk和Tensorflow。RapidMiner以33%左右的使用率占據著數據挖掘/數據科學中最流行的通用平臺前列,這和2016年幾乎完全一樣。
我們注意到,許多軟件廠商都鼓勵自己的用戶投票給自己,但所有的軟件廠商都有平等的機會這么做,因此這并不違反KDnuggets準則。我們沒有看到任何機器自動投票或只投給一個工具的情形。
Spark增長到約23%,在Hadoop體系中保持前10位的領先地位。
除了TensorFlow外,在頂端也出現了另一個新工具Anaconda,有22%的使用率。
分析、數據科學、機器學習領域使用率居前的工具
表1:分析/數據科學領域2015-2017年KDnuggets 投票結果對比
上圖展示了前11名的結果,每一個實用工具的支持票數都超過了500。在上表中 ,”2017%Usage”是今年使用這個工具的投票者百分比, “%Change 2017 Vs 2016″ 是與2016年使用情況的對比,這里用綠色和紅色高亮表示改變超過5%以上的情況,”% alone” 是只使用當前工具的投票者占比。每個投票者工具平均使用數為6.1,和2016年6.0相比幾乎沒有變化 。對比于 2016年 KDnuggets分析/數據科學票選結果,前11名中新晉的工具是Anaconda和Tensorflow。
各個區域的參與度如下:
• 美國/加拿大(41.5%)
• 歐洲(35.5%)
• 亞洲(10.1%)
• 拉丁美洲(6.5%)
• 非洲/中東地區(3.8%)
• 澳大利亞/新西蘭(2.7%)
趨勢新工具在調查中有超過2%的使用率是• Keras(9.5%)• PyCharm(9%)
• 微軟R(4.3%)
• IBM DSX(3.0%)
• PyTorch(3.0%)
• Teradata(2.4 %)
下表列出了在2017年里使用增長率超過20%且使用率至少達到2%的工具,這其中包括5個深度學習工具和4個Microsoft工具。
表2:使用率增長最快的分析/數據科學工具
DataRobot 雖然使用率不足2%,但它從2016年的0.5%增長到了2017年的1.9%。我們注意到,在2016年中至少有2%使用率的工具中,有22個使用量在增加,27個處于下降階段。這表明,數據科學平臺市場仍然沒有被整合起來。下表展示了在2016年至少有2%的使用率,但在2017年使用率至少減少了20%的工具。Turi和Salford在最近被收購,Perl和Octave被Python和R打敗,RapidInsight也許是沒有提醒其用戶投票給自己,QlikView很可能輸給了Tableau,C4.5可以算是過時技術了。有趣的是,Hadoop體系的的開源工具里,針對于MLlib和其他免費開源分析/數據挖掘工具的使用量也在減少。
表3:使用率下降最快的分析/數據科學工具
深度學習工具今年深度學習工具的使用率躍升到32%,2016年只有18%,2015年的9%。谷歌Tensorflow是占主導地位的平臺,取代了去年的領導者Theano / Pylearn2。排名前列的工具有:
• Tensorflow,20.2%使用率
• Keras,9.5%
• Theano,5.8%
• Other Deep Learning Tools,4.8%
• Mirrosoft CNTK,3.4%
• Caffe,3.1%
• PyTorch,3.0%
• DL4J 2.2%
• MxNet,1.8%
• Torch,1.2%
• Lasagne,0.9%
Hadoop的/大數據工具我們已經簡化了Hadoop體系下的針對于Hadoop/Spark類工具的的分類。Hadoop下的商業/開源工具、SQL和Spark的使用率占到了33%。這比2016年的39%略低,但2016年很多工具都被劃分為大數據工具。2015年,Spark/Hadoop的工具使用率為29%。在2017年的大數據工具的使用是:• Spark,22.7%
• Hadoop 開源工具,15.0%
• Hadoop SQL,10.3%
• Hadoop 商業工具 7.6%
Python、Java、Unix,scala大受歡迎 而C/C ++,Perl,Julia,F#,Clojure和Lisp下降。以下是按投票排名的主要編程語言:• Python,52.6%的使用率(2016年45.8%)
• R,52.1%(2016年49.0%),增長6%
• SQL,34.9%(35.5%),下跌2%
• Java,13.8%(16.8%),下跌18%
• Unix Shell/ AWK / GAWK,9.6%(10.4%),下跌7%
• C / C ++,6.3%,(7.3%),下跌13%
• Perl,1.7%,(2.3%),下跌27%
• Julia,1.1%(1.1%),無變化
Python不斷學習競爭對手Julia,持續增長,然而Julia的使用率卻令人驚訝地保持了不變。