[譯]作為編程語言,在數(shù)據(jù)科學(xué)領(lǐng)域Python正在取代R語言

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

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

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

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

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

人們煞費苦心地學(xué)習(xí)R語言一部分原因是它并不是一門編程語言。正如專家John Cook指出,R語言實際是一種數(shù)據(jù)統(tǒng)計的交互環(huán)境,并不真的是一門編程語言。他建議,與其把R語言看成一種編程語言倒不如認(rèn)為它有編程語言的特性。

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

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

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

Python:降低了數(shù)據(jù)科學(xué)的門檻

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

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

一個Python統(tǒng)治所有

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

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

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

使用Python的主流的數(shù)據(jù)科學(xué)

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

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容