python與R(對比SAS),我該選擇哪一種工具?

介紹

咱們熱衷於比較!python

從智能手機中的三星,蘋果和HTC,移動操做系統中的iOS,Android和Windows,到即將進行選舉的候選人的比較,或爲世界盃團隊選擇隊長,比較和討論豐富了咱們的生活。若是你喜歡討論,你須要作的就是在一個充滿激情的論壇裏拋出一個相關的問題,而後看着它發酵。這個過程的美妙之處就在於,論壇裏的每一個人都是一個知識淵博的人。算法

那我在這裏就拋出一個相似的話題—— SAS和R語言之爭多是數據科學行業可能見證的最大爭辯,而Python是如今發展最快的語言之一,自成立以來已經走過了漫長的道路。我開始討論這個話題不是想看它引爆全場(雖然這也頗有趣),而是我知道咱們都會從討論中受益。編程

這個問題也常常在博客中被人們討論。因此,我想和你們一塊兒討論!架構

在這個問題上討論的還不夠多嗎?

多是! 因此我仍是以爲有必要進行討論,理由以下:編程語言

  • 數據科學很是有活力,前兩年進行的討論可能與如今的狀況沒什麼關聯了。
  • 傳統觀念裏沒有把python列做比較以內,我以爲如今這是個很是值得深思的問題。
  • 雖然咱們將討論有關語言的全球趨勢,但我也將添加印度分析行業的相關具體信息(處於不一樣的發展水平)

好了,閒話少說,讓咱們開始討論吧!工具

背景

下面是一些關於這三個生態系統的簡要說明:oop

  • SAS:SAS一直是商業分析領域無可爭議的市場領導者。該軟件提供大量統計功能,具備良好的GUI,供人們快速學習,並提供強大的技術支持。然而,它最終變成了一種昂貴的選擇,並不老是具備最新的統計功能。
  • R:R是SAS的開源對應物,傳統上用於學術和研究。因爲其開源性質,最新技術能夠快速發佈。互聯網上有不少相關文檔,R是一個很是划算的選擇。
  • Python:做爲一種開源腳本語言,Python的使用者數量隨着時間的推移而不斷增加。今天,它集成一些庫(numpy,scipy和matplotlib)和幾乎全部你可能想作的統計操做/模型構建的功能。自從引入pandas以來,它在結構化數據的操做方面變得很是強大。

屬性比較

我將在如下屬性上比較這些語言:學習

1.可用性/成本測試

2.易於學習網站

3.數據處理能力

4.圖形功能

5.先進的工具

6.工做場景

7.深度學習支持

8.客戶服務支持和社區

我從分析師的角度來比較這些。 所以,若是您正在爲您的公司尋找要購買的工具,您可能沒法在此得到完整的答案。可是如下信息仍然有用。 對於每一個屬性,我給這三種語言中的每一種都給出一個分數(1 - 低 ; 5 - 高)。

這些參數的權重,根據您的職業生涯階段和雄心而有所不一樣。

可用性/成本

SAS是一款商業軟件。對於大多數專業人士而言,這是昂貴的且沒有能力以我的身份購買。可是,它在私人企業中擁有最高的市場份額。 所以,除非您在投資了SAS的機構中,不然可能很難接觸到SAS。 儘管如此,SAS已經引入了一個能夠免費訪問的大學版,但它有一些侷限性。在那裏你也是可使用 Jupyter notebook的!

另外一方面,R&Python是徹底免費的。如下是我對此參數的打分:

SAS - 3

R - 5

Python - 5

易於學習

SAS易於學習,併爲已經瞭解SQL的人提供簡便的選項(PROC SQL)。 不只如此,它在其存儲庫中具備良好的穩定GUI界面。 在資源方面,各大學的網站上都有教程,SAS有全面的文檔。 從SAS培訓機構出來是能夠得到認證的,但它們也是須要一筆花費。

R在3種語言中具備最陡峭的學習曲線。它要求您學習和理解編碼。R是低級編程語言,所以簡單的過程可能須要較長的代碼。

Python因其編程世界的簡單性而聞名。 對於數據分析也是如此。,雖然目前尚未普遍的GUI界面,但我但願Python notebooks會變得愈來愈主流。 它們爲文檔和共享提供了出色的功能。

SAS - 4.5

R - 2.5

Python - 3.5

數據處理能力

