Python正在取代R,成為資料科學界新寵

csdn發表於2013-12-04

  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“所向披靡”

  但是,除了可以利用現成的Python開發者資源,用Python語言做資料科學的最大好處之一是:在不同的應用程式中使用一種程式語言所增加的效率。德克薩斯大學奧斯汀分校研究助理Tal Yarkoni解釋說:“事實證明,使用一種語言來做所有的開發和分析的好處是相當可觀的。一方面,當你可以用同一種語言做所有的事情的時候,你就不必一直提醒自己:Ruby使用blocks而不是comprehensions,在Python中得到陣列的大小應當呼叫len(array),而不是array.length……

  另外,你不需要再擔心專案的不同模組採用不同語言的介面問題。沒有什麼比在Python中解析一些文字資料,然後將它轉換成內部使用所需要的格式,最後才發現必須將它以另一種格式寫到磁碟上,以便R或者MATLAB去做分析更煩人的了。只要使用單一的語言,所有這些開銷都將消失。”

  我們可以誇讚某個技術完美地解決了一個問題,但往往勝出的技術是解決一系列問題的通用工具。正如AppNexus優化和分析主管David Himrod指出:“AppNexus面臨的最大挑戰之一是如何讓不同的員工使用相同的技術來工作。Python為具有不同背景的員工(尤其是工程師,數學家和分析師)提供了一種常見的、容易理解的語言,可用於公司將新功能進行標準化。”

  使用Python的主流資料科學

  相比R豐富的資料分析能力,Python尚有很多不足,但是它正在迅速的縮小差距。請記住:Python成功的關鍵並不是它比R或其他分析工具能夠處理更神祕的功能,而在於它的平易近人和通用的性質。資料科學正在走出頭號怪胎的領域,上個月在紐約舉行的O'Reilly's Strata會議這一點尤為明顯:過去的與會者多是學術領域的博士,現在則是關鍵的業務分析師和其他被企業要求去弄清楚大資料業務的人。

  相比R,這種新的,早期的“資料科學家”,將更多地使用Python。Python使用起來相對簡單,而且他們可能已經將其用於一個專案中了。至於在其他市場,相比於那些功能強大但複雜的工具,熟悉或者容易學習的工具更容易取勝。

  來源:Python Displacing R As The Programming Language For Data Science

相關文章