免费的机器学习入门书籍和Python库

因B站专栏目前只支持内部链接,文中外链均被消掉,详细原文请移步:
- 知乎专栏:https://zhuanlan.zhihu.com/p/642019175
- 博客:https://facaiy.com/misc/2017/06/04/ml-library-of-python.html
在工作生活中,会有同事朋友初入门机器学习,希望推荐下这方面的信息。为了一劳永逸,打算梳理下比较好的书籍,及Python生态圈常用的库,以供参考。
A. 书籍
入门书籍强烈推荐An Introduction to Statistical Learning with Application in R,官网提供了英文原版下载,非常良心。概览目前常用的机器学习算法,一本足矣。唯一的遗憾是这本书都是R代码,建议最好给合Python机器学习库scikit-learn: User Guide,边学边试。
如果不满足,它有本姊妹版The Elements of Statistical Learning: Data Mining, Inference, and Prediction,同样官网有英文版下载。这本书注重数理,难度很高,适合喜欢挑战的朋友。
如果是深度学习,入门可以看斯坦福2017季CS231n深度视觉识别课程视频,讲得很好,清晰明了。书籍建议读Deep Learning,深入浅出,容易读懂,官方提供了html版本,民间基于此制作了PDF版本,热心网友开源翻译了中文版deeplearningbook-chinese(下载PDF阅读)。
B. 必备工具
Anaconda发行版:专注于数据科学的Python发行版。即使Linux/Mac原生自带Python,也请安装使用它。原因是有二:
提供的
conda
包管理器,可以简单又正确地装好后续推荐的库。详见Managing packages。支持建立不同的环境,并自由切换。详见Managing Python。
Jupyter Notebook:这是交互式环境,边写边改边看结果,非常便利。因为Anaconda发行版自带此包,无需安装。输入如下命令即启动:
jupyter notebook
C. 常用库
0.1 数据处理
Pandas:非常好用的数学分析库。它的文档详尽又丰富,强烈建议认真看一遍。官方入门文档:10 Minutes to pandas。
conda install pandas
Seaborn:数据可视化。制图很美观,有利于提升逼格。官方文档也很棒。
conda install seaborn
0.2 机器学习
scikit-learn:流行的机器学习库,单机版。文档详尽,生态丰富,入手门槛较低。
conda install scikit-learn
PySpark:流行的工业用机器学习库,分布式版。官方文档有限,入手门槛较高。python版本易学易用,scala/python版本建议学有余力也好好试试。安装见官方说明。
TensorFlow:大热的深度学习库。1.x版本抽象比较低级,文档散,入手门槛高;2.x版本默认eager模式后易学易用。安装详细见官方文档。
conda install -c conda-forge tensorflow
D. 扩展
0.1 数学运算
Numpy:数值计算库,偏底层。
Scipy:科学计算库,偏底层。
0.2 文字处理
Jieba:中文分词库。
0.3 图像处理
OpenCV:流行的图像处理库。