天天看點

IT屌絲如何成為資料科學家?

IT屌絲如何成為資料科學家?

資料科學家被《财富》雜志譽為21世紀最性感的職業,但遺憾的是大多數企業裡都沒有真正的資料科學家人才。根據麥肯錫報告,僅僅在美國市場,2018年大資料人才和進階分析專家的人才缺口将高達19萬。此外美國企業還需要150萬位能夠提出正确問題、運用大資料分析結果的大資料相關管理人才。

那麼,對于不同職業經曆和專業背景的it人士來說,如何才能盡快轉型,加入資料科學家的鑽石王老五的行列呢?

ofer mendelevitch近日在hortonworks官方部落格發表文章給出了自己的觀點。

mendelevitch認為無論是java程式員還是業務分析師都有機會成為資料科學家,以下是他對不同人群給出的具體建議:

java程式員

作為java開發者,你對軟體工程的規則已經了然于心,能夠設計軟體系統執行複雜任務。資料科學正是關于開發“資料産品”的一門科學,主要是基于資料和算法的軟體系統。

對于java程式員來說,第一步需要了解機器學習的各種算法:現在有哪些算法,都能解決哪些問題以及如何實作。另外還需要學習使用r和matlab等模組化工具,此外weka、vowpal wabbit和opennlp等庫也為大多數常見算法提供了經過驗證的實作方法。如果你還不太熟悉hadoop,學習map-reduce、pig、hive和mahout将很有幫助。

python程式員

如果你是python程式員,對軟體開發和腳本編寫一定很熟悉,也許已經在使用很多資料科學中常見的庫例如numpy和scipy。

python對資料科學應用的支援很好,尤其是numpy/scipy, pandas, scikit-learn, ipython 等用于探索性分析的庫,以及可視化方面的matplotlib。

在處理大型資料集方面,多學些hadoop及其與python的流式內建。

統計學家與應用科學家

如果你有統計學或者機器學習的背景,那麼你很可能很多年前就開始使用諸如r, matlab 或 sas進行回歸分析、聚類分析等機器學習相關任務。

r、matlab和sas是很強大的統計分析和可視化工具,對于很多機器學習算法都有很成熟的實作方法。

但是,這些工具通常被用于做資料勘探和模型開發,很少單獨用來開發産品級的資料産品。在開發端到端的資料産品時,大多數情況下,你需要需要同時用到其他軟體子產品如java、python等,并與hadoop等資料平台整合。

顯然,熟悉一門或者多門現代程式設計語言,例如python或java是你的首要任務。此外,與有經驗的資料工程師緊密合作将有助于更好地了解他們開發生産級資料産品所用到的工具和方法。

業務分析師

如果你的背景是sql,那麼說明你已經跟資料打交道很多年了,你很清楚如何通過資料擷取業務分析結果。hive能讓你以你熟悉的sql語言通路hadoop上的大資料集,是以是你步入大資料殿堂的首選。

資料産品通常需要使用sql無法勝任的進階機器學習和統計,是以對于業務分析師來說,進入資料科學領域的第二個重要步驟就是在理論層面深入了解此類算法(例如推薦引擎、決策樹、nlp),并熟悉目前的實作工具如mahout, weka,或python的 scikit-learn。

hadoop開發者

作為hadoop開發者,你一定已經了解了大資料集和叢集計算的複雜性。你還可能熟悉pig、hive、hbase并有豐富的java經驗。

第一步,你需要深入了解機器學習和統計,以及這些算法面向大資料集的高效實作方法。mahout是個不錯的開始,可以在hadoop上實作上述很多算法。

另外一個需要關注的領域是資料清理(data cleanup),很多算法在模組化前都會為資料配置設定基本結構。但不幸的是,現實中資料大多很“髒”,清理這些資料是資料科學中一項很繁重的工作。hadoop通常是模組化前大規模資料清理和預處理的工具選擇。

總結

通向資料科學殿堂之路不可能一帆風順,你必須學習很多新規則、程式設計語言,更重要的是還要積累實戰經驗。這些都需要時間、精力和投入,但最終你會發現一切都物超所值。

<b>原文釋出時間為:2013-09-27</b>

<b></b>

<b>本文來自雲栖社群合作夥伴“大資料文摘”,了解相關資訊可以關注“bigdatadigest”微信公衆号</b>