自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

你愛 “Python”的身體,還是“R”的靈魂?

開發(fā) 后端
根據(jù) IEEE Spectrum的最新排名,R和Python仍然是最熱門的數(shù)據(jù)科學(xué)編程語言。本文將從數(shù)據(jù)可視化、建模庫、易學(xué)性和社區(qū)支持等四方面入手,比較R和Python的語言性能。

數(shù)據(jù)科學(xué)界有三大寶: Python、SAS和R,不過像SAS這種高端物種,不是我們這些平民能供養(yǎng)得起的啊。

根據(jù) IEEE Spectrum的***排名,R和Python仍然是最熱門的數(shù)據(jù)科學(xué)編程語言。本文將從數(shù)據(jù)可視化、建模庫、易學(xué)性和社區(qū)支持等四方面入手,比較R和Python的語言性能。

[[262322]]

一、數(shù)據(jù)可視化

數(shù)據(jù)科學(xué)的一個(gè)重要部分是交流。分析成果需要以一種有效、易懂的方式展示出來。因此,任何用于數(shù)據(jù)科學(xué)的語言或軟件包都應(yīng)該具有良好的數(shù)據(jù)可視化工具。良好的數(shù)據(jù)可視化具有清晰性。無論模型有多復(fù)雜,都會(huì)用一種簡(jiǎn)單明了的方法來說明結(jié)果,即使是外行人也能理解。

Python

Python以其大量的庫而聞名。有很多庫可以用于繪圖和可視化。最熱門的庫是matplotlib和seaborn。matplotlib庫改編自MATLAB,具有相似的特性和風(fēng)格。matplotlib庫是一個(gè)非常強(qiáng)大的可視化工具,內(nèi)置了各種功能,特別是在與其他Python數(shù)據(jù)科學(xué)庫pandas和numpy很好地協(xié)作時(shí),它可以非常容易地用于繪制簡(jiǎn)單的plot函數(shù)。

雖然matplotlib可以生成大量的圖形和圖表,但它缺乏簡(jiǎn)單性。最麻煩的方面是調(diào)整plot函數(shù)的大?。喝绻嬖诤芏嘧兞浚敲茨憧赡軙?huì)花費(fèi)很多功夫來試圖把它們整齊地放在一個(gè)plot函數(shù)中。另一個(gè)大問題是創(chuàng)建subplot函數(shù),同樣,將它們都調(diào)整到一個(gè)圖中可能會(huì)變得很復(fù)雜。

現(xiàn)在,基于matplotlib的seaborn包含了更多的美學(xué)圖形和plot函數(shù)。這個(gè)庫無疑是對(duì)matplotlib陳舊風(fēng)格的改進(jìn),但它仍然存在同樣的基本問題:創(chuàng)建圖形可能非常復(fù)雜。這也是Python未來的改進(jìn)方向。

R

有許多庫可以用于R的數(shù)據(jù)可視化,其中g(shù)gplot2在使用和廣泛度方面***。該庫使用圖形哲學(xué)語法,使用圖層在繪圖上繪制對(duì)象。層之間通常是相互連接的,并且可以共享許多共同的特性。這些層讓你可以用很少的代碼創(chuàng)建非常復(fù)雜的圖。該庫允許繪制摘要函數(shù)。綜上,ggplot2比matplotlib更加靈活簡(jiǎn)潔,因此在這個(gè)領(lǐng)域R優(yōu)勢(shì)更為明顯。

但是,值得注意的是,Python包含了一個(gè)與R中原始ggplot2功能類似的ggplot庫。

二、建模庫

數(shù)據(jù)科學(xué)需要使用許多算法。這些復(fù)雜的數(shù)學(xué)方法需要穩(wěn)健的計(jì)算。重新編寫算法代碼對(duì)數(shù)據(jù)科學(xué)家而言相當(dāng)費(fèi)時(shí),他們需要具有內(nèi)置建模支持的語言。Python和R剛好滿足這一點(diǎn)。

Python

Python擁有大量的機(jī)器學(xué)習(xí)庫,包括scikit-learn、XGboost、TensorFlow、Keras和PyTorch等。Python也有pandas,它可以兼容表格形式的數(shù)據(jù)。pandas庫使處理csv或基于excel的數(shù)據(jù)變得非常容易。除此之外,Python還有很優(yōu)秀的科學(xué)軟件包,比如numpy。numpy可以幫助你瞬間完成復(fù)雜的數(shù)學(xué)計(jì)算,比如矩陣運(yùn)算。所有這些包組合在一起,使Python成為一個(gè)適用于硬核建模的強(qiáng)大工具。