這一度是SAS的優點。 R計算內存(RAM)中的每個單元,所以計算受到32位機器上的RAM數量的限制。 可是如今已再也不是這種狀況。 這三種語言都具備良好的數據處理能力和並行計算選項。我以爲這再也不是一個很大的區別。 他們都帶來了Hadoop和Spark集成,他們也支持Cloudera和Apache Pig。

SAS - 4

R - 4

Python - 4

圖形功能

SAS具備不錯的功能圖形功能。可是,它只是功能性的。對繪圖進行任何自定義都很困難,須要您瞭解SAS Graph包的複雜性。R和Python具備很是先進的圖形功能。 有許多軟件包能夠爲您提供高級圖形功能。隨着Plotly被引入兩種語言而且Python帶有Seaborn,製做自定義繪圖從未如此簡單。

SAS - 3

R - 4.5

Python - 4.5

先進的工具

全部3個生態系統都具有全部基本和最須要的功能。 此功能僅在您處理最新技術和算法時纔有意義。

因爲其開放性,R&Python能夠快速得到最新功能。 另外一方面,SAS更新了其在新版本推出中的功能。 因爲R在過去被普遍用於學術界,所以新技術的發展很快。

話雖如此,SAS在受控環境中發佈更新,所以它們通過了充分測試。 另外一方面,R&Python有開放的貢獻,而且在最新的發展中存在錯誤的可能性。

SAS - 4

R - 4.5

Python - 4.5

工做場景

在全球範圍內,SAS仍然是用於企業工做的市場領導者。大多數大公司仍在使用SAS。另外一方面,R / Python是尋求成本效益的初創企業和公司的更好選擇。此外,據報道R / Python上的工做數量在過去幾年中有所增長。 這是一個在互聯網上普遍發佈的趨勢,它顯示了R和SAS工做的趨勢。 用於數據分析的Python做業與R做業具備類似或更高的趨勢:

下圖顯示了藍色的R和橙色的SAS:


這個圖表現了另外一個方面,藍色的R與橙色的python:


總的來講,語言的市場能夠用下圖表示:

SAS – 4

R – 4.5

Python – 4.5

客戶服務支持與社區

R和Python擁有最大的在線社區,但沒有客戶服務支持。 因此,若是你遇到麻煩,你就是靠本身。 你會獲得不少幫助。另外一方面,SAS提供專門的客戶服務與社區服務。 所以,若是您在安裝或任何其餘技術挑戰方面遇到問題,能夠與他們聯繫。

SAS – 4

R – 3.5

Python – 3.5

深度學習支持

SAS的深度學習仍處於起步階段,有不少工做要作。

另外一方面,Python在該領域取得了很大的進步,並擁有許多軟件包,如Tensorflow和Keras。

R最近增長了對這些軟件包的支持,以及一些基礎的軟件包。 R中的kerasR和keras包充當了原始Python包,Keras的接口。

SAS – 2

Python – 4.5

R – 3

其餘因素

如下是一些值得注意的問題:

  • Python在Web開發中被普遍使用。 所以,若是您從事在線業務,使用Python進行Web開發和分析能夠提供協同效應。
  • SAS過去在部署端到端基礎架構(可視化分析,數據倉庫,數據質量,報告和分析)方面具備很大的優點,這已經經過在SAP HANA和Tableau等平臺上集成/支持R而獲得緩解。 它仍然遠離SAS之類的無縫集成,但旅程已經開始。

總結

在今天的情景中,咱們看到市場略微向Python傾斜。考慮到行業的動態性,投資將會佔據優點。根據您的狀況(職業階段,財務等),您能夠添加本身的權重,並提出可能適合您的權重。如下是一些具體方案:

  • 若是您是進入分析行業的新手(特別是在印度),我建議您學習SAS做爲您的第一語言。它易於學習,佔有最高的就業市場份額。
  • 若是你是一個已經在工業上花時間的人,你應該嘗試將你的專業知識多樣化,學習一種新工具。
  • 對於行業的專家和專業人士,人們至少應該知道其中的兩個。這將爲將來增長不少靈活性並開闢新的機會。
  • 若是你是一個初創/自由職業者,R / Python更有用。

從戰略上講,須要更多實際操做幫助和培訓的企業設置選擇SAS做爲選項。

研究人員和統計學家選擇R做爲替代方案,由於它有助於繁重的計算。正如他們所說,R的目的是完成工做而不是簡化您的計算機。

因爲其輕量級特性和不斷髮展的社區,Python已成爲當今初創公司的明顯選擇。它也是深度學習的最佳選擇。

這是最終的得分表:

相關文章
相關標籤/搜索