免費的機(jī)器學(xué)習(xí)入門書籍和Python庫

因B站專欄目前只支持內(nèi)部鏈接,文中外鏈均被消掉,詳細(xì)原文請移步:
- 知乎專欄:https://zhuanlan.zhihu.com/p/642019175
-?博客:https://facaiy.com/misc/2017/06/04/ml-library-of-python.html
在工作生活中,會有同事朋友初入門機(jī)器學(xué)習(xí),希望推薦下這方面的信息。為了一勞永逸,打算梳理下比較好的書籍,及Python生態(tài)圈常用的庫,以供參考。
A. 書籍
入門書籍強(qiáng)烈推薦An Introduction to Statistical Learning with Application in R,官網(wǎng)提供了英文原版下載,非常良心。概覽目前常用的機(jī)器學(xué)習(xí)算法,一本足矣。唯一的遺憾是這本書都是R代碼,建議最好給合Python機(jī)器學(xué)習(xí)庫scikit-learn: User Guide,邊學(xué)邊試。
如果不滿足,它有本姊妹版The Elements of Statistical Learning: Data Mining, Inference, and Prediction,同樣官網(wǎng)有英文版下載。這本書注重數(shù)理,難度很高,適合喜歡挑戰(zhàn)的朋友。
如果是深度學(xué)習(xí),入門可以看斯坦福2017季CS231n深度視覺識別課程視頻,講得很好,清晰明了。書籍建議讀Deep Learning,深入淺出,容易讀懂,官方提供了html版本,民間基于此制作了PDF版本,熱心網(wǎng)友開源翻譯了中文版deeplearningbook-chinese(下載PDF閱讀)。
B. 必備工具
Anaconda發(fā)行版:專注于數(shù)據(jù)科學(xué)的Python發(fā)行版。即使Linux/Mac原生自帶Python,也請安裝使用它。原因是有二:
提供的
conda
包管理器,可以簡單又正確地裝好后續(xù)推薦的庫。詳見Managing packages。支持建立不同的環(huán)境,并自由切換。詳見Managing Python。
Jupyter Notebook:這是交互式環(huán)境,邊寫邊改邊看結(jié)果,非常便利。因為Anaconda發(fā)行版自帶此包,無需安裝。輸入如下命令即啟動:
jupyter notebook
C. 常用庫
0.1 數(shù)據(jù)處理
Pandas:非常好用的數(shù)學(xué)分析庫。它的文檔詳盡又豐富,強(qiáng)烈建議認(rèn)真看一遍。官方入門文檔:10 Minutes to pandas。
conda install pandas
Seaborn:數(shù)據(jù)可視化。制圖很美觀,有利于提升逼格。官方文檔也很棒。
conda install seaborn
0.2 機(jī)器學(xué)習(xí)
scikit-learn:流行的機(jī)器學(xué)習(xí)庫,單機(jī)版。文檔詳盡,生態(tài)豐富,入手門檻較低。
conda install scikit-learn
PySpark:流行的工業(yè)用機(jī)器學(xué)習(xí)庫,分布式版。官方文檔有限,入手門檻較高。python版本易學(xué)易用,scala/python版本建議學(xué)有余力也好好試試。安裝見官方說明。
TensorFlow:大熱的深度學(xué)習(xí)庫。1.x版本抽象比較低級,文檔散,入手門檻高;2.x版本默認(rèn)eager模式后易學(xué)易用。安裝詳細(xì)見官方文檔。
conda install -c conda-forge tensorflow
D. 擴(kuò)展
0.1 數(shù)學(xué)運算
Numpy:數(shù)值計算庫,偏底層。
Scipy:科學(xué)計算庫,偏底層。
0.2 文字處理
Jieba:中文分詞庫。
0.3 圖像處理
OpenCV:流行的圖像處理庫。