R

和Python一樣,R也有大量的庫——大約10000個(gè)。其中應(yīng)用最廣泛的是mice,rpart, party和caret。這些包將從預(yù)建模階段到后模型/優(yōu)化階段給予你幫助。

這些庫幾乎可以解決所有的數(shù)據(jù)問題。但相比之下,Python缺乏統(tǒng)計(jì)非線性回歸(除了簡(jiǎn)單的曲線擬合)和混合效應(yīng)模型。另一方面,R缺乏Python所提供的速度,尤其是在處理大量數(shù)據(jù)的時(shí)候。

三、易學(xué)性

市場(chǎng)對(duì)數(shù)據(jù)分析和處理人員的渴求度相當(dāng)高。許多人都希望加入數(shù)據(jù)科學(xué)的大潮,其中很多人幾乎沒有編程經(jīng)驗(yàn)。因此,在比較兩種語言時(shí),需要考慮其是否簡(jiǎn)單好學(xué)易上手。

Python

Python設(shè)計(jì)于1989年,其理念是強(qiáng)調(diào)代碼的可讀性和使編程變得簡(jiǎn)單或簡(jiǎn)潔,Python的設(shè)計(jì)者顯然做到了,因?yàn)檫@種語言非常容易學(xué)習(xí)。雖然Python的語法靈感來自于C,但與C不同的是,它并不復(fù)雜。因此,Python作為初學(xué)者的語言學(xué)習(xí)***,任何人都可以在相對(duì)較短的時(shí)間內(nèi)學(xué)會(huì)它。

R

R語言也并不難學(xué)。它比c++或JavaScript等許多語言都要簡(jiǎn)單。與Python一樣,R的大部分語法都是基于C的,但與Python不同的是,R最初是專門為統(tǒng)計(jì)學(xué)家和科學(xué)家設(shè)計(jì)的,因此門檻較高。

四、社區(qū)支持

作為一名數(shù)據(jù)科學(xué)家,需要經(jīng)常解決一些數(shù)據(jù)難題。在難以找到相關(guān)的庫或包解決問題的情況下,可以在語言的官方文檔或在線社區(qū)論壇中搜索,從而獲得良好的社區(qū)支持。

這兩種語言都有活躍的Stackoverflow成員,并且都有一個(gè)活躍的郵件列表(在這個(gè)列表中,你可以輕松地向?qū)<以儐柦鉀Q方案)。R有在線的R文檔,可以在其中找到關(guān)于某些函數(shù)和函數(shù)輸入的信息。大多數(shù)Python庫,比如pandas和scikit-learn,都有自己的官方在線文檔來解釋每個(gè)庫。

這兩種語言都有大量的用戶基礎(chǔ),二者都有非常活躍的支持社區(qū)。不難看出,兩者在這方面似乎是平等的。

結(jié)論

R還是Python?無疑,這兩種都是很優(yōu)秀的語言。如果追求簡(jiǎn)單上手,可以選擇Python,如果想輕松創(chuàng)建視覺效果,那么R語言是***。

責(zé)任編輯:趙寧寧 來源: 讀芯術(shù)
相關(guān)推薦

2011-08-29 11:12:04

2018-07-08 07:52:09

數(shù)據(jù)科學(xué)PythonR

2014-07-24 09:30:37

PythonPython 3

2020-02-05 09:36:55

數(shù)據(jù)科學(xué)RPython

2013-10-16 14:51:49

愛卡汽車

2018-03-19 09:13:16

2019-08-12 11:14:00

JVM垃圾對(duì)象

2019-08-01 10:20:10

2020-06-05 08:31:29

編程語言RPython

2011-05-06 17:57:34

思維R800掃描儀

2018-12-06 08:40:43

PythonR函數(shù)編程語言

2022-05-30 18:37:03

數(shù)據(jù)個(gè)人信息人工智能

2020-03-24 10:20:24

TCP協(xié)議網(wǎng)路

2022-12-12 08:46:11

2018-06-21 17:40:17

瘦身

2021-06-02 09:47:48

RSA2021

2013-10-28 16:51:42

諾基亞

2022-08-26 01:10:32

TCPSYNLinux

2013-03-28 10:10:37

編程程序員編程的危害

2022-12-23 14:29:18

團(tuán)隊(duì)Leader
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)