训练机器学习模型

Apache Spark(Microsoft Fabric 的一部分)支持使用大数据进行机器学习。 通过 Apache Spark,可以对大量结构化、非结构化和快速移动的数据构建有价值的见解。 当使用 Microsoft Fabric 中的 Apache Spark 训练机器学习模型时,有几个可用的开放源代码库选项:Apache Spark MLlib、SynapseML 和其他。

Apache SparkML 和 MLlib

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

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

注意

有关 SparkML 模型创建的详细信息,请访问使用 Apache Spark MLlib 训练模型资源。

适用于 Apache Spark 的 Microsoft Fabric 运行时包括几个常用的开源包,它们用于训练机器学习模型。 这些库提供了可重用的代码,可以在程序或项目中包含该代码。 运行时包括这些相关的机器学习库和其他库:

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

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

  • PyTorchTensorflow 是功能强大的 Python 深度学习库。 使用这些库,可以将池中的执行器数量设置为零,以构建单机模型。 尽管该配置不支持 ApacheSpark,但它是创建单机模型的一种简单、经济高效的方法。

SynapseML

SynapseML 开放源代码库(以前称为 MMLSpark)简化了高度可缩放机器学习 (ML) 管道的创建。 有了它,数据科学家能够更高效地使用 Spark,因为该库提高了试验率,并在大型数据集上应用了包括深度学习在内的尖端机器学习技术。

在生成可缩放的 ML 模型时,SynapseML 提供高于 SparkML 低级别 API 的层。 这些 API 涵盖字符串编制索引、特征向量程序集、将数据强制转换为适合机器学习算法的布局等。 SynapseML 库简化了可在 PySpark 中生成模型的这些任务以及其他常见任务。

本文概述了可用于在 Microsoft Fabric 中的 Apache Spark 中训练机器学习模型的各种选项。 有关模型训练的详细信息,请访问以下资源: