5. Dask 机器学习#
本章将聚焦于 Dask 机器学习,主要介绍 Dask-ML 等库的使用。Dask-ML 基于 Dask 的分布式计算能力,面向机器学习应用,可以无缝对接 scikit-learn、XGBoost 等机器学习库。相比之下,Dask-ML 更适合传统机器学习的训练和推理,比如回归、决策树等等,深度学习相关的训练和推理更多基于 PyTorch 或 TensorFlow 等框架。
总结起来,Dask 和 Dask-ML 适合的场景有以下几类:
原始数据无法放到单机内存中,需要进行分布式数据预处理和特征工程;
训练数据和模型可放到单机内存中,超参数调优需要多机并行;
训练数据无法放到单机内存中,需要进行分布式训练。
一方面,Dask 社区主要集中在 Dask DataFrame 的开发上,对于 Dask-ML 以及分布式训练的优化投入相对较少;另一方面,深度学习已经对传统机器学习算法产生了显著影响,而 Dask 在设计之初并未专门针对深度学习场景。读者在阅读本章并了解 Dask 在机器学习方面的能力之后,可以根据个人的实际需求选择最适合自己的框架。