點擊下方卡片,關注「新機器視覺」公眾號
重磅乾貨,第一時間送達
作者 | SHANKAR DK 譯者 | 王強 策劃 | 劉燕
本文最初發布於 analyticsvidhya.com 網站,經原作者授權由 InfoQ 中文站翻譯並分享。
人類都需要氧氣才能生存。但請想一想,我們有幾個人為了保護這種生命之源而採取措施來守護自然呢?如今,大自然用一種看不見的病毒 Covid-19 讓全世界都意識到了氧氣的重要性,因為這種病毒大幅增加了全球醫療領域對氧氣的需求。因此,保護自然的行為(例如種植樹苗等)是我們的寶貴責任,這不僅是為了社會,也是為了我們自己。
就像拯救生命的氧氣一樣,在技術領域中拯救行業的資產是數據。全球範圍內生成的數據量每天都高速增長。科技行業對從數據中獲取和挖掘有價值的,有助於業務增長的見解表現出了極大的興趣。眾所周知,數據集中的數據量往往很大。因此,我們不可能像以前那麼快地手動處理如此大量的數據,迅速從中獲取有價值的見解。因此,行業專家需要新的技術工具來處理這些數據。在數百種技術工具中,R 和 Python 這兩項技術一直在雲世界中針鋒相對。
在本文中,我們將從數據科學的角度討論這兩種編程語言在處理數據方面的利弊。
總體而言,從初學者到專業級別,Python 和 R 都是數據科學學習者最喜歡的編程語言。兩種編程語言有諸多相似之處,都有着很好的表現。
兩者都是在 1990 年代初期創建的
由於它們是開源編程語言,因此任何人都可以輕鬆免費下載和訪問它們
它們具有大量的庫和專用算法函數,可以處理和解決數據科學和數據分析問題
與 SAS、SPSS、MATLAB 等其他數據分析工具一樣,它們在成本和解決複雜問題方面都不會給用戶施加限制
兩者都提供了對用戶友好的工作體驗,即使非程序員也很容易理解和掌握
在處理數據科學、機器學習、深度學習、人工智能等領域的問題時,兩種工具都時常引入很多新的發明和改進
也就是說,看起來這兩種工具不分伯仲,這就是 R 與 Python 引起爭議的原因所在。我們再來簡單了解一番,更好地理解這一點。
Python 於 1991 年首次發布,最初由 Guido van Rossum 設計。由於它是一種面向對象的編程語言,因此也稱為通用編程語言。它秉承一種強調代碼可讀性和效率的理念。
如果程序員和技術領域的人們希望將數學和統計知識很好地應用在數據科學領域,那麼 python 會是他們的最佳合作夥伴。因此,對於大多數數據科學學習者而言,這是最可取和最受歡迎的編程語言選項。
它有很多專用於機器學習和深度學習的庫,這些庫都包含在它的庫包索引 PyPI 中。這些庫的文檔也可以在其官方站點上以 Python 文檔格式獲取。
Ross Ihaka 和 Robert Gentleman 是 R 的最初創建者。R 最初於 1993 年發布,是 S 編程語言的一種實現。這種編程語言設計宗旨是在數據分析、統計方法和可視化領域輸出有效的結果。
對於數據分析技術來說,R 有着非常富饒的生態。與 python 類似,它在 Composite R Archive Network(CRAN)中有大約 13000 個專門用於深度分析的庫包。
它在學者和研究人員中最受歡迎。使用 R 語言中開發的大多數知名項目數都是研究類型的。人們通常使用 R 自己的,稱為 R Studio 的集成開發環境(IDE)中使用 R,以獲得更好的用戶友好體驗。
人們選擇某種編程語言的原因對於 Python 和 R 來說也都是適用的。因此在這兩者之間做出選擇時需要更為謹慎。在 R 和 Python 中挑選適合自己的選項時,請考慮你所在領域的性質和自己偏好的風格。
如果你的工作性質涉及更多的一般用途代碼且研究範圍較小,則應該首選 Python;如果你的工作目的涉及研究和概念過程,則應選擇 R。Python 是適合程序員的語言,而 R 是適合學者和研究人員的語言。
一切都取決於你的興趣和背後的熱情。一方面來說,python 代碼易於理解,並且通常能夠執行更多的數據科學任務;另一方面,R 代碼使用基本的學術語言,易於學習,並且是可視化數據分析工具的最佳選項。
具體用哪個取決於用戶的需求。就 python 而言,它是滿足機器學習、深度學習、數據科學和部署需求的最佳工具。它也有用於數學、統計、時間序列等用途的庫,但是在商業分析、經濟指標、研究類需求方面往往表現不佳。它是生產就緒的語言,因為它可以把我們所有的工作流集成為一個單獨的工具。
至於 R,它是滿足統計分析和研究需求的最佳工具,具有更高的準確度。這種編程語言中的大多數軟件包都是由學者和研究人員創建的,這是額外的優勢。因此,它更適合滿足統計學家的需求,而非來自計算機背景的用戶的需求。不過它也擁有用於數據科學和機器學習的一些很出色的庫。毫無疑問,它在探索性數據分析和可視化方面比 python 高出一等。
總體而言,兩種編程語言都有類似的優缺點。綜合看來,在 Python 和 R 之間做出選擇主要基於以下幾點:
你的工作主題是什麼?
你同事的編程知識如何?
你的工期有多長?
最後是你對哪個領域感興趣?
Shankar DK(數據科學專業學生):
尊敬的讀者,從本文中,我希望你至少應該了解一些如何根據需要在 Python 和 R 之間做出選擇的知識。有關進一步的說明和建議,請在 LinkedIn(https://www.linkedin.com/in/shankar-d-k-03470b1a2)上聯繫我。我請你分享對本文的寶貴意見,這會對我今後的工作有所助益。
原文鏈接:
https://www.analyticsvidhya.com/blog/2021/05/r-or-python-reasons-behind-this-cloud-war/
本文僅做學術分享,如有侵權,請聯繫刪文。
