不交學(xué)費(fèi)也能成為數(shù)據(jù)科學(xué)家,這里有一條免費(fèi)學(xué)習(xí)路徑
2020-04-20 來(lái)源:raincent

譯文:魔王 來(lái)源:機(jī)器之心
如何通過(guò)免費(fèi)方式學(xué)習(xí)數(shù)據(jù)科學(xué)?數(shù)據(jù)科學(xué)家 Rebecca Vickery 從技術(shù)能力、理論和實(shí)踐經(jīng)驗(yàn)三個(gè)方面入手介紹了自己的經(jīng)驗(yàn)。
在傳統(tǒng)教育機(jī)構(gòu)中讀碩士學(xué)位的平均成本差不多在 3 萬(wàn)到 12 萬(wàn)美元之間。在線數(shù)據(jù)科學(xué)學(xué)位課程也不便宜,最低成本為 9000 美元。如果你想學(xué)數(shù)據(jù)科學(xué),但支付不起這筆費(fèi)用,應(yīng)該怎么辦呢?
我在成為數(shù)據(jù)科學(xué)家之前沒(méi)有經(jīng)歷過(guò)任何正式的專業(yè)教育。本文將分享我的個(gè)人課程表,無(wú)需支付數(shù)千美元也能學(xué)習(xí)數(shù)據(jù)科學(xué)。
該課程包含 3 個(gè)主要部分:技術(shù)能力、理論和實(shí)踐經(jīng)驗(yàn)。文中包含該學(xué)習(xí)路徑中每個(gè)元素的免費(fèi)資源鏈接,以及一些「低成本」資源的鏈接。如果你想花一點(diǎn)錢加速學(xué)習(xí)過(guò)程,你可以把這些資源添加到課程中。本文會(huì)說(shuō)明每項(xiàng)資源的預(yù)計(jì)成本。
技術(shù)能力
本課程的第一部分為技術(shù)能力。推薦大家先學(xué)習(xí)這部分內(nèi)容,這樣你就可以采取實(shí)踐優(yōu)先的學(xué)習(xí)方式,而不是以數(shù)學(xué)理論為先。目前,Python 是數(shù)據(jù)科學(xué)領(lǐng)域使用最廣泛的編程語(yǔ)言。根據(jù) Kaggle 2018 機(jī)器學(xué)習(xí)及數(shù)據(jù)科學(xué)調(diào)查報(bào)告,83% 的受訪者在日常工作中使用 Python。因此,我推薦大家學(xué)習(xí) Python 語(yǔ)言,同時(shí)也推薦大家花一點(diǎn)時(shí)間學(xué)習(xí)其他語(yǔ)言,比如 R 語(yǔ)言。
Python 基礎(chǔ)
使用 Python 執(zhí)行數(shù)據(jù)科學(xué)任務(wù)之前,你需要先掌握 Python 背后的基礎(chǔ)知識(shí)。你需要一門 Python 入門課程。網(wǎng)上有很多免費(fèi)教程,我最喜歡的是 Codeacademy 的教程,因?yàn)樗鼈冊(cè)试S在瀏覽器內(nèi)進(jìn)行動(dòng)手編程實(shí)踐。
我推薦大家學(xué)習(xí)這個(gè) Python 入門課程,該課程涵蓋 Python 基礎(chǔ)語(yǔ)法、函數(shù)、控制流、循環(huán)、模塊和類。
課程地址:https://www.codecademy.com/learn/learn-python
使用 Python 做數(shù)據(jù)分析
接下來(lái),你需要充分了解如何使用 Python 做數(shù)據(jù)分析,這方面有很多不錯(cuò)的資源。
首先,我推薦大家至少學(xué)完 dataquest.io 上數(shù)據(jù)分析師學(xué)習(xí)路徑的免費(fèi)部分。Dataquest 提供完整的數(shù)據(jù)分析師、數(shù)據(jù)科學(xué)家和數(shù)據(jù)工程師學(xué)習(xí)路徑。其中大量?jī)?nèi)容,尤其是數(shù)據(jù)分析師學(xué)習(xí)路徑的內(nèi)容可以免費(fèi)獲取。如果你資金充足,我強(qiáng)烈建議你付費(fèi)訂閱并學(xué)習(xí)這些內(nèi)容。我學(xué)了這個(gè)課程,從中了解到數(shù)據(jù)科學(xué)的基礎(chǔ)知識(shí)。數(shù)據(jù)科學(xué)家路徑課程花費(fèi)了我 6 個(gè)月時(shí)間。每個(gè)月的價(jià)格從 24.5 美元到 49 美元不等,這取決于你是否購(gòu)買年費(fèi)會(huì)員。資金充足的話,購(gòu)買年費(fèi)會(huì)員更劃算(https://www.dataquest.io/subscribe/)。

Dataquest 平臺(tái)(https://app.dataquest.io/dashboard)
使用 Python 做機(jī)器學(xué)習(xí)
如果你已經(jīng)學(xué)完了 Dataquest 上的數(shù)據(jù)科學(xué)課程,那么你應(yīng)該對(duì)使用 Python 執(zhí)行機(jī)器學(xué)習(xí)的基礎(chǔ)知識(shí)有了充分了解。如果還沒(méi)有,這方面也有很多免費(fèi)資源。我推薦首先從 scikit-learn 開(kāi)始學(xué)起,因?yàn)?scikit-learn 是目前最常用的機(jī)器學(xué)習(xí) Python 庫(kù)。
我很幸運(yùn),在學(xué)習(xí)過(guò)程中參加了 scikit-learn 核心開(kāi)發(fā)者之一 Andreas Mueller 舉辦的為期兩天的 workshop。他發(fā)布了該課程的所有材料,包含幻燈片、課程筆記和 notebook。推薦大家先學(xué)習(xí)這份資料。
課程資料地址:https://github.com/amueller
接下來(lái),我推薦大家學(xué)習(xí) scikit-learn 官方文檔中的一些教程。之后,大家就可以構(gòu)建一些實(shí)際機(jī)器學(xué)習(xí)應(yīng)用,學(xué)習(xí)模型運(yùn)行背后的理論了。
scikit-learn 文檔地址:https://scikit-learn.org/stable/tutorial/basic/tutorial.html
SQL
想成為數(shù)據(jù)科學(xué)家,SQL 是必不可少的一項(xiàng)技能,因?yàn)槌槿?shù)據(jù)是數(shù)據(jù)建模的基礎(chǔ)流程之一。這通常需要對(duì)數(shù)據(jù)庫(kù)運(yùn)行 SQL query。如果你沒(méi)有學(xué)完上述 Dataquest 數(shù)據(jù)科學(xué)課程,那么這里有一些免費(fèi)資源可供選擇。
Codeacamdemy 有一門 SQL 入門課程,這門課實(shí)踐性很強(qiáng),學(xué)習(xí)過(guò)程中你可以在瀏覽器內(nèi)進(jìn)行編程。
課程地址:https://www.codecademy.com/learn/learn-sql
如果你還想了解基于云的數(shù)據(jù)庫(kù)查詢,那么 Google Cloud BigQuery 是不錯(cuò)的選擇。它有免費(fèi)試用方案,你可以免費(fèi)嘗試 query、大量公共數(shù)據(jù)集,以及閱讀官方文檔(https://cloud.google.com/bigquery/docs/tutorials)。

Codeacademy SQL 課程
R 語(yǔ)言
要想成為全面的數(shù)據(jù)科學(xué)家,只學(xué) Python 還不夠。我推薦大家學(xué)習(xí)一門 R 語(yǔ)言入門課程。Codeacademy 就有一門免費(fèi)入門課程。
課程地址:https://www.codecademy.com/learn/learn-r。
值得注意的是,Codeacademy 的 pro 版本也提供完整的數(shù)據(jù)科學(xué)學(xué)習(xí)計(jì)劃(升級(jí) pro 賬戶需要每月支付 31.99 到 15.99 美元不等,具體費(fèi)用取決于預(yù)先支付多少個(gè)月)。我個(gè)人覺(jué)得 Dataquest 的課程更加全面,但 Codeacademy 的這門課程要便宜一些。
軟件工程
掌握軟件工程技能和最佳實(shí)踐是明智的做法,這會(huì)使代碼更具可讀性和可擴(kuò)展性。此外,當(dāng)你開(kāi)始將模型投入生產(chǎn)過(guò)程時(shí),你需要寫出高質(zhì)量、測(cè)試良好的代碼,并熟練使用版本控制等工具。
這里有兩個(gè)不錯(cuò)的免費(fèi)資源。「Python Like You Mean It」涵蓋 PEP8 風(fēng)格指南、文檔,以及面向?qū)ο蟮木幊獭?/p>
地址:https://www.pythonlikeyoumeanit.com/intro.html(有中文版)
scikit-learn 貢獻(xiàn)指南旨在促進(jìn)開(kāi)發(fā)者對(duì) scikit-learn 庫(kù)的貢獻(xiàn),但它實(shí)際上也涉及最佳實(shí)踐。它包括 GitHub、單元測(cè)試、debug 等話題,而且其寫作背景是數(shù)據(jù)科學(xué)應(yīng)用。
scikit-learn 貢獻(xiàn)指南地址:https://scikit-learn.org/stable/developers/contributing.html
深度學(xué)習(xí)
要想對(duì)深度學(xué)習(xí)有一個(gè)全面的了解,我覺(jué)得 fast.ai 是最好的選擇,它完全免費(fèi)且沒(méi)有廣告。該課程包含機(jī)器學(xué)習(xí)導(dǎo)論、深度學(xué)習(xí)實(shí)踐、計(jì)算線性代數(shù)和自然語(yǔ)言處理導(dǎo)論(代碼優(yōu)先)。所有課程都以實(shí)踐為先,強(qiáng)烈推薦大家學(xué)習(xí)這些課。
課程地址:https://www.fast.ai/

