近日, 著名数据科学网站 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 的工具):
来源: http://news.51cto.com/art/201805/574165.htm