[譯]作為編程語言,在數據科學領域Python正在取代R語言

在PhD中,R語言依然很火,但是在時代的大潮流中,Python是王者。
Matt Asay (From MongoDB)2013年11月25號
Python
Python

對于數據科學家來說,R語言無疑是他們的選擇,但是Python正在搶奪R語言的地盤。

關于這個改變有很多的原因,或許最大的原因是相對于R語言的難以掌握的復雜編程環境來說,Python更加通用,而且更加簡單。

在一個越來越依賴數據世界,“簡單”肯定會取得勝利。

R語言:并不真的是編程語言

人們煞費苦心地學習R語言一部分原因是它并不是一門編程語言。正如專家John Cook指出,R語言實際是一種數據統計的交互環境,并不真的是一門編程語言。他建議,與其把R語言看成一種編程語言倒不如認為它有編程語言的特性。

而且,R語言看起來一點都不像傳統的編程語言,這對于將要成為R語言開發者來說,很難掌握。

但是R語言對于像這些數據統計的工具,比如SAS,SPSS,如Bob Muenchen指出R語言對于分析師來說可以說是減少了復雜度,因為它合并了宏(Marcro)和矩陣語言,而在其他語言中,比如SPSS,就需要你自己去掌握。但是如果期待R語言可以像Stata一樣,他們會失望的。

綜上,R語言。。。是不一樣的,讓事情變難了。。。

Python:降低了數據科學的門檻

然而Python是非常容易學習的。就拿一件事情來說吧,大多開發者都熟悉Python,而且可以在多種程序中使用它。不像R語言,只能用戶數據分析領域,一個開發者可以在首次用腳本編寫她的網站或者別的程序的時候就體驗Python語言。

當企業苦苦地讓數據工作的時候,他們還煞費苦心的尋找合格的數據科學家。然而,往往這樣的數據科學家已經為他們工作了,而且應該熟悉Python。因為根據用戶的數據提供正確的分析是如此的重要,所以在復雜的用戶數據下,企業自己培養的大數據技術人才比需要自己培訓新應聘的數據科學家高效得多。就像 Gartnet 的Svetlana Sicular所說的

一個Python統治所有

先不說使用現成的Python人才庫,使用Python最大的受益是增加使用同一種編程語言在不同程序中的效率。德克薩斯大學奧斯汀分校研究員 Tai Yarkoni 解釋:

已經表明使用同一種語言進行開發和分析會受益匪淺。就這么一點來說吧,當你可以只用一種語言來做所有的事情,你沒有必要折磨自己說,Ruby使用block代替縮進,或者你需要在Python中調用數組的len方法而不是array.length來獲取數組的長度。
而且,你永遠不用擔心項目中不同語言之間的接口問題。沒有比在Python中處理相同的文字數據煩人了,最后把它們變成你想要的格式,然后才知道你不得不把它們以另一種格式寫入磁盤,以至于你可以把它們轉交給R語言或者Matlab來進行別的分析。個別的,這不是大問題。在Python中把它們以CSV格式或者JSON格式文件輸出,在R中讀取,進行加和。如果只用一種語言,所有這些都不再會有。

這并沒有夸張的部分。當我們贊美合適的技術很好地解決了我們的問題的時候,技術就會勝出,這是通用的道理。就像 Optimization and Analytics 的 AppNexus 的董事David Himrod說的,“在AppNexus面臨的最大的挑戰是如何在統一技術領域聘到多樣的員工。Python為員工提供了不同的背景,特別是工程師,數學家,分析師---一種常見的,簡單易懂的語言可以被公司用來定義新的功能原型。”

使用Python的主流的數據科學

Python在數據分析方面仍然欠缺一些R語言的豐富性,但是二者的間距正在快速縮小.
要記住:Python成功的關鍵不是它處理神秘方法的能力上比R語言或者別的與前強,而是它容易學習和通用性。數據科學已經脫離初級極客的境界了,在上個月O'Reilly Strata大會上已經非常明顯了。哲學博士們曾經常常出沒的大會,現在普通的經濟分析師和一些受企業派遣去分析大數據的人,已經成為此次大會的主要參加者。

這次新的大會更傾向于使用Python而不是R語言。Python相對來說簡單易用,而且它們已經在別的項目中使用了它。在別的方面,人們更加傾向于已經精通的或者簡單易學的工具而不是強大而復雜的工具,如果可能的話,應該避免使用這樣強大而復雜的工具。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容