天天看點

Python Vs R:資料科學家的永恒問題pythonR結論

Python和R是當今資料科學最常用的兩種語言。 它們都是完全開源的産品,并且可以根據GNU公共許可證的要求完全免費使用和修改。但哪一個更好? 而且,更重要的是,你應該學習哪一個?兩者都被廣泛使用,并且是每個資料科學家手中的标準工具。答案可能讓您感到驚訝 - 因為作為專業資料科學家,您應該準備好應對這兩者。

Python有一些使用案例,R也是如此。使用它們的場景各不相同。 更常見的是環境以及客戶或雇主的需求決定了Python和R之間的選擇。許多事情在Python中都比較容易。 但R也在您的開發工具包中占有一席之地。

python

Python是Guido Van Rossum于1991年釋出的通用程式設計語言。

從那時起,Python已在多種環境中用于多種用途,包括但不限于:

●Web開發(Django)

●Web微服務(Flask)

●适用于Python的Zappa無伺服器架構

●TensorFlow(深度學習機器學習模型)

●Keras(簡化TensorFlow開發的進階抽象)

Python閃耀的另一種情況是現有的數量衆多的庫,這些庫很容易獲得并且可以開源使用。 PyPI(Python Package Index的簡稱)存儲庫中提供了大量軟體包,包含超過121k的軟體包,可以在不同的抽象級别自動執行許多程式設計任務,使程式員的生活變得輕松。 PyPI的軟體包中至少有6k專注于資料科學。 Python在可讀性方面也很出色。與R相比,Python更容易閱讀和了解。 Python比R更快,在某些情況下顯着更快。

R

R是由統計學家為統計學家設計的統計學家程式設計語言。它起源于90年代的George Ross Ihaka和Robert Gentleman。 R擅長學術用途并掌握在統計學家手中。在統計學方面接受過正規教育訓練的人,如統計學位,發現與R合作非常簡單。 R軟體包或庫的存儲庫稱為CRAN(Comprehensive R Archive Network),包含近12k軟體包,其中大約一半用于資料科學。 R還擅長資料可視化。一次性分析資料通常更簡單,更容易在R中表達。

此外,曾幾何時,使用Python意味着将許多庫連結在一起,其中一些庫在功能修訂和庫更新後會變得不相容。由于Anaconda,這已不再适用 - 見下文。在很短的時間内,深度學習嚴格來說就是一個Python功能 - 它在很短的時間内将機器學習世界的平衡轉向了Python。然而,随着R中TensorFlow的Keras的釋出,該因素也發生了變化,現在可以在R中使用深度學習模型。

是以答案是什麼?你應該使用哪一個?

答案 - 兩者兼而有之。

Continuum Analytics的Anaconda發行版完全改變了了機器學習現狀。 Anaconda支援Python和機器學習所需的标準庫 - NumPy,SciPy,Pandas,SymPy,Seaborn,Matplotlib - 以及完全支援R和一個名為R Studio的出色IDE。

對于深度學習,它支援TensorFlow,Theano,Caffe,Scikit-Learn和Torch。其最顯着的特點之一是引入了Jupyter Notebook,這是一個內建平台,支援在同一環境中使用Python和R,同時保持所有開源。

另一個選項是Atom文本編輯器的Hydrogen插件。它允許您輸入可在Jupyter Notebook中使用的任何代碼,并在編輯器中傳回結果。但是,它仍處于alpha狀态,并在本地計算機上出現錯誤而崩潰。 Jupyter Lab應用程式允許在相同的環境中編輯Python和R筆記本,使用獨立甚至遠端核心的概念。是以,Python在機器學習方面表現優異,而R在統計學方面表現優異。但是你為什麼要學習兩者?

因為專業資料科學家需要非常詳細地了解機器學習算法背後的統計資料和數學知識。

我們将研究兩個SVM機器學習模型,一個通過Python代碼,另一個通過R代碼。這将為我們提供兩種語言如何工作的良好畫面。

Python Vs R:資料科學家的永恒問題pythonR結論

carbon.png

Python Vs R:資料科學家的永恒問題pythonR結論

R代碼

該程式使用虹膜資料集來說明非線性SVM分類器的使用。 這段代碼故意稍微複雜一些,因為它将ML技術應用于完整的内置資料集 - 虹膜資料集 - 用于說明傳統ML技術容量的規範資料集之一。 這段代碼還說明了R的内置統計函數的用法。

在執行下面的代碼之前,您需要安裝R包e1071并通過調用庫(e1071)将其添加到編譯清單中。 但不要擔心 - 在R Studio中安裝新軟體包非常簡單。

Python Vs R:資料科學家的永恒問題pythonR結論
Python Vs R:資料科學家的永恒問題pythonR結論

正如您所看到的,R代碼在其圖形和統計能力方面基本上比Python更強大。作為統計學家的統計學家的語言,如果你有統計學背景,使用R将是你在資料科學新職業生涯中最好的啟動闆。

結論

是以,當談到在Python和R之間進行選擇時,任何資料科學家都會知道他應該知道兩者。

那麼,在Python與R之間,總結一下:

兩者都在資料科學中執行類似的任務,但是針對不同的領域進如果您是軟體工程師,請選擇Python。如果您是學術研究員,請選擇R.

如果您是資料科學家 - 請同時選擇兩者。

繼續閱讀