對(duì)于數(shù)據(jù)科學(xué)初學(xué)者來(lái)說(shuō),實(shí)干才是硬道理。所以我們只需選擇其中一種語(yǔ)言,并重點(diǎn)完成一些項(xiàng)目,接著便可品嘗勝利的果實(shí)。這就是最快的學(xué)習(xí)方式。
筆者雖然很想直接推薦Python(筆者主要使用Python,不過(guò)也的確掌握一些R語(yǔ)言的工作知識(shí)),但還是想為初學(xué)者公正地評(píng)估一下這兩種語(yǔ)言的有效性。這主要是因?yàn)檫x擇哪種語(yǔ)言取決于你自己的具體情況。
你為什么想學(xué)習(xí)?
必須考慮的因素是:你想要學(xué)習(xí)的原因。例如,如果你是一個(gè)訓(xùn)練有素的生物學(xué)家,想學(xué)習(xí)一些編程技能以便更好地理解你的數(shù)據(jù)集,或者你熟悉其他科學(xué)編程語(yǔ)言,比如MATLAB,那么你應(yīng)該考慮在YouTube上看一些R語(yǔ)言的教程,因?yàn)樗鼘?duì)你來(lái)說(shuō)比Python更簡(jiǎn)單、更直觀。
或者,如果你是精通C/C++和Java等語(yǔ)言的軟件工程師,并且準(zhǔn)備轉(zhuǎn)攻數(shù)據(jù)科學(xué),Python將是適合你的一種語(yǔ)言。與大多數(shù)其他流行的編程語(yǔ)言一樣,Python是一種面向?qū)ο缶幊蹋∣OP)語(yǔ)言,它可能比R語(yǔ)言更直觀。
又或者,也許你最近一直在閱讀數(shù)據(jù)科學(xué)這一迷人領(lǐng)域的相關(guān)文獻(xiàn),并想涉足其中,在這種情況下,這兩種語(yǔ)言都是不錯(cuò)的選擇。因此,比起學(xué)習(xí)的理由這一因素,選擇哪種語(yǔ)言將更多地取決于其他因素。
你是否有精通該語(yǔ)言的朋友或同事?
如果你正在學(xué)習(xí)一門(mén)新語(yǔ)言,那么獲得社區(qū)的支持將會(huì)是一個(gè)巨大的優(yōu)勢(shì)。從社區(qū)獲得幫助是程序員的一項(xiàng)非常重要的技能。
作為一名初學(xué)者,學(xué)習(xí)如何獲得幫助有些棘手,很少有網(wǎng)絡(luò)資源來(lái)教會(huì)人們?nèi)绾螐纳鐓^(qū)獲得幫助。具備敏銳的直覺(jué),并且知道當(dāng)代碼出錯(cuò)時(shí)應(yīng)該詢(xún)問(wèn)些什么是非常重要的。
如果你認(rèn)識(shí)一個(gè)精通Python的人,或者你實(shí)驗(yàn)室的另一個(gè)研究人員一直在研究R語(yǔ)言,那么你最好學(xué)習(xí)他們擅長(zhǎng)的語(yǔ)言,因?yàn)檫@樣你就可以在遇到困難時(shí)隨時(shí)向他們求助。
你是只對(duì)統(tǒng)計(jì)和數(shù)據(jù)分析感興趣,還是想學(xué)習(xí)其他領(lǐng)域,如機(jī)器學(xué)習(xí)和人工智能?
在應(yīng)用層面上,Python和R語(yǔ)言的一個(gè)顯著區(qū)別在于前者用途更廣泛。Python是一種成熟的編程語(yǔ)言,這意味著你只用Python便可以收集、存儲(chǔ)、分析和可視化數(shù)據(jù),同時(shí)還可以創(chuàng)建機(jī)器學(xué)習(xí)工作管道并將其部署至生產(chǎn)或網(wǎng)站中。
另一方面,R語(yǔ)言則是只用于統(tǒng)計(jì)和數(shù)據(jù)分析,它的圖表要比Python的更美觀且個(gè)性化。R語(yǔ)言使用圖形語(yǔ)法(Grammar ofGraphics)的方式可視化其ggPlot2庫(kù)中的數(shù)據(jù),這提供了Python所缺乏的大量直觀的個(gè)性化設(shè)置。
或許這樣說(shuō)有些籠統(tǒng),但如果你想成為一名數(shù)據(jù)分析師,R語(yǔ)言應(yīng)該是你的首選。如果你想成為一名數(shù)據(jù)科學(xué)家,Python則是更好的選擇。這便是泛化與專(zhuān)業(yè)化的兩難選擇。
作為一個(gè)在過(guò)去十年間興起的領(lǐng)域,數(shù)據(jù)科學(xué)的進(jìn)化日新月異。但不變的是越來(lái)越多的數(shù)據(jù)管道每天都在被自動(dòng)化。
具備數(shù)據(jù)工程、數(shù)據(jù)可視化、機(jī)器學(xué)習(xí)工程、云服務(wù)集成和模型部署等多種技能的員工,總是比那些只專(zhuān)注于數(shù)據(jù)科學(xué)工作流程這一個(gè)方面的員工更受歡迎。該領(lǐng)域的發(fā)展已經(jīng)在很大程度上實(shí)現(xiàn)自動(dòng)化,只有編程技能出色的員工才能不被機(jī)器所取而代之。除非你極其擅長(zhǎng)該領(lǐng)域,否則僅僅專(zhuān)注于構(gòu)建優(yōu)秀的機(jī)器學(xué)習(xí)模型在未來(lái)是行不通的。
目前的業(yè)內(nèi)形勢(shì)是:有太多初學(xué)者水平的求職者,能力雖然“較為”出色,而初工作經(jīng)驗(yàn)則寥寥無(wú)幾。對(duì)于那些略微高級(jí)的工作崗位來(lái)說(shuō),則沒(méi)有足夠多的經(jīng)驗(yàn)豐富或技術(shù)對(duì)口的工作者。為了能夠在工作中更上一層樓,你將需要去理解并實(shí)踐工作流的其它階段,為何不讓自己的成功概率最大化?
如果你依舊舉棋不定,筆者建議最好是現(xiàn)在就選擇Python并開(kāi)始學(xué)習(xí)。在你掌握了與之相關(guān)的工作知識(shí)之后,還可以學(xué)習(xí)R語(yǔ)言的基礎(chǔ)知識(shí)。但如果你實(shí)在用不慣Python,那么接下來(lái)該做什么就無(wú)需筆者多費(fèi)口舌了。
作為初學(xué)者,你的首要任務(wù)應(yīng)該是了解數(shù)據(jù)科學(xué)的核心概念,并首先了解如何將這些概念應(yīng)用于實(shí)際場(chǎng)景。對(duì)于那些沒(méi)有編程或計(jì)算機(jī)科學(xué)背景知識(shí)的人來(lái)說(shuō),配置編程環(huán)境可能是件難事。然而,比起Python,配置環(huán)境并開(kāi)始學(xué)習(xí)R語(yǔ)言的體驗(yàn)可能會(huì)更加流暢友好。
有太多人只是沉溺于成為一名數(shù)據(jù)科學(xué)家的空想,而真正腳踏實(shí)地采取行動(dòng)的人卻遠(yuǎn)遠(yuǎn)不夠。所以,是時(shí)候開(kāi)始你的數(shù)據(jù)科學(xué)之旅了。
責(zé)編AJX
-
編程
+關(guān)注
關(guān)注
88文章
3614瀏覽量
93686 -
python
+關(guān)注
關(guān)注
56文章
4792瀏覽量
84627 -
數(shù)據(jù)科學(xué)
+關(guān)注
關(guān)注
0文章
165瀏覽量
10053
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論