fast.ai 平臺(tái)
理論
你在學(xué)習(xí)技術(shù)能力部分時(shí),一定會(huì)遇到一些代碼背后的理論知識(shí)。我推薦大家在學(xué)習(xí)實(shí)踐能力的同時(shí)學(xué)習(xí)理論知識(shí)。我自己采取的方式是:學(xué)習(xí)能夠?qū)崿F(xiàn)某項(xiàng)技術(shù)的代碼(比如 KMeans),在代碼運(yùn)行后深入了解其概念,如慣性(inertia)。scikit-learn 文檔包含 KMeans 算法背后的所有數(shù)學(xué)概念,地址:https://scikit-learn.org/stable/modules/clustering.html#k-means。
這部分將介紹重要的基礎(chǔ)理論知識(shí)。
可汗學(xué)院幾乎涵蓋以下列舉的所有概念,且可免費(fèi)學(xué)習(xí)。你可以在注冊(cè)可汗學(xué)院時(shí)選擇想要學(xué)習(xí)的主題,這樣就可以得到量身定做的理論學(xué)習(xí)路徑了。查看下圖中的所有復(fù)選框,提前了解下文將要列舉的大部分理論元素。

可汗學(xué)院
數(shù)學(xué)
♦ 微積分
微積分的維基百科定義是「一門研究變化的學(xué)問(wèn)」。換句話說(shuō),微積分能夠找出函數(shù)之間的模式,比如導(dǎo)數(shù)可以幫助你理解函數(shù)隨著時(shí)間的變化。
很多機(jī)器學(xué)習(xí)算法利用微積分優(yōu)化模型性能。如果你稍微了解機(jī)器學(xué)習(xí),就一定聽(tīng)說(shuō)過(guò)梯度下降。梯度下降就是:迭代地調(diào)整模型參數(shù)值,以找出能夠最小化成本函數(shù)的局部極小值。梯度下降是微積分在機(jī)器學(xué)習(xí)中的應(yīng)用的絕佳案例。
你需要了解以下知識(shí):
♦ 導(dǎo)數(shù)
幾何定義
計(jì)算函數(shù)的導(dǎo)數(shù)
非線性函數(shù)
♦ 鏈?zhǔn)椒▌t
復(fù)合函數(shù)
復(fù)合函數(shù)的導(dǎo)數(shù)
多個(gè)函數(shù)
♦ 梯度
偏導(dǎo)數(shù)
方向?qū)?shù)
積分(Integrals)
♦ 線性代數(shù)
很多流行的機(jī)器學(xué)習(xí)方法(包括 XGBoost)使用矩陣來(lái)存儲(chǔ)輸入和處理數(shù)據(jù)。矩陣和向量空間、線性方程構(gòu)成了線性代數(shù)。要想了解機(jī)器學(xué)習(xí)方法的工作原理,你需要首先掌握線性代數(shù)知識(shí)。
你需要學(xué)習(xí):
♦ 向量和空間
向量
線性組合
線性相關(guān)和線性無(wú)關(guān)
向量點(diǎn)積和叉積
♦ 矩陣變換
函數(shù)和線性變換
矩陣相乘
反函數(shù)
轉(zhuǎn)置矩陣
統(tǒng)計(jì)學(xué)
以下是你需要了解的重要概念:
♦ 描述性統(tǒng)計(jì)
如何總結(jié)數(shù)據(jù)樣本
不同分布類型
偏斜度、峭度和集中趨勢(shì)(如均值、中位數(shù)、眾數(shù))
依賴性度量,以及變量之間的關(guān)系(如相關(guān)性和協(xié)方差)
♦ 實(shí)驗(yàn)設(shè)計(jì)
假設(shè)檢驗(yàn)
采樣
顯著性檢驗(yàn)
隨機(jī)性
概率
置信區(qū)間和雙總體推斷(two-sample inference)
♦ 機(jī)器學(xué)習(xí)
坡度推斷
線性和非線性回歸
分類
實(shí)踐經(jīng)驗(yàn)
第三部分是實(shí)踐。要想真正掌握上述概念,你需要在類似現(xiàn)實(shí)應(yīng)用的項(xiàng)目中使用這些技能。實(shí)踐過(guò)程中,你會(huì)遇到一些問(wèn)題,如數(shù)據(jù)丟失、數(shù)據(jù)出錯(cuò),并逐漸發(fā)展出該領(lǐng)域的深層專業(yè)能力。這部分將列舉一些可供免費(fèi)獲取實(shí)踐經(jīng)驗(yàn)的地方。
「實(shí)踐目的不僅是實(shí)現(xiàn)潛能,還在于開(kāi)發(fā)潛能,使之前不可能的事變?yōu)榭赡堋_@要求你勇于挑戰(zhàn):走出舒適區(qū),強(qiáng)制大腦或身體不停適應(yīng)!笰nders Ericsson,《Peak: Secrets from the New Science of Expertise》
Kaggle 等競(jìng)賽
機(jī)器學(xué)習(xí)競(jìng)賽是獲取構(gòu)建機(jī)器學(xué)習(xí)模型實(shí)踐經(jīng)驗(yàn)的好去處。它們提供大量數(shù)據(jù)集、待解決問(wèn)題和排行榜。排行榜是衡量現(xiàn)有知識(shí)能否開(kāi)發(fā)出優(yōu)秀模型的重要方式,還能幫助你發(fā)現(xiàn)哪些地方需要改進(jìn)。
除了 Kaggle,還有很多機(jī)器學(xué)習(xí)競(jìng)賽平臺(tái),如 Analytics Vidhya 和 DrivenData。

