
在工作生活中,会有同事朋友初入门机器学习,希望推荐下这方面的信息。为了一劳永逸,打算梳理下比较好的书籍,及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
使用效果见这篇笔记:决策树简介和 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:流行的工业用机器学习库,分布式版。官方文档有限,入手门槛较高。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:流行的图像处理库。