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