機器學習和數據科學攻略
1 學習Python、數據科學工具和機器學習概念
- 人工智能要素 – 人工智能和機器學習主要概念概述
- Coursera上的Python教程 – 從頭學習Python
- 通過freeCodeCamp學習Python – 一個視頻涵蓋了 Python 所有主要概念
- Corey Schafer的Anaconda教程 – 一個視頻學會 Anaconda(數據科學和機器學習需要的配置環境)
- Dataquest的新手Jupyter Notebook教程 – 一篇文章學會啓動和運行Jupyter Notebook
- Corey Schafer的Jupyter Note教程 – 一個視頻學會使用 Jupyter Notebook
2 學習通過Pandas、Numpy和Matplotlib進行數據分析、操作和可視化
- Cousera上的Python應用數據科學 – 開始打磨數據科學方向的Python 技能
- 10分鐘入門pandas – 快速概覽pandas庫及其部分最有用的函數
- Codebasics的Python pandas教程 – 該YouTube系列介紹了pandas的所有主要功能
- freeCodeCamp的NumPy教程 – 一個YouTube視頻學會NumPy
- Sentdex的Matplotlib教程 – YouTube系列助你學會Matplotlib所有最有用的功能
3 藉助 scikit-learn 學習機器學習
- Data School的基於scikit-learn的Python機器學習 – 一個YouTube播放列表教你scikit-learn的所有主要函數
- Daniel Bourk 對探索性數據分析的簡要介紹 – 把你在上述兩個步驟中學到的知識融合在一個項目中,提供代碼和視頻,助你開始第一個Kaggle競賽。
- Daniel Formosso的基於scikit-learn的探索性數據分析筆記 – 以上資源的更深入版本,附帶了一個實踐上述內容的端到端項目
4 學習深度學習神經網絡
- Cousera上Andrew Ng的deeplearning.ai – 商業上最成功的從業者之一講授的深度學習課程
- Jeremy Howard的fast.ai深度學習課程 – 工業界最好的實踐者之一講授的深度學習實際操作方法
5 其他課程和書籍
在你熟悉瞭如何使用不同的機器學習和深度學習框架之後,你可以嘗試通過從頭開始構建它們來鞏固你的知識。你不必總是在生產或從事機器學習時這樣做,但是從內部瞭解事情是如何工作的將有助於你建立自己的工作。
- Daniel Bourke的如何開始你自己的機器學習工程 – 開始你自己的工程可能會很難,這篇文章可以給你一些指引
- Jeremy Howard的fast.ai深度學習基礎 – 自上而下學習後,本課程將幫助你從下往上填補空白
- Andrew Trask的Grokking Deep Learning – 這本書將教你如何從頭開始構建神經網絡,以及爲什麼你應該知道如何構建
- Daniel Bourke推薦的機器學習書籍 – 該YouTube視頻整理了一些機器學習最佳書籍
6 答疑
6.1 每一步需要多長時間?
你可能會花6個月或更長的時間。彆着急,學習新事物需要時間。作爲一名數據科學家或機器學習工程師,你正在培養的主要技能是如何針對數據提出好的問題,然後使用你的工具來嘗試尋找答案。
有時候你會覺得自己什麼都沒學到。甚至倒退。忽略它。不要以天爲單位來衡量,看看你一年後有什麼樣的進步。
6.2 我在哪裏可以學到這些技能?
我在上面列出了一些資源,它們都是在線的,而且大部分都是免費的,類似的資源還有很多。
DataCamp 是一個很好學習網站。另外,我的Machine Learning and Artificial Intelligence resources database整理了免費和付費的學習資料。
記住,作爲數據科學家或機器學習工程師,很大一部分工作是要解決問題。通過你的第一個作業探索這裏的每一個步驟,並創建你自己的課程來幫助學習。
如果你想知道一個自我引導的機器學習課程的例子是什麼樣子的,看看我的Self-Created AI Masters Degree。這是我在過去9個月內從零編碼變成機器學習工程師的過程。它不是完美的,但是我的真實經歷,因此你可以試試。
6.3 統計怎麼辦?數學怎麼辦?概率呢?
實踐過程中你會學到這些東西的。先從代碼開始。把代碼運行起來。在運行代碼之前,嘗試學習所有的統計、數學、概率知識,就像是在試圖煮沸大海。它會讓你退縮。
如果代碼不運行,統計、數學和概率都不重要。先運行起來,然後用你的研究技巧來驗證它是否正確。
6.4 證書?
證書很好,但你不是爲了證書而學習,而是爲了提高技能。不要和我犯同樣的錯誤,不要認爲證書越多代表技能越多,並不是這樣的。通過上述課程和資源建立知識基礎,然後通過自己的項目完善專業知識(這些是課程無法傳授的知識)。