据KDnuggets 2017年做的调查Python已经超越R
来源:互联网 发布:db2还原数据库指令 编辑:程序博客网 时间:2024/05/17 13:39
根据 KDnuggets 2017 年最新查询,Python 生态系统现已超过了 R,成为了数据剖析、数据科学与机器学习的第一大言语。本文对 KDnuggets 的此项查询结果做了介绍,并弥补了一篇文章解说为何 Python 能成为数据科学范畴最受欢迎的言语。Python vs R:2017 年查询结果
近来,KDnuggets 建议了一项查询,问题是:你在 2016 年到现在是否运用过 R 言语、Python(以及它们的封装包),或是其他用于数据剖析、数据科学与机器学习的东西?意料之内的是,Python 并没有彻底「吞噬」R 言语的空间,但这项根据 954 个参加者的投票显现,Python 生态系统在本年现已逾越了 R 言语,成为了数据剖析、数据科学和机器学习的第一大言语。
值得一提的是,在 2016 年的查询中,Python 还处于落后位置(34% 比 42%),在 2017 年,两者的比照是 41% 比 36%。
此外,参加这项查询的 KDnuggets 读者也有倾向于一起运用 Python 和 R 两种言语的趋势(12%),而运用其他东西的人则有所削减(从 16% 降至 11%)。
图 1. 2016 年与 2017 年在数据剖析、数据科学和机器学习上,Python、R、两者一起运用,以及其他渠道的人数比照。
下面,让我们看看不同渠道之间的变换。
图 2. 2016 年与 2017 年间,数据剖析、数据科学和机器学习上,Python、R、两者一起运用,以及其他渠道的人数变换暗示。
这张图看起来有点杂乱,其中有两个主要方面都是 Python 获得胜利。
忠实度:Python 的用户显得愈加忠实,有 91% 的 2016 年 Python 用户仍然在运用这个言语,而 R 言语的忠实度为 74%,其他渠道为 60%。
变换趋势:只要 5% 的 Python 用户转投 R 言语,反向变换的份额则是 10%。而关于在 2016 年运用两种言语的用户而言,只要 49% 的人仍在运用双渠道,38% 现在只用 Python,而 11% 转移到了 R 言语上。
在 KDnuggets 2015 年的查询中,并没有提出「一起运用 Python 和 R 言语」的选项,所以下图的趋势线中,2016 年和 2017 年的数据依照如下公式进行了变换Python=(Python 份额)+50%(一起运用 Python 和 R)R=(R 份额)+50%(一起运用 Python 和 R)
我们能够看到,R 的运用份额正在逐步下降(从 2015 年的 50% 下降到了 2017 年的 36%),而 Python 的份额则呈逐年上升趋势——从 2014 年的 23% 添加到了 2017 年的 47%。一起,其他渠道的运用量在逐步削减。
最终,让我们看看这次查询的参加者区域散布:
美国/加拿大:40%
欧洲:35%
亚洲:12.5%
拉丁美洲:6.2%
非洲/中东:3.6%
澳大利亚/新西兰:3.1%
为了简化图表,在下图中,一起运用两种言语与运用其他言语的份额被合并。
图 4:分区域比照 Python、R 、其他,2016 比照 2017
我们在一切区域都发现了相同的形式:
Python 的比重添加了 8%-10%;
R 的比重下降了 2%-4%;
其他渠道的比重下降了 5%-7%。
Python 用户的未来看起来一片光亮,但我们预期 R 和其他渠道在未来会坚持住必定比重,由于它们巨大的嵌入式基础。
Python 是怎么上升到数据科学高峰的
能够肯定地说,Python 是一个十分受欢迎的东西,它涵盖了各个工作的各种工作。由于它接近性的言语、丰厚的资源和结构以及它巨大硬件开发族群,Python 天然是开发人员们的首选东西。Packt 在 2017 年的技能查询显现,在不同职位的技能专业人员中,Python 从 2016 年的第二名上升成为用户最多的东西。我们向 Sebastian Raschka 提问:为什么不管是应用机器学习仍是深度学习的研究者,亦或是 Packt 的畅销书 Python 机器学习的作者都转向了 Python 学习?这个言语的下一步将会是什么?他不得不供认:Python 已成为近二十年来最盛行的言语。
困难登顶:PYTHON 是怎么成为数据科学通用言语的?
Python 是有史以来最盛行的编程言语之一,这一点是毫无疑问的。可是最初发生的工作的确很难描绘的,是言语自身仍是对编程言语的爱。是否是我们首先为科学核算、数据科学以及机器学习开宣布优异的开源的数据库才推动了大家选择 Python 作为他们的东西,或是由于越来越多的人在运用 Python 我们才把这些开宣布来。
不管哪一种是对的,有一件事是满足显而易见的:Python 是一种十分通用的言语,易于学习和运用。在我看来,这是今日它被如此遍及运用的原因。尽管科学核算的大多数算法都没有在纯 Python 中完成,Python 仍然是用于与 Fortran,C / C ++和其他言语中的十分有用的完成交互的优异言语。
所谓的从核算高效的低级言语调用代码,以及 Python 为用户供给一个十分天然和直观的编程接口的这一实际可能是 Python 作为通用言语遍及的重要原因之一,特别是在数据科学和机器学习社区中表现的更为明显。
未来的结构:我们应该重视什么东西、结构和数据库
Python 开发了许多风趣的库。作为一名数据科学家或机器学习从业者,我常常从 Python 中心科学仓库中重点重视保护杰出的东西。例如,NumPy 和 SciPy 是就是用于处理数据数组和科学核算的高效库。
当触及严峻的数据清洗时,我们能够运用多功用的 Pandas 包。Pandas 是一个开源库,能够为 Python 编程言语供给快速简化的数据处理和数据剖析东西,它主要是为 Python 供给实际和高端的数据剖析。我还建议运用 Matplotlib 进行数据可视化,Seaborn 还能够供给更多的绘图功用和更专门的绘图。此外 Scikit 学习是一个很好的通用机器学习东西,它为数据发掘和剖析供给了有用的东西。这可能是我最喜欢的一款了,由于它几乎能够为一切的基本机器学习算法和许多有用的数据处理东西供给一个十分好用的 API。
当然,我在自己的项目中发现了许多有用的库。当我需求额定的功用时,我首选的数据结构库是 Dask。Dask 是一个十分合适处理大型、难以装入内存的数据结构的库,它还能在多个处理器中进行并行核算。或者运用 TensorFlow、Keras 和 PyTorch,一切这些都十分合适完成深度学习模型。运用什么库取决于你的个人偏好和项目需求,可是一直以来都有许多便利风趣、运用 Python 开发的结构,关键是找到合适你自己的。
Python 的未来是什么样的?北大青鸟
在大多数人的眼里,Python 的未来十分光亮。这个言语刚刚被 IEEE Spectrum 列为第一大编程言语。而 Packt 最近的查询也显现它是最近一段时期内科技界最为盛行的东西。尽管在这里,我们主要从数据科学和机器学习的视点议论 Python,但我们也会常常听说其他范畴的人们也以为 Python 是一种功用丰厚的言语,具有很多的库和完好的生态系统。Python 或许不是一切问题的最佳东西,但关于想要「完成任务」的程序员来说,它被以为是一种「有用」的言语。
此外,尽管具有很多库是 Python 的优势之一,但它的大多数开发包现在都得到了很好的保护——那些数据科学和机器学习库每天都有新特性与提升。例如 2006 年建议的 NumPy 项目,作为 Python 数据科学的中心库,最近它刚刚接受了价值 64.5 万美元的赞助。
Python 及其相关库在我们的工作中扮演了重要角色,我十分感谢一切这些东西背面的开发者,没有这些开源库,Python 就没有今日。关于我们来说,Python 能够成为十分重要的东西,我期望它的用户们能够多考虑协助开源社区的开展,不管文档修正、bug 修正仍是新代码、新特性或新库,一切奉献都将协助整个社区向前开展。由于这个赋有生机的社区,Python 的未来有着光亮的前景。