如果是個(gè)窮光蛋:如何從零開(kāi)始學(xué)習(xí)成為一個(gè)數(shù)據(jù)科學(xué)家?
去年,我自學(xué)了數(shù)據(jù)科學(xué),搜集了幾百個(gè)在線資源,每天學(xué) 6~8 個(gè)小時(shí)。與此同時(shí),我白天還在日托中心上班,拿著***的薪資水平。
盡管我資金不足,但我的目標(biāo)是從事自己熱愛(ài)的職業(yè)。
因此,我在過(guò)去幾個(gè)月中取得了一些成就。我發(fā)布了自己的網(wǎng)站,主流的在線數(shù)據(jù)科學(xué)網(wǎng)站 KDnuggets 也對(duì)我進(jìn)行了報(bào)道,我還在***競(jìng)爭(zhēng)力的計(jì)算機(jī)科學(xué)研究生課程中獲得了獎(jiǎng)學(xué)金。
網(wǎng)站地址:https://harrisonjansma.com/
我在本文中提供了一些指導(dǎo)和建議,以便你自行學(xué)習(xí)數(shù)據(jù)科學(xué)課程。我還提供了一些參考工具,希望能給想要學(xué)習(xí)的人一些幫助,讓他們可以在數(shù)據(jù)科學(xué)領(lǐng)域中從事更有激情的職業(yè)。
快速說(shuō)明:我說(shuō)的「數(shù)據(jù)科學(xué)」,指的是將數(shù)據(jù)轉(zhuǎn)化為現(xiàn)實(shí)行為的工具集合,包括機(jī)器學(xué)習(xí)、數(shù)據(jù)庫(kù)技術(shù)、統(tǒng)計(jì)、編程以及特定領(lǐng)域的技術(shù)。
開(kāi)啟學(xué)習(xí)之旅的一些資源
互聯(lián)網(wǎng)上亂七八糟混亂一片。要從中學(xué)習(xí)就像是從消防水帶的末端喝水一樣。
有一些更簡(jiǎn)單的替代方法可以為你從中理出頭緒。
像 Dataquest、DataCamp 和 Udacity 這樣的網(wǎng)站會(huì)教你一些數(shù)據(jù)科學(xué)的技巧。這些網(wǎng)站每一個(gè)都創(chuàng)建了一個(gè)教育計(jì)劃,以便你按主題學(xué)習(xí),而你幾乎不用做什么課程計(jì)劃。
問(wèn)題在于這些網(wǎng)站都付費(fèi)不低,而且它們無(wú)法教你如何在工作環(huán)境中應(yīng)用這些概念,而且它們也會(huì)妨礙你繼續(xù)探索自己的興趣和激情所在。
而像 edX 和 coursera 這樣的替代品則無(wú)需付費(fèi),它們會(huì)提供關(guān)于某個(gè)特定話題的一次性課程。如果你可以在視頻環(huán)境或課堂環(huán)境中好好學(xué)習(xí)的話,這些都是學(xué)習(xí)數(shù)據(jù)科學(xué)的***方法。
你可以從***個(gè)網(wǎng)址中獲得一些數(shù)據(jù)科學(xué)課程,也可以從 David Venturi 的博客或 Open Source DS Master 上找到一些免費(fèi)的課程。
- 地址:https://www.class-central.com/subject/data-science
- David Venturi:https://medium.com/@davidventuri/i-dropped-out-of-school-to-create-my-own-data-science-master-s-here-s-my-curriculum-1b400dcee412
- Open Source DS Master:http://datasciencemasters.org/
如果你只需要閱讀就可以學(xué)得不錯(cuò)的話,推薦你看《Data Science From Scratch》。這本書(shū)是一個(gè)完整的學(xué)習(xí)方案,可以作為在線資源的補(bǔ)充。你可以在線免費(fèi)獲取這本書(shū)的 pdf 版,也可以在 Amazon 上買(mǎi)到紙質(zhì)版。
在線 PDF:
http://math.ecnu.edu.cn/~lfzhou/seminar/[Joel_Grus]_Data_Science_from_Scratch_First_Princ.pdf
這只是一小部分學(xué)習(xí)數(shù)據(jù)科學(xué)的免費(fèi)資源,還有更多。為了更好地理解你在學(xué)習(xí)中需要獲取的技能,我將在下文詳細(xì)敘述更廣泛的學(xué)習(xí)指南。這些內(nèi)容不僅僅是課程列表或者書(shū)單,而是一些更加高級(jí)的內(nèi)容。
課程指南
數(shù)據(jù)科學(xué)課程指南
1. Python 編程
編程是數(shù)據(jù)科學(xué)的基本技能。熟悉 Python 的語(yǔ)法,了解如何用不同的方式(Jupyter botebook、命令行以及 IDE)運(yùn)行 Python 程序。
我花了大概一個(gè)月的時(shí)間復(fù)習(xí) Python 文檔、Hitchhiker 的 Python 指南以及 CodeSignal 上的代碼問(wèn)題。
- Python 文檔:https://docs.python.org/3/tutorial/
- Hitchhiker 的 Python 指南:https://docs.python-guide.org/intro/learning/
- CodeSignal:https://codesignal.com/
提示:留意程序員解決問(wèn)題的常用技巧(即「算法」)。
2. 統(tǒng)計(jì)&線性代數(shù)
這是機(jī)器學(xué)習(xí)和數(shù)據(jù)分析的先決條件。如果你已經(jīng)對(duì)此有了充分的了解,那么請(qǐng)用一到兩周復(fù)習(xí)一下重點(diǎn)概念。
尤其要注意描述性統(tǒng)計(jì)。理解統(tǒng)計(jì)數(shù)據(jù)是一項(xiàng)非常重要的技能。
3. Numpy、Pandas&Matplotlib
學(xué)習(xí)如何加載、操作和可視化數(shù)據(jù)。掌握這些庫(kù)對(duì)你的個(gè)人項(xiàng)目而言至關(guān)重要。
快速提示:你無(wú)需記住每種方法或每個(gè)函數(shù)的名字,記住這些東西需要實(shí)踐。忘了的話 Google 一下好了。
瀏覽以下三個(gè)文檔:
- Pandas 文檔:http://pandas.pydata.org/pandas-docs/stable/
- Numpy 文檔:https://docs.scipy.org/doc/numpy/user/index.html
- Matplotlib 教程:https://matplotlib.org/tutorials/index.html
記住,實(shí)踐出真知!
4. 機(jī)器學(xué)習(xí)
學(xué)習(xí)機(jī)器學(xué)習(xí)算法的理論和應(yīng)用。然后將所學(xué)的概念用到現(xiàn)實(shí)世界中你關(guān)心的數(shù)據(jù)上。
大多數(shù)初學(xué)者是從處理 UCI ML Repository 中的小數(shù)據(jù)集開(kāi)始的。他們對(duì)這些數(shù)據(jù)進(jìn)行處理,并在這些數(shù)據(jù)上實(shí)踐 ML 教程。
Scikit-learn 文檔中有一些關(guān)于常用算法應(yīng)用的優(yōu)秀教程。我還發(fā)現(xiàn)一個(gè)不錯(cuò)的 podcast 教學(xué)資源,是關(guān)于 ML 背后的理論。你可以在鍛煉的時(shí)候或者上下班途中收聽(tīng)。
地址:http://ocdevel.com/mlg
5. 生產(chǎn)系統(tǒng)
工作意味著能夠獲取真實(shí)世界的數(shù)據(jù)并對(duì)其進(jìn)行分析。為此你需要學(xué)習(xí)如何使用商業(yè)計(jì)算資源,來(lái)獲取、轉(zhuǎn)化以及處理數(shù)據(jù)。
AWS、Google Cloud 以及 Microsoft Azure
這是數(shù)據(jù)科學(xué)課程中教的最少的部分,因?yàn)槟阋玫奶囟üぞ咧饕Q于你日后要進(jìn)入的行業(yè)。但數(shù)據(jù)庫(kù)操作是一項(xiàng)必需的技能。你可以在 ModeAnalytics 或 Codecademy 上學(xué)會(huì)用代碼操作數(shù)據(jù)庫(kù)。你還可以在 DigitalOcean 上實(shí)現(xiàn)你自己的數(shù)據(jù)庫(kù)。
另一個(gè)常用技能是版本控制。你可以創(chuàng)建 GitHub 賬戶,每天使用命令行提交代碼,輕松獲取這項(xiàng)技能。在學(xué)習(xí)其它技能時(shí),一定要考慮到自己的興趣和激情。舉個(gè)例子,如果你對(duì) web 開(kāi)發(fā)感興趣,那么就要看一下這個(gè)行業(yè)中的公司所使用的工具。
執(zhí)行課程的建議
1. 你獲取概念的速度要比你學(xué)習(xí)概念的速度更快
事實(shí)上,有成千上萬(wàn)的網(wǎng)頁(yè)和論壇在解釋常用數(shù)據(jù)科學(xué)工具的用法。因此在線學(xué)習(xí)時(shí)很容易轉(zhuǎn)移注意力。當(dāng)你開(kāi)始研究某個(gè)主題時(shí),要將自己的目的牢記于心。如果你沒(méi)有記住的話,你可能會(huì)被任何抓人眼球的內(nèi)容吸引過(guò)去。
解決方案:建一個(gè)收藏夾把你感興趣的網(wǎng)頁(yè)資源都存起來(lái)。這樣你可以晚點(diǎn)再看保存好的材料,先將注意力集中在你現(xiàn)在關(guān)心的主題上。
如果你這么做了,你就會(huì)得到一個(gè)有序的學(xué)習(xí)路徑,它會(huì)告訴你你應(yīng)該關(guān)注什么內(nèi)容。注意,當(dāng)你探索感興趣的新主題時(shí),你的閱讀列表會(huì)很快增長(zhǎng)到數(shù)百個(gè)之多。別急,請(qǐng)看第二條建議。
2. 別擔(dān)心,這是一場(chǎng)馬拉松,而不是一段沖刺
如果你想在數(shù)據(jù)科學(xué)領(lǐng)域取得成功,就要把學(xué)習(xí)視為一個(gè)貫穿整個(gè)生命的過(guò)程。
要記住,學(xué)習(xí)的過(guò)程就是你所獲得的獎(jiǎng)勵(lì)。
在整個(gè)學(xué)習(xí)過(guò)程中,你將探索自己的興趣點(diǎn),并發(fā)現(xiàn)更多驅(qū)動(dòng)你學(xué)習(xí)的東西。學(xué)得越多,你從中獲得的愉悅感就更多。
3. 學(xué)習(xí)->應(yīng)用->重復(fù)
不要只是學(xué)習(xí)一個(gè)概念,然后就轉(zhuǎn)向下一件事。學(xué)習(xí)過(guò)程直到你將其應(yīng)用到真實(shí)世界中才停止。
不是每個(gè)概念都要在你的研究中占有一席之地。重要的是要堅(jiān)持下去,要記得你在學(xué)習(xí),這樣你才會(huì)對(duì)這個(gè)世界產(chǎn)生影響。
4. 建一個(gè)作品集,它可以告訴別人你值得信任。
談到作品集,懷疑主義是你在學(xué)習(xí)數(shù)據(jù)科學(xué)時(shí)面臨的***困境之一。這種懷疑可能來(lái)自于他人,也可能來(lái)自你自己。你的作品集是向世界表示你有能力并對(duì)自己的能力充滿信心的一種方式。
因此,在研究數(shù)據(jù)科學(xué)時(shí),建一個(gè)作品集是你要做的最重要的事。一個(gè)好的作品集可以帶給你一份不錯(cuò)的工作,并讓你成為更自信的數(shù)據(jù)科學(xué)家。
你從零開(kāi)始構(gòu)建了自己的 web 應(yīng)用程序嗎?建立了自己的 IMDB 數(shù)據(jù)庫(kù)嗎?撰寫(xiě)過(guò)有趣的醫(yī)療保健數(shù)據(jù)分析嗎?將它們放到你的作品集中去吧。
注意,寫(xiě)入的東西要可讀性強(qiáng)、很好地記錄了代碼,作品集本身也要看起來(lái)不錯(cuò)。
這是我的作品集。公開(kāi)作品集的簡(jiǎn)便方法是創(chuàng)建一個(gè) GitHub 庫(kù),這個(gè)庫(kù)中要有很好的 ReadMe(總結(jié)頁(yè))以及相關(guān)的項(xiàng)目文件。
GitHub 作品集要既美觀又簡(jiǎn)單。想要更高級(jí)的作品集的話,請(qǐng)查看 GitHub-IO 來(lái)托管你的免費(fèi)網(wǎng)站(示例:https://alexisbcook.github.io/#blog)
5. 數(shù)據(jù)科學(xué) + _______ = 富有激情的職業(yè)
數(shù)據(jù)科學(xué)是旨在改變世界的工具集合。有一些數(shù)據(jù)科學(xué)家構(gòu)建了計(jì)算機(jī)可視化系統(tǒng)來(lái)診斷醫(yī)學(xué)圖像,還有一些數(shù)據(jù)科學(xué)家遍歷了數(shù)十億的數(shù)據(jù)來(lái)找到網(wǎng)站用戶偏好的行為模式。
數(shù)據(jù)科學(xué)的應(yīng)用是永無(wú)止境的,這也是為什么找到自己感興趣的應(yīng)用領(lǐng)域很重要。如果你找到感興趣的主題,就會(huì)更投入地做出很好的項(xiàng)目。所以,學(xué)習(xí)的時(shí)候,要注意那些讓你感到興奮的項(xiàng)目或想法。
一旦你花時(shí)間學(xué)習(xí)了,試著將點(diǎn)連接起來(lái)。找出令你著迷的項(xiàng)目之間的相似之處,然后花一些時(shí)間研究一下涉及到這類(lèi)項(xiàng)目的行業(yè)。一旦找到了感興趣的行業(yè),可以把獲得該行業(yè)所需的技能和專(zhuān)業(yè)知識(shí)作為你的目標(biāo)。
如果你能做到這一點(diǎn),你就已經(jīng)準(zhǔn)備好將在學(xué)習(xí)上的辛勤努力轉(zhuǎn)變?yōu)槌錆M激情和成功的事業(yè)了。
總結(jié)
如果你喜歡發(fā)現(xiàn)世界,如果你為人工智能著迷不已,無(wú)論你現(xiàn)在的處境如何,你都可以投身于數(shù)據(jù)科學(xué)行業(yè)。
為了激勵(lì)你的學(xué)習(xí)之旅,你要堅(jiān)持不懈,還要自律。如果你是那種可以促進(jìn)自己提升的人,你就可以自己掌握這些技能。畢竟,這就是數(shù)據(jù)科學(xué)家的意義所在。好奇、自我推動(dòng)、并熱衷于尋找答案。
原文地址:
https://towardsdatascience.com/how-to-learn-data-science-if-youre-broke-7ecc408b53c7
【本文是51CTO專(zhuān)欄機(jī)構(gòu)“機(jī)器之心”的原創(chuàng)譯文,微信公眾號(hào)“機(jī)器之心( id: almosthuman2014)”】