训练机器学习模型

你可以使用 Microsoft Fabric 中的 Apache Spark 通过大数据进行机器学习,以便从大量结构化、非结构化和快速移动的数据中获得有价值的见解。 使用 Microsoft Fabric 中的 Apache Spark 训练机器学习模型时,有以下几个选项可供选择:Apache Spark MLlib、SynapseML 和各种其他的开源库。

Apache SparkML 和 MLlib

Microsoft Fabric 中的 Apache Spark 提供了一个统一的开源并行数据处理框架,支持使用内存中处理来大幅提升大数据分析性能。 Spark 处理引擎是专为速度、易用性和复杂分析打造的产品。 Spark 的内存中分布式计算功能使其成为机器学习和图形计算中使用的迭代算法的最佳选择。

有两个可缩放的机器学习库为此分布式环境带来了算法建模功能,这两个库是:MLlib 和 SparkML。 MLlib 包含构建在 RDD 基础之上的原始 API。 SparkML 是一个较新的包,提供构建在 DataFrames 基础之上的更高级 API,用于构造 ML 管道。 SparkML 目前尚不支持 MLlib 的所有功能,但正在取代 MLlib 成为 Spark 的标准机器学习库。

注意

可以在使用 Apache Spark MLlib 训练模型一文中详细了解如何创建 SparkML 模型。

适用于 Apache Spark 的 Microsoft Fabric 运行时包括几个常用的开源包,它们用于训练机器学习模型。 这些库提供了可重用的代码,你可能想要在程序或项目中包含这些代码。 默认附带的一些相关机器学习库包括:

  • Scikit-learn 是用于经典 ML 算法的最受欢迎的单节点机器学习库之一。 Scikit-learn 支持大多数监督式和非监督式学习算法,也可用于数据挖掘和数据分析。

  • XGBoost 是一个常用的机器学习库,其中包含用于训练决策树和随机林的优化算法。

  • PyTorchTensorflow 是功能强大的 Python 深度学习库。 可以使用这些库来构建单机模型,方法是将池中的执行程序数设置为零。 尽管 Apache Spark 在此配置下不起作用,但这是创建单机模型的一种简单且经济高效的方法。

SynapseML

SynapseML(以前称为 MMLSpark)是一个开源库,能简化可大规模缩放的机器学习 (ML) 管道的创建。 该库旨在让数据科学家更高效地使用 Spark,提高试验成功率,以及将包括深度学习在内的尖端机器学习技术应用于大型数据集。

在生成可缩放 ML 模型(例如编制字符串的索引、强制数据进入机器学习算法预期的布局中、组合特征矢量)时,SynapseML 可以在 SparkML 的低级别 API 基础上提供一个层。 SynapseML 库简化了可在 PySpark 中生成模型的这些任务以及其他常见任务。

本文概述了在 Microsoft Fabric 中的 Apache Spark 中训练机器学习模型的各种选项。 若要详细了解模型训练,请参阅以下教程: