如果是個窮光蛋:如何從零開始學習成為一個資料科學家?

機器之心發表於2018-10-10

當你幹著一份並不喜歡且薪資又低的工作時,是否想要做出改變?本文作者曾在日託中心上班,卻從零開始自學了資料科學,並已經小有成就。本文是他關於自學資料科學的一些參考建議,有志者不妨一讀?

去年,我自學了資料科學,蒐集了幾百個線上資源,每天學 6~8 個小時。與此同時,我白天還在日託中心上班,拿著最低的薪資水平。

儘管我資金不足,但我的目標是從事自己熱愛的職業。

因此,我在過去幾個月中取得了一些成就。我釋出了自己的網站,主流的線上資料科學網站 KDnuggets 也對我進行了報導,我還在極具競爭力的電腦科學研究生課程中獲得了獎學金。

網站地址:https://harrisonjansma.com/

我在本文中提供了一些指導和建議,以便你自行學習資料科學課程。我還提供了一些參考工具,希望能給想要學習的人一些幫助,讓他們可以在資料科學領域中從事更有激情的職業。

快速說明:

我說的「資料科學」,指的是將資料轉化為現實行為的工具集合,包括機器學習、資料庫技術、統計、程式設計以及特定領域的技術。

開啟學習之旅的一些資源

網際網路上亂七八糟混亂一片。要從中學習就像是從消防水帶的末端喝水一樣。

如果是個窮光蛋:如何從零開始學習成為一個資料科學家?

有一些更簡單的替代方法可以為你從中理出頭緒。

像 Dataquest、DataCamp 和 Udacity 這樣的網站會教你一些資料科學的技巧。這些網站每一個都建立了一個教育計劃,以便你按主題學習,而你幾乎不用做什麼課程計劃。

問題在於這些網站都付費不低,而且它們無法教你如何在工作環境中應用這些概念,而且它們也會妨礙你繼續探索自己的興趣和激情所在。

而像 edX 和 coursera 這樣的替代品則無需付費,它們會提供關於某個特定話題的一次性課程。如果你可以在視訊環境或課堂環境中好好學習的話,這些都是學習資料科學的絕佳方法。

如果是個窮光蛋:如何從零開始學習成為一個資料科學家?

你可以從第一個網址中獲得一些資料科學課程,也可以從 David Venturi 的部落格或 Open Source DS Master 上找到一些免費的課程。

  • 地址: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/

如果你只需要閱讀就可以學得不錯的話,推薦你看《Data Science From Scratch》。這本書是一個完整的學習方案,可以作為線上資源的補充。你可以線上免費獲取這本書的 pdf 版,也可以在 Amazon 上買到紙質版。

線上 PDF:http://math.ecnu.edu.cn/~lfzhou/seminar/[Joel_Grus]_Data_Science_from_Scratch_First_Princ.pdf

這只是一小部分學習資料科學的免費資源,還有更多。為了更好地理解你在學習中需要獲取的技能,我將在下文詳細敘述更廣泛的學習指南。這些內容不僅僅是課程列表或者書單,而是一些更加高階的內容。

課程指南

如果是個窮光蛋:如何從零開始學習成為一個資料科學家?

資料科學課程指南

Python 程式設計

程式設計是資料科學的基本技能。熟悉 Python 的語法,瞭解如何用不同的方式(Jupyter botebook、命令列以及 IDE)執行 Python 程式。

我花了大概一個月的時間複習 Python 文件、Hitchhiker 的 Python 指南以及 CodeSignal 上的程式碼問題。

  • Python 文件:https://docs.python.org/3/tutorial/

  • Hitchhiker 的 Python 指南:https://docs.python-guide.org/intro/learning/

  • CodeSignal:https://codesignal.com/

提示:留意程式設計師解決問題的常用技巧(即「演算法」)。

統計&線性代數

這是機器學習和資料分析的先決條件。如果你已經對此有了充分的瞭解,那麼請用一到兩週複習一下重點概念。

尤其要注意描述性統計。理解統計資料是一項非常重要的技能。

Numpy、Pandas&Matplotlib

學習如何載入、操作和視覺化資料。掌握這些庫對你的個人專案而言至關重要。

如果是個窮光蛋:如何從零開始學習成為一個資料科學家?

快速提示:你無需記住每種方法或每個函式的名字,記住這些東西需要實踐。忘了的話 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

記住,實踐出真知!

機器學習

學習機器學習演算法的理論和應用。然後將所學的概念用到現實世界中你關心的資料上。

大多數初學者是從處理 UCI ML Repository 中的小資料集開始的。他們對這些資料進行處理,並在這些資料上實踐 ML 教程。

Scikit-learn 文件中有一些關於常用演算法應用的優秀教程。我還發現一個不錯的 podcast 教學資源,是關於 ML 背後的理論。你可以在鍛鍊的時候或者上下班途中收聽。

地址:http://ocdevel.com/mlg

生產系統

工作意味著能夠獲取真實世界的資料並對其進行分析。為此你需要學習如何使用商業計算資源,來獲取、轉化以及處理資料。

