2
本文作者: 何忞 | 2016-11-02 09:35 |
在數(shù)據(jù)科學(xué)(Data Science)領(lǐng)域,除了“什么是數(shù)據(jù)科學(xué)”這個(gè)問題以外,大家最感興趣的問題就是“如何學(xué)習(xí)數(shù)據(jù)科學(xué)?”其實(shí)這個(gè)問題除了新手會(huì)問,有時(shí)候領(lǐng)域內(nèi)的老手也有些迷惑。
數(shù)據(jù)科學(xué)家被譽(yù)為“2016年最佳工作”,甚至是“21世紀(jì)最性感的工作”,但學(xué)習(xí)起來(lái)真的并沒有我們想象的那么輕松。
網(wǎng)絡(luò)上可以找到大量關(guān)于學(xué)習(xí)數(shù)據(jù)科學(xué)的建議,但是如此大量的信息堆疊讓可能還是讓初學(xué)者感到無(wú)所適從。所以本文想要給出一個(gè)較為簡(jiǎn)單的學(xué)習(xí)方法:用八個(gè)步驟學(xué)習(xí)數(shù)據(jù)科學(xué)。本文的目的不在于為你提供一個(gè)詳盡的學(xué)習(xí)清單,我們只是為每一個(gè)對(duì)學(xué)習(xí)數(shù)據(jù)科學(xué)有興趣或者已經(jīng)從事該領(lǐng)域工作但仍然想要提升自己的人們提供一個(gè)指導(dǎo)性意見。(另外,文中的插圖能幫助視覺型學(xué)習(xí)者更加快速地學(xué)習(xí))
原文作者 Karlijn Willems,雷鋒網(wǎng)編譯,未經(jīng)許可不得轉(zhuǎn)載。
什么是數(shù)據(jù)科學(xué)?
數(shù)據(jù)科學(xué)這個(gè)概念目前仍然比較模糊。一直以來(lái),跟數(shù)據(jù)科學(xué)概念相關(guān)的概念層出不窮。下圖是第一張關(guān)于“數(shù)據(jù)科學(xué)”概念的韋恩圖,由 Drew Conway 在2010年制作。圖中的中心部分是數(shù)據(jù)科學(xué),韋恩圖表明它是黑客技術(shù)、數(shù)學(xué)、統(tǒng)計(jì)學(xué)和其他實(shí)質(zhì)性的專業(yè)知識(shí)的組合。
多年來(lái),關(guān)于數(shù)據(jù)科學(xué)領(lǐng)域的概念韋恩圖非常多,并且越做越好。如果你想查看關(guān)于這個(gè)方面的詳細(xì)歷史,這里有一篇文章可以關(guān)注:Battle of the Data Science Venn Diagrams。但是最近,對(duì)這個(gè)概念的討論又有了新的進(jìn)展。2016年,Gregory Piatetsky-shapiro 制作了一個(gè)不同的概念圖,其中有兩點(diǎn)最引人注目:數(shù)據(jù)科學(xué)不再處于圖的中心位置;并且他定義數(shù)據(jù)科學(xué)的方法也有所不同。最新的研究室是利用數(shù)據(jù)科學(xué)與其他學(xué)科(如人工智能、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、大數(shù)據(jù)、數(shù)據(jù)挖掘)的關(guān)系來(lái)對(duì)其進(jìn)行定義。由此得出的定義是,數(shù)據(jù)科學(xué)是人工智能、機(jī)器學(xué)習(xí)和大數(shù)據(jù)的交集,并與數(shù)據(jù)挖掘有著本質(zhì)性聯(lián)系,它是數(shù)據(jù)挖掘的擴(kuò)展集和后繼術(shù)語(yǔ)。
這兩個(gè)圖示可能看起來(lái)完全不同,但是它們的確有很多相似之處:Piatetsky-shapiro 的圖示也運(yùn)用了 Drew Conway 的韋恩圖中的黑客技術(shù)、數(shù)學(xué)、統(tǒng)計(jì)學(xué)和其他實(shí)質(zhì)性的專業(yè)知識(shí)。
數(shù)據(jù)科學(xué)家的教育背景
過去幾年中,有很多關(guān)于數(shù)據(jù)科學(xué)家教育背景的調(diào)查,調(diào)查的結(jié)果也不盡相同。2014 年的 O' Reilly 數(shù)據(jù)科學(xué)家薪酬調(diào)查中,大約 28%的受訪者擁有學(xué)士學(xué)位,44%擁有研究生學(xué)位,20% 擁有博士學(xué)位。數(shù)據(jù)科學(xué)家們普遍有著數(shù)學(xué)/統(tǒng)計(jì)學(xué)、計(jì)算機(jī)、工程的學(xué)科背景。下圖是 2016 年的調(diào)查結(jié)果,與 O' Reilly 的調(diào)查結(jié)果非常接近。
通常來(lái)說(shuō),你可以從調(diào)查中看到,數(shù)據(jù)科學(xué)家的普遍教育程度是碩士和博士。學(xué)科領(lǐng)域并不是十分重要,但是定量研究類的學(xué)科背景仍有一定優(yōu)勢(shì)。
第一步:學(xué)好統(tǒng)計(jì)學(xué)、數(shù)學(xué)和機(jī)器學(xué)習(xí)
雖然數(shù)據(jù)科學(xué)的定義在不斷地改變,但是數(shù)據(jù)科學(xué)仍然是一種技術(shù)型學(xué)科。對(duì)統(tǒng)計(jì)學(xué)、數(shù)學(xué)和機(jī)器學(xué)習(xí)的良好知識(shí)基礎(chǔ)仍然是對(duì)數(shù)據(jù)科學(xué)家這一行業(yè)的基本要求。
學(xué)好這三門課是非常痛苦的,尤其是對(duì)于那些沒有技術(shù)背景的人。但幸運(yùn)的是,有很多高質(zhì)量的資源可以幫助你學(xué)習(xí):Khan Academy 有十分多樣化的在線數(shù)學(xué)課程,你會(huì)由此受益良多;同時(shí),別忘了在 MIT Open Courseware 上學(xué)習(xí)線性代數(shù)課程;機(jī)器學(xué)習(xí)部分,你可以參考DataCamp, Stanford Online, Coursera。
第二步:學(xué)習(xí)編程
提升你的編程技巧也是學(xué)習(xí)數(shù)據(jù)科學(xué)的必經(jīng)之路。
你可以從熟悉計(jì)算機(jī)的基本知識(shí)開始,了解基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu)和搜索算法,明白端到端的工作流程。因?yàn)閿?shù)據(jù)科學(xué)家的工作需要與其他系統(tǒng)相結(jié)合,所以最好能夠明白從需求收集到分析,再到測(cè)試、維護(hù)的整個(gè)過程是如何進(jìn)行的。當(dāng)你掌握了這些概念后,就應(yīng)該開始選擇一種編程語(yǔ)言。你可以選擇開源語(yǔ)言或者收費(fèi)版的語(yǔ)言,選擇的考量在于學(xué)習(xí)語(yǔ)言的時(shí)間長(zhǎng)短、你想要進(jìn)入的行業(yè)的要求、語(yǔ)言的性價(jià)比等等。下圖可以幫助你選擇適合你的語(yǔ)言。
第三步:學(xué)習(xí)數(shù)據(jù)庫(kù)
當(dāng)你開始學(xué)習(xí)數(shù)據(jù)科學(xué)時(shí),你會(huì)發(fā)現(xiàn)很多教程將重點(diǎn)放在從非二進(jìn)制文件中檢索數(shù)據(jù)的技巧。然而,當(dāng)你開始工作或進(jìn)入行業(yè)內(nèi)部時(shí),你會(huì)發(fā)現(xiàn)絕大多數(shù)的工作是與一個(gè)或多個(gè)數(shù)據(jù)庫(kù)相關(guān)聯(lián)的。
市面上有很多種數(shù)據(jù)庫(kù)。企業(yè)可能使用的是商業(yè)版的數(shù)據(jù)庫(kù)(比如 Oracle),或者更傾向于開源的數(shù)據(jù)庫(kù)。在眾多數(shù)據(jù)庫(kù)中學(xué)習(xí)的關(guān)鍵在于明白數(shù)據(jù)庫(kù)是如何運(yùn)作的,學(xué)習(xí)數(shù)據(jù)庫(kù)的原理、工作過程和輸出結(jié)果。其中最應(yīng)掌握的概念是關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS)和數(shù)據(jù)倉(cāng)庫(kù)。你應(yīng)該充分學(xué)習(xí)關(guān)系型建模和維度建模方法,學(xué)習(xí) SQL 和抽取、轉(zhuǎn)換、裝載的過程(ETL)。
如果你想要學(xué)習(xí)數(shù)據(jù)庫(kù),你可以查看Mongo DB University,Stanford Online 的在線課程 Introduction to Databases 和 DataStax 及 TutorialsPoint 上的教程。
第四步:探索數(shù)據(jù)科學(xué)家的工作流程
學(xué)習(xí)的下一步就是了解數(shù)據(jù)科學(xué)的工作流程。很多指導(dǎo)教程和課程僅僅關(guān)注其中的一個(gè)或者兩個(gè)部分,并沒有對(duì)這個(gè)工作流程提供一個(gè)完整的視角,而對(duì)整個(gè)工作流程的宏觀了解卻是你今后成為數(shù)據(jù)科學(xué)家或是在數(shù)據(jù)組中工作時(shí)必須掌握的。其中很重要的問題是,不能忘記數(shù)據(jù)科學(xué)家的工作是一個(gè)需要不斷迭代的過程。
對(duì)已經(jīng)學(xué)會(huì)編程的數(shù)據(jù)科學(xué)的入門者來(lái)說(shuō),了解工作流程最簡(jiǎn)單的方法就是練習(xí)你的編程技巧,用 R 語(yǔ)言或者 Python 語(yǔ)言來(lái)開始練習(xí),學(xué)習(xí)使用數(shù)據(jù)包和數(shù)據(jù)庫(kù)來(lái)簡(jiǎn)化你的編程過程。
對(duì)于那些編程技巧不夠的初學(xué)者,你可以利用開源的工具,因?yàn)樗恍枰愕娜魏尉幊碳寄?。這些工具可以使你在同一時(shí)間完成數(shù)據(jù)科學(xué)工作流程中的多步工作。比如,RapidMiner 可以對(duì)你的數(shù)據(jù)進(jìn)行收集、標(biāo)出重點(diǎn)、清潔數(shù)據(jù)、建模、評(píng)估等等。應(yīng)該注意的一點(diǎn)是,你可以去使用這些工具,但是你仍然需要繼續(xù)提升你的編程技術(shù)。
第五步:大數(shù)據(jù)進(jìn)階
很多人在學(xué)習(xí)的時(shí)候過分關(guān)注數(shù)據(jù)科學(xué)的基本知識(shí),而忘記了其宏觀的結(jié)構(gòu)概念。在之前的步驟中已經(jīng)對(duì)此有一些提示,但是這里仍然有一個(gè)矛盾,比如就像你在學(xué)習(xí)教程時(shí)重點(diǎn)關(guān)注的是非二進(jìn)制的文件但是在實(shí)際工作使用中卻更多需要數(shù)據(jù)庫(kù)。更重要的一個(gè)問題在于數(shù)據(jù)的更新速度、多樣性和數(shù)據(jù)量都是明明白白地?cái)[在那里的,我們不可能忽略這些。
大數(shù)據(jù)或許是有些夸大的說(shuō)法,但是它的確存在,并且認(rèn)識(shí)它,明白它的深刻含義是非常重要的。其中三個(gè)最最需要了解的關(guān)于大數(shù)據(jù)的內(nèi)容是:
1、明白為什么大數(shù)據(jù)需要不同的數(shù)據(jù)處理方法?這里最好的學(xué)習(xí)方法可能是查找使用大數(shù)據(jù)的案例,比如 點(diǎn)擊這里。
2、熟悉分布式系統(tǒng)基礎(chǔ)架構(gòu) Hadoop 的模型,因?yàn)樗粡V泛用于數(shù)據(jù)的分配存儲(chǔ)和處理,詳見Hadoop。
3、不要忘記了 Spark框架。你可以嘗試用 Python 或 Scala 語(yǔ)言來(lái)學(xué)習(xí) Spark,這樣你既練習(xí)了編程技術(shù),也擴(kuò)展了對(duì)數(shù)據(jù)科學(xué)的視野,一舉兩得。
第六步:成長(zhǎng),交流,學(xué)習(xí)
成長(zhǎng)。如果你已經(jīng)成功掌握了之前所說(shuō)的一些基礎(chǔ)知識(shí),接下來(lái)就是成長(zhǎng)提升的階段了。你要通過各種數(shù)據(jù)科學(xué)方面的問題來(lái)不斷地練習(xí),努力將學(xué)習(xí)的原理應(yīng)用到實(shí)踐中。同時(shí),你也應(yīng)該從中增強(qiáng)自己在該領(lǐng)域的直覺感。練習(xí)題目看這里:Kaggle 和 DrivenData。
溝通。作為一個(gè)數(shù)據(jù)科學(xué)的初學(xué)者,你可能在學(xué)習(xí)中遇到過很多問題和困惑。你應(yīng)當(dāng)多于該領(lǐng)域有經(jīng)驗(yàn)的人溝通交流,與他們討論你的問題,向他們尋求幫助和建議。這些人會(huì)激勵(lì)你繼續(xù)學(xué)習(xí),鞭策你走的更遠(yuǎn)。
學(xué)習(xí)。持續(xù)性的學(xué)習(xí)和數(shù)據(jù)科學(xué)也許是一對(duì)同義詞。上文提到的Kaggle 和 DrivenData 可以教會(huì)你如何在實(shí)踐中進(jìn)行數(shù)據(jù)處理,但是你還可以在自己的日常生活中把知識(shí)運(yùn)用的更深入。
第七步:完全將自己沉浸其中
就像學(xué)習(xí)語(yǔ)言需要語(yǔ)言環(huán)境一樣,學(xué)習(xí)數(shù)據(jù)科學(xué)也需要這種能夠沉浸其中的環(huán)境。根據(jù)你已有的能力和知識(shí),你可能會(huì)考慮參加集訓(xùn)營(yíng),找實(shí)習(xí),或者找相關(guān)工作。參加集訓(xùn)營(yíng)是一種快速提高能力的方法,同時(shí)也可以收獲志同道合的朋友,擴(kuò)展你的人際圈。尋找集訓(xùn)營(yíng),請(qǐng)點(diǎn)擊 Galvanize 和 Metis。
其次,如果你已經(jīng)熟練掌握了數(shù)據(jù)科學(xué)的基本知識(shí),你可以考慮找一個(gè)實(shí)習(xí)崗位。很多大公司(如 Facebook、Quora和亞馬遜)都在尋找相關(guān)實(shí)習(xí)生,你可以從實(shí)習(xí)崗位開始對(duì)該領(lǐng)域的深入探索。你還可以從你的社交網(wǎng)絡(luò)渠道中尋找開放的職位和實(shí)習(xí)信息。最后,你也可以關(guān)注創(chuàng)業(yè)企業(yè),小公司也許可以讓你學(xué)到更多。AngelList里有一些初創(chuàng)企業(yè)的招聘信息。
最后一種沉浸其中的方法是找相關(guān)工作,然而很多初學(xué)者在這里遇到了瓶頸。也許你對(duì)數(shù)據(jù)科學(xué)家的工作十分感興趣,但是在找工作的時(shí)候一定要牢記以下內(nèi)容:
1、工作職位并不是總是符合其定位。他們也許貼出尋找“數(shù)據(jù)科學(xué)家”的招聘信息,但實(shí)際上是在尋找數(shù)據(jù)工程師或者商業(yè)分析師。查看這篇文章 The Data Industry: Who Does What,你可以了解到企業(yè)究竟在招聘時(shí)要什么崗位。
2、正確設(shè)定你的期望。如果你沒有數(shù)據(jù)科學(xué)家、數(shù)據(jù)庫(kù)或端對(duì)端方面的工作經(jīng)歷,直接申請(qǐng)數(shù)據(jù)科學(xué)家或分析師的職位是不現(xiàn)實(shí)的。請(qǐng)確保在申請(qǐng)時(shí)具備相關(guān)工作經(jīng)歷。不要因?yàn)闊o(wú)法立刻找到工作而氣餒。相反,你應(yīng)該保持學(xué)習(xí),提升能力,并持續(xù)關(guān)注企業(yè)的招聘信息。
第八步:與時(shí)俱進(jìn)
最后這一步有時(shí)候經(jīng)常被大家遺忘。即是你已經(jīng)在從事數(shù)據(jù)科學(xué)方面的工作,你也應(yīng)該時(shí)刻牢記,數(shù)據(jù)科學(xué)需要持續(xù)地學(xué)習(xí)。這個(gè)領(lǐng)域總有新的進(jìn)步,所以保持對(duì)周邊事物的好奇心和信息靈敏度非常重要。所以不要忘記時(shí)常閱讀社會(huì)媒體的評(píng)論報(bào)道,追蹤行業(yè)大牛動(dòng)態(tài),總之就是要與時(shí)俱進(jìn)。
數(shù)據(jù)科學(xué)領(lǐng)域的最新新聞,你可以從這些地方獲取:KD Nuggets,Data Elixir,Data Science Weekly。行業(yè)大牛的推特也要經(jīng)常查閱,比如: DJ Patil,Andrew Ng,Ben Lorica。
你還可以加入一些在線社區(qū),及時(shí)與同行溝通。
比如 LinkedIn中的“大數(shù)據(jù)”、“分析學(xué)”、“商務(wù)智能”、“大數(shù)據(jù)分析”、“數(shù)據(jù)科學(xué)家”、數(shù)據(jù)挖掘、統(tǒng)計(jì)、大數(shù)據(jù)、數(shù)據(jù)可視化、數(shù)據(jù)科學(xué)“等等群組。
還有 Facebook 上的“數(shù)據(jù)科學(xué)入門”、“分析學(xué)”、“機(jī)器學(xué)習(xí)”、“數(shù)據(jù)挖掘”、“R語(yǔ)言”、“Python”等等群組。
Subeddits中還有一些“R/數(shù)據(jù)科學(xué)”、“R/stats”、“R/Python”等群組。
Via Kdnuggets
推薦閱讀:
IBM 和 Slack 強(qiáng)強(qiáng)聯(lián)手,開發(fā)更智能的數(shù)據(jù)分析聊天機(jī)器人
那些年 AI 預(yù)測(cè)過的事情最后都說(shuō)對(duì)了嗎?
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。