软件生态与本书内容

2.5. 软件生态与本书内容#

Python 软件生态#

Python 已经成为数据科学首选的编程语言。图 2.12 是一些主流的数据科学工具:

  • NumPy 和 pandas 可以进行科学计算和数据处理。

  • PyTorch 和 TensorFlow 可以实现神经网络训练和推理。

  • scikit-learn 、XGBoost、LightGBM 等库可以实现常见机器学习算法。

../_images/python-ecosystem.svg

图 2.12 Python 数据科学软件生态#

本书内容#

本书假定读者已经对数据科学有所了解,已经使用过 pandas、XGBoost、PyTorch 等 Python 数据科学软件,希望使用一些工具加速数据科学,如果对数据科学不熟悉,可以阅读以下书籍。

  • Wes McKinney(pandas 项目发起人)撰写的《利用 Python 进行数据分析》 [McKinney, 2022] 是一本非常优秀的数据科学入门书籍,也是 pandas 框架的入门书籍。

  • 周志华老师的《机器学习》 [周志华, 2016] 是机器学习理论的入门教科书,是了解绝大多数机器学习算法的必备书籍。

  • 亚马逊科学家阿斯顿·张、李沐等人的《动手学深度学习》 [Zhang et al., 2019] 从算法原理到编程实践,深入浅出地讲解了常见人工智能算法及其应用,是入门深度学习的最佳实战书籍。

Dask、Ray、Xorbits 和 mpi4py 是对数据科学生态的拓展,将单机任务横向扩展到集群。这些框架有很多组件,表 2.2 概括了这些框架组件所对应的数据科学生命周期、

表 2.2 数据科学生命周期与框架组件#

生命周期

框架组件

数据处理

Dask DataFrame、Dask Array、Ray Data、Modin、Xorbits Data

模型训练

Dask-ML、Ray Train、RLib、mpi4py

超参数调优

Dask-ML、Ray Tune

模型部署

Ray Serve、Xinference

本书案例#

本书提供了大量实战案例,所有案例均可复现。读者可以下载本书提供的电子资料,在本地或者在集群上安装部署各个软件,使用 Jupyter Notebook 运行。 数据集方面,本书使用了出租车和飞机起降等数据集,这些数据集被多个地方使用。为方便读者运行案例时自动下载、解压缩,本书将数据集加载代码封装成了函数,放在 utils.py 中,出租车数据集的函数为 nyc_taxi,飞机起降数据集的函数为 nyc_flights