• 1
  • 2
  • 3
  • 4
  • 5
百家谈云计算 首 页  »  帮助中心  »  云服务器  »  百家谈云计算
Python正在取代R,成为数据科学界新宠
发布日期:2016-3-25 11:3:9

  R:不是真正的语言

  

  人们学习R很困难的一部分原因是,它并不是一种真正的编程语言。John Cook是一位R专家,他曾说:“R是一个做统计的交互环境,不是一种真正的编程语言。把R看做包含有编程语言的交互环境会更有帮助。”但是正如Bob Muenchen强调的,R甚至对于那些精通SAS和SPSS数据统计工具的人来说都是困难的。关于R为分析师降低了复杂性的问题,还有待争议,虽然R包含宏和矩阵语言,此外,你还需掌握像SPSS等工具。但对于那些期待R去实现类似Stata的功能的人,他们注定要失望。

  综合考虑,R的与众不同使它较难学习。

  Python降低数据科学技术壁垒

  

  然而,Python更加平易近人。一方面,各种各样的开发人员都熟悉Python并在广泛的应用领域使用它。不像R几乎只用于数据分析,一个开发人员在第一次编写他的网站脚本或其他应用程序的时候,即可体验到Python。随着企业竭尽所能地使用数据,他们也正在努力寻找合格的数据科学家。然而,正如Gartner的Svetlana Sicular所假设的,在本公司内对员工培训一些简单的大数据技术,比培训新雇佣的数据科学家复杂的商业知识更有效率。

  使用Python的主流数据科学

  相比R丰富的数据分析能力,Python尚有很多不足,但它正在迅速的缩小差距。请记住:Python成功的关键并不是它比R或者其他分析工具能够处理更神秘的功能,而在于它的平易近人和通用的性质。数据科学正在走出头号怪胎的领域,上个月在纽约举行的O'Reilly's Strata会议这一点尤为明显:过去的与会者多是学术领域的博士,现在则是关键的业务分析师和其他被企业要求去弄清楚大数据业务的人。相比R,这种新的,早期的“数据科学家”,将更多地使用Python。Python使用起来相对简单,而且他们也许已将其用于一个项目中了。至于在其他市场,相比于那些功能强大但是复杂的工具,熟悉或容易学习的工具更容易取胜。

  Python“所向披靡”

  但是除了可以利用现成的Python开发者资源,用Python语言做数据科学的最大好处之一是:在不同的应用程序中使用一种编程语言所增加的效率。德克萨斯大学奥斯汀分校研究助理Tal Yarkoni解释说:“事实证明,使用一种语言来做所有的开发和分析的好处是相当可观的。一方面,当你可用同一种语言做所有的事情时候,你就不必一直提醒自己:Ruby使用blocks而不是comprehensions,在Python中得到数组的大小应当调用len(array),而不是array.length……另外,你不需再担心项目的不同模块采用不同语言的接口问题。没有什么比在Python中解析一些文本数据,然后将它转换成内部使用所需要的格式,最后才发现必须将它以另一种格式写到磁盘上,以便R或者MATLAB去做分析更烦人的了。只要使用单一的语言,所有这些开销都将消失。”

  我们可以夸赞某个技术完美地解决了一个问题,但往往胜出的技术是解决一系列问题的通用工具。正如AppNexus优化和分析主管David Himrod指出:“AppNexus面临的最大挑战之一是如何让不同的员工使用相同的技术来工作。Python为具有不同背景的员工(尤其是工程师,数学家和分析师)提供了一种常见的、容易理解的语言,可用于公司将新功能进行标准化。”