數(shù)據(jù)科學(xué)家被《財(cái)富》雜志譽(yù)為21世紀(jì)最性感的職業(yè),但遺憾的是大多數(shù)企業(yè)里都沒(méi)有真正的數(shù)據(jù)科學(xué)家人才。根據(jù)麥肯錫報(bào)告,僅僅在美國(guó)市場(chǎng),2018年大數(shù)據(jù)人才和高級(jí)分析專(zhuān)家的人才缺口將高達(dá)19萬(wàn)。此外美國(guó)企業(yè)還需要150萬(wàn)位能夠提出正確問(wèn)題、運(yùn)用大數(shù)據(jù)分析結(jié)果的大數(shù)據(jù)相關(guān)管理人才。
那么,對(duì)于不同職業(yè)經(jīng)歷和專(zhuān)業(yè)背景的IT人士來(lái)說(shuō),如何才能盡快轉(zhuǎn)型,加入數(shù)據(jù)科學(xué)家的鉆石王老五的行列呢?
達(dá)內(nèi)java培訓(xùn)(java.tedu.cn)專(zhuān)家為大家整理了Ofer Mendelevitch近日在Hortonworks官方博客發(fā)表文章給出了自己的觀點(diǎn)。
學(xué)習(xí)大數(shù)據(jù)課程可以直接點(diǎn)擊報(bào)名:http://form.mikecrm.com/mkkNHS。Mendelevitch認(rèn)為無(wú)論是Java程序員還是業(yè)務(wù)分析師都有機(jī)會(huì)成為數(shù)據(jù)科學(xué)家,以下是他對(duì)不同人群給出的具體建議:
Java程序員
作為Java開(kāi)發(fā)者,你對(duì)軟件工程的規(guī)則已經(jīng)了然于心,能夠設(shè)計(jì)軟件系統(tǒng)執(zhí)行復(fù)雜任務(wù)。數(shù)據(jù)科學(xué)正是關(guān)于開(kāi)發(fā)“數(shù)據(jù)產(chǎn)品”的一門(mén)科學(xué),主要是基于數(shù)據(jù)和算法的軟件系統(tǒng)。
對(duì)于Java程序員來(lái)說(shuō),第一步需要了解機(jī)器學(xué)習(xí)的各種算法:現(xiàn)在有哪些算法,都能解決哪些問(wèn)題以及如何實(shí)現(xiàn)。另外還需要學(xué)習(xí)使用R和Matlab等建模工具,此外WEKA、Vowpal Wabbit和OpenNLP等庫(kù)也為大多數(shù)常見(jiàn)算法提供了經(jīng)過(guò)驗(yàn)證的實(shí)現(xiàn)方法。
如果你還不太熟悉Hadoop,學(xué)習(xí)map-reduce、Pig、Hive和Mahout將很有幫助。達(dá)內(nèi)java培訓(xùn)(java.tedu.cn)專(zhuān)家?guī)闳胄校瑤湍銓?shí)現(xiàn)夢(mèng)想!通過(guò)微信公眾號(hào):“達(dá)內(nèi)java大數(shù)據(jù)培訓(xùn)”報(bào)名,還有機(jī)會(huì)抽取大獎(jiǎng)哦,機(jī)會(huì)難得,不要錯(cuò)過(guò)哦。
Python程序員
如果你是Python程序員,對(duì)軟件開(kāi)發(fā)和腳本編寫(xiě)一定很熟悉,也許已經(jīng)在使用很多數(shù)據(jù)科學(xué)中常見(jiàn)的庫(kù)例如NumPy和SciPy。
Python對(duì)數(shù)據(jù)科學(xué)應(yīng)用的支持很好,尤其是NumPy/Scipy, Pandas, Scikit-learn, IPython等用于探索性分析的庫(kù),以及可視化方面的Matplotlib。
在處理大型數(shù)據(jù)集方面,多學(xué)些Hadoop及其與Python的流式集成。
統(tǒng)計(jì)學(xué)家與應(yīng)用科學(xué)家
如果你有統(tǒng)計(jì)學(xué)或者機(jī)器學(xué)習(xí)的背景,那么你很可能很多年前就開(kāi)始使用諸如R, Matlab或SAS進(jìn)行回歸分析、聚類(lèi)分析等機(jī)器學(xué)習(xí)相關(guān)任務(wù)。
R、Matlab和SAS是很強(qiáng)大的統(tǒng)計(jì)分析和可視化工具,對(duì)于很多機(jī)器學(xué)習(xí)算法都有很成熟的實(shí)現(xiàn)方法。
但是,這些工具通常被用于做數(shù)據(jù)勘探和模型開(kāi)發(fā),很少單獨(dú)用來(lái)開(kāi)發(fā)產(chǎn)品級(jí)的數(shù)據(jù)產(chǎn)品。在開(kāi)發(fā)端到端的數(shù)據(jù)產(chǎn)品時(shí),大多數(shù)情況下,你需要需要同時(shí)用到其他軟件模塊如Java、Python等,并與Hadoop等數(shù)據(jù)平臺(tái)整合。
顯然,熟悉一門(mén)或者多門(mén)現(xiàn)代編程語(yǔ)言,例如Python或Java是你的首要任務(wù)。此外,與有經(jīng)驗(yàn)的數(shù)據(jù)工程師緊密合作將有助于更好地理解他們開(kāi)發(fā)生產(chǎn)級(jí)數(shù)據(jù)產(chǎn)品所用到的工具和方法。
業(yè)務(wù)分析師
如果你的背景是SQL,那么說(shuō)明你已經(jīng)跟數(shù)據(jù)打交道很多年了,你很清楚如何通過(guò)數(shù)據(jù)獲取業(yè)務(wù)分析結(jié)果。Hive能讓你以你熟悉的SQL語(yǔ)言訪(fǎng)問(wèn)Hadoop上的大數(shù)據(jù)集,因此是你步入大數(shù)據(jù)殿堂的首選。
數(shù)據(jù)產(chǎn)品通常需要使用SQL無(wú)法勝任的高級(jí)機(jī)器學(xué)習(xí)和統(tǒng)計(jì),因此對(duì)于業(yè)務(wù)分析師來(lái)說(shuō),進(jìn)入數(shù)據(jù)科學(xué)領(lǐng)域的第二個(gè)重要步驟就是在理論層面深入了解此類(lèi)算法(例如推薦引擎、決策樹(shù)、NLP),并熟悉目前的實(shí)現(xiàn)工具如Mahout, WEKA,或Python的Scikit-learn。
Hadoop開(kāi)發(fā)者
作為Hadoop開(kāi)發(fā)者,你一定已經(jīng)了解了大數(shù)據(jù)集和集群計(jì)算的復(fù)雜性。你還可能熟悉Pig、Hive、HBase并有豐富的Java經(jīng)驗(yàn)。
第一步,你需要深入了解機(jī)器學(xué)習(xí)和統(tǒng)計(jì),以及這些算法面向大數(shù)據(jù)集的高效實(shí)現(xiàn)方法。Mahout是個(gè)不錯(cuò)的開(kāi)始,可以在Hadoop上實(shí)現(xiàn)上述很多算法。
另外一個(gè)需要關(guān)注的領(lǐng)域是數(shù)據(jù)清理(data cleanup),很多算法在建模前都會(huì)為數(shù)據(jù)分配基本結(jié)構(gòu)。但不幸的是,現(xiàn)實(shí)中數(shù)據(jù)大多很“臟”,清理這些數(shù)據(jù)是數(shù)據(jù)科學(xué)中一項(xiàng)很繁重的工作。Hadoop通常是建模前大規(guī)模數(shù)據(jù)清理和預(yù)處理的工具選擇。
總結(jié)
通向數(shù)據(jù)科學(xué)殿堂之路不可能一帆風(fēng)順,你必須學(xué)習(xí)很多新規(guī)則、編程語(yǔ)言,更重要的是還要積累實(shí)戰(zhàn)經(jīng)驗(yàn)。這些都需要時(shí)間、精力和投入,但最終你會(huì)發(fā)現(xiàn)一切都物超所值。有疑問(wèn)可以通過(guò)微信公眾號(hào):“達(dá)內(nèi)java大數(shù)據(jù)培訓(xùn)”報(bào)名java免費(fèi)訓(xùn)練營(yíng),還有機(jī)會(huì)抽取大獎(jiǎng)哦,機(jī)會(huì)難得,不要錯(cuò)過(guò)哦!