DrivenData 競(jìng)賽頁(yè)
UCI 機(jī)器學(xué)習(xí)庫(kù)
UCI 機(jī)器學(xué)習(xí)庫(kù)包含大量公共數(shù)據(jù)集。你可以使用這些數(shù)據(jù)集創(chuàng)建自己的數(shù)據(jù)項(xiàng)目,包括數(shù)據(jù)分析和機(jī)器學(xué)習(xí)模型。你甚至可以嘗試使用 web 前端構(gòu)建一個(gè)部署模型。將自己的項(xiàng)目存儲(chǔ)在公共平臺(tái)是個(gè)好辦法,比如 GitHub,這可以幫你創(chuàng)建作品集,展示個(gè)人技能,為未來(lái)的求職打下基礎(chǔ)。

UCI 機(jī)器學(xué)習(xí)庫(kù)
開(kāi)源貢獻(xiàn)
另一個(gè)選擇是為開(kāi)源項(xiàng)目做貢獻(xiàn)。很多 Python 庫(kù)依賴社區(qū)進(jìn)行維護(hù),黑客馬拉松活動(dòng)常常會(huì)在社區(qū)聚會(huì)和會(huì)議時(shí)舉辦,新手也可以參加這類聚會(huì)。參加這些活動(dòng)可以幫你積攢實(shí)踐經(jīng)驗(yàn),并提供一個(gè)向他人學(xué)習(xí)同時(shí)反饋他人的環(huán)境。Numfocus 就是一個(gè)例子。
本文介紹了數(shù)據(jù)科學(xué)學(xué)習(xí)路徑和免費(fèi)學(xué)習(xí)在線課程與教程。在個(gè)人作品集中展示技能是未來(lái)求職的重要工具。我相信教育應(yīng)該惠及每一個(gè)人,至少互聯(lián)網(wǎng)為數(shù)據(jù)科學(xué)學(xué)習(xí)者提供了這樣的機(jī)會(huì)。除了以上列舉的資源,我之前還寫過(guò)一份數(shù)據(jù)科學(xué)推薦閱讀清單,包含 10 本在線免費(fèi)書(shū)籍,可以作為本文的補(bǔ)充。
閱讀清單地址:https://medium.com/vickdata/10-free-data-science-books-you-must-read-in-2019-2d4f32793a51
原文:https://www.jiqizhixin.com/articles/2019-10-20
標(biāo)簽: 數(shù)據(jù) 蒲Ъ
版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。