如果是個窮光蛋:如何從零開始學習成為一個資料科學家?

AWS、Google Cloud 以及 Microsoft Azure

這是資料科學課程中教的最少的部分,因為你要用的特定工具主要取決於你日後要進入的行業。但資料庫操作是一項必需的技能。你可以在 ModeAnalytics 或 Codecademy 上學會用程式碼運算元據庫。你還可以在 DigitalOcean 上實現你自己的資料庫。

另一個常用技能是版本控制。你可以建立 GitHub 賬戶,每天使用命令列提交程式碼,輕鬆獲取這項技能。在學習其它技能時,一定要考慮到自己的興趣和激情。舉個例子,如果你對 web 開發感興趣,那麼就要看一下這個行業中的公司所使用的工具。

執行課程的建議

如果是個窮光蛋:如何從零開始學習成為一個資料科學家?

1. 你獲取概念的速度要比你學習概念的速度更快

事實上,有成千上萬的網頁和論壇在解釋常用資料科學工具的用法。因此線上學習時很容易轉移注意力。當你開始研究某個主題時,要將自己的目的牢記於心。如果你沒有記住的話,你可能會被任何抓人眼球的內容吸引過去。

解決方案:建一個收藏夾把你感興趣的網頁資源都存起來。這樣你可以晚點再看儲存好的材料,先將注意力集中在你現在關心的主題上。

如果你這麼做了,你就會得到一個有序的學習路徑,它會告訴你你應該關注什麼內容。注意,當你探索感興趣的新主題時,你的閱讀列表會很快增長到數百個之多。別急,請看第二條建議。

2. 別擔心,這是一場馬拉松,而不是一段衝刺

如果你想在資料科學領域取得成功,就要把學習視為一個貫穿整個生命的過程。

要記住,學習的過程就是你所獲得的獎勵。

在整個學習過程中,你將探索自己的興趣點,並發現更多驅動你學習的東西。學得越多,你從中獲得的愉悅感就更多。

3. 學習->應用->重複

不要只是學習一個概念,然後就轉向下一件事。學習過程直到你將其應用到真實世界中才停止。

不是每個概念都要在你的研究中佔有一席之地。重要的是要堅持下去,要記得你在學習,這樣你才會對這個世界產生影響。

4. 建一個作品集,它可以告訴別人你值得信任。

談到作品集,懷疑主義是你在學習資料科學時面臨的最大困境之一。這種懷疑可能來自於他人,也可能來自你自己。你的作品集是向世界表示你有能力並對自己的能力充滿信心的一種方式。

因此,在研究資料科學時,建一個作品集是你要做的最重要的事。一個好的作品集可以帶給你一份不錯的工作,並讓你成為更自信的資料科學家。

你從零開始構建了自己的 web 應用程式嗎?建立了自己的 IMDB 資料庫嗎?撰寫過有趣的醫療保健資料分析嗎?將它們放到你的作品集中去吧。

注意,寫入的東西要可讀性強、很好地記錄了程式碼,作品集本身也要看起來不錯。

如果是個窮光蛋:如何從零開始學習成為一個資料科學家?


這是我的作品集。公開作品集的簡便方法是建立一個 GitHub 庫,這個庫中要有很好的 ReadMe(總結頁)以及相關的專案檔案。

GitHub 作品集要既美觀又簡單。想要更高階的作品集的話,請檢視 GitHub-IO 來託管你的免費網站(示例:https://alexisbcook.github.io/#blog)

5. 資料科學 + _______ = 富有激情的職業

資料科學是旨在改變世界的工具集合。有一些資料科學家構建了計算機視覺化系統來診斷醫學影像,還有一些資料科學家遍歷了數十億的資料來找到網站使用者偏好的行為模式。

資料科學的應用是永無止境的,這也是為什麼找到自己感興趣的應用領域很重要。如果你找到感興趣的主題,就會更投入地做出很好的專案。所以,學習的時候,要注意那些讓你感到興奮的專案或想法。

如果是個窮光蛋:如何從零開始學習成為一個資料科學家?

一旦你花時間學習了,試著將點連線起來。找出令你著迷的專案之間的相似之處,然後花一些時間研究一下涉及到這類專案的行業。一旦找到了感興趣的行業,可以把獲得該行業所需的技能和專業知識作為你的目標。

如果你能做到這一點,你就已經準備好將在學習上的辛勤努力轉變為充滿激情和成功的事業了。

總結

如果你喜歡發現世界,如果你為人工智慧著迷不已,無論你現在的處境如何,你都可以投身於資料科學行業。

為了激勵你的學習之旅,你要堅持不懈,還要自律。如果你是那種可以促進自己提升的人,你就可以自己掌握這些技能。畢竟,這就是資料科學家的意義所在。好奇、自我推動、並熱衷於尋找答案。

原文地址:https://towardsdatascience.com/how-to-learn-data-science-if-youre-broke-7ecc408b53c7

相關文章