不交學(xué)費也能成為數(shù)據(jù)科學(xué)家,這里有一條免費學(xué)習(xí)路徑
2019-12-23 來源:raincent

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

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

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

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

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

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

UCI 機(jī)器學(xué)習(xí)庫
開源貢獻(xiàn)
另一個選擇是為開源項目做貢獻(xiàn)。很多 Python 庫依賴社區(qū)進(jìn)行維護(hù),黑客馬拉松活動常常會在社區(qū)聚會和會議時舉辦,新手也可以參加這類聚會。參加這些活動可以幫你積攢實踐經(jīng)驗,并提供一個向他人學(xué)習(xí)同時反饋他人的環(huán)境。Numfocus 就是一個例子。
本文介紹了數(shù)據(jù)科學(xué)學(xué)習(xí)路徑和免費學(xué)習(xí)在線課程與教程。在個人作品集中展示技能是未來求職的重要工具。我相信教育應(yīng)該惠及每一個人,至少互聯(lián)網(wǎng)為數(shù)據(jù)科學(xué)學(xué)習(xí)者提供了這樣的機(jī)會。除了以上列舉的資源,我之前還寫過一份數(shù)據(jù)科學(xué)推薦閱讀清單,包含 10 本在線免費書籍,可以作為本文的補(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),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。