整理:机器学习入门书籍和Python库
update: 2017-06-08
在工作生活中,会有同事朋友初入门机器学习,希望推荐下这方面的信息。为了一劳永逸,打算梳理下比较好的书籍,及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,深入浅出,比较容易读懂,非官方PDF版。
B. 必备工具
-
Anaconda发行版:专注于数据科学的Python发行版。即使Linux/Mac原生自带Python,也请安装使用它。原因是有二:
-
提供的
conda
包管理器,可以简单又正确地装好后续推荐的库。详见Managing packages。 -
支持建立不同的环境,并自由切换。详见Managing Python。
-
-
Jupyter Notebook:这是交互式环境,边写边改边看结果,非常便利。因为Anaconda发行版自带此包,无需安装。输入如下命令即启动:
jupyter notebook
使用效果见这篇笔记:决策树简介和 Python 实现。
C. 常用库
0.1 数据处理
- Pandas:非常好用的数学分析库。它的文档详尽又丰富,强烈建议认真看一遍。
- 10 Minutes to pandas:官方入门文档。
# 安装 conda install pandas
- Seaborn:数据可视化。制图很美观,有利于提升逼格。
- 官方文档也很棒。
# 安装 conda install seaborn
0.2 机器学习
-
scikit-learn:流行的机器学习库,单机版。文档详尽,生态丰富,入手门槛较低。
# 安装 conda install scikit-learn
- PySpark:流行的工业用机器学习库,分布式版。官方文档有限,入手门槛较高。
- 安装见官方说明
- TensorFlow:大热的深度学习库。抽象比较低级,文档散,入手门槛高。
- 安装,详细见官方文档。
conda install -c conda-forge tensorflow
D. 扩展
0.1 数学运算
0.2 文字处理
- Jieba:中文分词库。
0.3 图像处理
- OpenCV:流行的图像处理库。