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