雲時代,編程語言選R還是Python?

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"italic"},{"type":"size","attrs":{"size":10}},{"type":"strong"}],"text":"本文最初發佈於analyticsvidhya.com網站,經原作者授權由InfoQ中文站翻譯並分享。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"人類都需要氧氣才能生存。但請想一想,我們有幾個人爲了保護這種生命之源而採取措施來守護自然呢?如今,大自然用一種看不見的病毒Covid-19讓全世界都意識到了氧氣的重要性,因爲這種病毒大幅增加了全球醫療領域對氧氣的需求。因此,保護​​自然的行爲(例如種植樹苗等)是我們的寶貴責任,這不僅是爲了社會,也是爲了我們自己。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/7b\/94\/7b690a9c045cbfb0bbce15120bacf894.jpg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"就像拯救生命的氧氣一樣,在技術領域中拯救行業的資產是數據。全球範圍內生成的數據量每天都高速增長。科技行業對從數據中獲取和挖掘有價值的,有助於業務增長的見解表現出了極大的興趣。衆所周知,數據集中的數據量往往很大。因此,我們不可能像以前那麼快地手動處理如此大量的數據,迅速從中獲取有價值的見解。因此,行業專家需要新的技術工具來處理這些數據。在數百種技術工具中,R和Python這兩項技術一直在雲世界中針鋒相對。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在本文中,我們將從數據科學的角度討論這兩種編程語言在處理數據方面的利弊。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"R vs Python:爲什麼會引起爭議?"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/ac\/1d\/ac8b6717998786c3e94df4ea38d31c1d.jpg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"總體而言,從初學者到專業級別,Python和R都是數據科學學習者最喜歡的編程語言。兩種編程語言有諸多相似之處,都有着很好的表現。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"兩者都是在1990年代初期創建的"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"由於它們是開源編程語言,因此任何人都可以輕鬆免費下載和訪問它們"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"它們具有大量的庫和專用算法函數,可以處理和解決數據科學和數據分析問題"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"與SAS、SPSS、MATLAB等其他數據分析工具一樣,它們在成本和解決複雜問題方面都不會給用戶施加限制"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"兩者都提供了對用戶友好的工作體驗,即使非程序員也很容易理解和掌握"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在處理數據科學、機器學習、深度學習、人工智能等領域的問題時,兩種工具都時常引入很多新的發明和改進"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"也就是說,看起來這兩種工具不分伯仲,這就是R與Python引起爭議的原因所在。我們再來簡單瞭解一番,更好地理解這一點。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"Python和R簡介"}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"Python"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Python於1991年首次發佈,最初由Guido van Rossum設計。由於它是一種面向對象的編程語言,因此也稱爲通用編程語言。它秉承一種強調代碼可讀性和效率的理念。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/30\/c1\/30cf69ed72f1a91a6a712c958055eac1.jpg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如果程序員和技術領域的人們希望將數學和統計知識很好地應用在數據科學領域,那麼python會是他們的最佳合作伙伴。因此,對於大多數數據科學學習者而言,這是最可取和最受歡迎的編程語言選項。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"它有很多專用於機器學習和深度學習的庫,這些庫都包含在它的庫包索引PyPI中。這些庫的文檔也可以在其官方站點上以Python文檔格式獲取。"}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"R"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Ross Ihaka和Robert Gentleman是R的最初創建者。R最初於1993年發佈,是S編程語言的一種實現。這種編程語言設計宗旨是在數據分析、統計方法和可視化領域輸出有效的結果。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/d5\/f3\/d5f5a7ea4bc30ee4a4bf2ff741ed21f3.jpg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"對於數據分析技術來說,R有着非常富饒的生態。與python類似,它在Composite R Archive Network(CRAN)中有大約13000個專門用於深度分析的庫包。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"它在學者和研究人員中最受歡迎。使用R語言中開發的大多數知名項目數都是研究類型的。人們通常使用R自己的,稱爲R Studio的集成開發環境(IDE)中使用R,以獲得更好的用戶友好體驗。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"哪款工具更好呢?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"人們選擇某種編程語言的原因對於Python和R來說也都是適用的。因此在這兩者之間做出選擇時需要更爲謹慎。在R和Python中挑選適合自己的選項時,請考慮你所在領域的性質和自己偏好的風格。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/75\/d1\/758662411e720129d23d161f8yye9fd1.jpg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如果你的工作性質涉及更多的一般用途代碼且研究範圍較小,則應該首選Python;如果你的工作目的涉及研究和概念過程,則應選擇R。Python是適合程序員的語言,而R是適合學者和研究人員的語言。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"一切都取決於你的興趣和背後的熱情。一方面來說,python代碼易於理解,並且通常能夠執行更多的數據科學任務;另一方面,R代碼使用基本的學術語言,易於學習,並且是可視化數據分析工具的最佳選項。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"關鍵區別"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/76\/05\/7635b1f8ec58ecde197f222385787c05.jpg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.infoq.cn\/resource\/image\/df\/2b\/df071fc1330e6afaf309edd4d2777b2b.jpg","alt":null,"title":"","style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":"","fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.infoq.cn\/resource\/image\/ee\/44\/ee5ed94cf16c9315c3020fdaa360c844.jpg","alt":null,"title":"","style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":"","fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"該用哪個?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"具體用哪個取決於用戶的需求。就python而言,它是滿足機器學習、深度學習、數據科學和部署需求的最佳工具。它也有用於數學、統計、時間序列等用途的庫,但是在商業分析、經濟指標、研究類需求方面往往表現不佳。它是生產就緒的語言,因爲它可以把我們所有的工作流集成爲一個單獨的工具。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/06\/29\/06b48947e677e6058015c11e3f26ec29.jpg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"至於R,它是滿足統計分析和研究需求的最佳工具,具有更高的準確度。這種編程語言中的大多數軟件包都是由學者和研究人員創建的,這是額外的優勢。因此,它更適合滿足統計學家的需求,而非來自計算機背景的用戶的需求。不過它也擁有用於數據科學和機器學習的一些很出色的庫。毫無疑問,它在探索性數據分析和可視化方面比python高出一等。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"結論"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/4a\/44\/4a7f378d738619c3b354963587caf044.jpg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"總體而言,兩種編程語言都有類似的優缺點。綜合看來,在Python和R之間做出選擇主要基於以下幾點:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"你的工作主題是什麼?"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"你同事的編程知識如何?"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"你的工期有多長?"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"最後是你對哪個領域感興趣?"}]}]}]},{"type":"heading","attrs":{"align":null,"level":4},"content":[{"type":"text","text":"作者的話:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Shankar DK(數據科學專業學生):"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"尊敬的讀者,從本文中,我希望你至少應該瞭解一些如何根據需要在Python和R之間做出選擇的知識。有關進一步的說明和建議,請在LinkedIn("},{"type":"link","attrs":{"href":"https:\/\/www.linkedin.com\/in\/shankar-d-k-03470b1a2%E4%B8%8A%E8%BF%9B%E8%A1%8C%E8%BF%9E%E6%8E%A5?fileGuid=QtpryrtrxQRw3PPq","title":"","type":null},"content":[{"type":"text","text":"https:\/\/www.linkedin.com\/in\/shankar-d-k-03470b1a2"}]},{"type":"text","text":")上聯繫我。我請你分享對本文的寶貴意見,這會對我今後的工作有所助益。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"原文鏈接:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/www.analyticsvidhya.com\/blog\/2021\/05\/r-or-python-reasons-behind-this-cloud-war\/?fileGuid=QtpryrtrxQRw3PPq","title":"","type":null},"content":[{"type":"text","text":"https:\/\/www.analyticsvidhya.com\/blog\/2021\/05\/r-or-python-reasons-behind-this-cloud-war\/"}]}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章