使用 Spark ML 和 Scikit-learn 的特征处理 - Amazon SageMaker

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Spark ML 和 Scikit-learn 的特征处理

在使用 Amazon SageMaker 内置算法或自定义算法训练模型之前,您可以使用 Spark 和 scikit-learn 预处理器来转换数据和设计功能。

使用 Spark ML 的特征处理

您可以使用 SageMaker 笔记本上的无服务器ETL(提取、转换、加载)服务 AWS G lue 运行 Spark ML 作业。您还可以连接到现有EMR集群,通过亚马逊运行 Spark ML 作业EMR。为此,你需要一个 AWS Identity and Access Management (IAM) 角色,该角色可以授予从你的 SageMaker笔记本向进行呼叫的权限 AWS Glue。

注意

要了解 AWS Glue 支持哪些 Python 和 Spark 版本,请参阅 AWS Glue 发行说明

设计功能后,您可以将 Spark ML 作业打包并序列化MLeap到MLeap容器中,然后将其添加到推理管道中。您不需要使用外部管理的 Spark 集群。使用此方法,您可以从几个示例行无缝扩展到数 TB 的数据。相同的转换器可同时在训练和推理期间使用,因此您不需要重复预处理和特征设计逻辑,或者开发一次性解决方案来保存这些模型。借助推导管道,您不需要维护外部基础设施,可以直接利用数据输入进行预测。

当你在上运行 Spark ML 作业时 AWS Glue,Spark ML 管道会被序列化为MLeap格式。然后,您可以将该作业与 SageMaker 推理管道中的 SparkML 模型服务容器一起使用。MLeap是机器学习管道的序列化格式和执行引擎。它支持 Spark、Scikit-Learn 以及 TensorFlow 用于训练管道并将其导出到名为 Bundle 的序列化管道。MLeap您可以将捆绑包反序列化回 Spark 以进行批处理模式评分,也可以反序列化到MLeap运行时以支持实时服务。API

有关展示如何使用 Spark ML 进行特征处理的示例,请参阅在亚马逊中使用 Apache Spark 训练机器学习模型EMR并在 SageMaker示例笔记本中部署

使用 Scikit-Learn 的特征处理

您可以直接在亚马逊中运行 scikit-learn 任务并将其打包到容器中。 SageMaker有关构建 scikit-learn 特征器模型的 Python 代码示例,该模型在 Fisher's Iris 花数据集上训练并根据形态学测量预测虹膜种类,请参阅使用 Sagemaker Scikit-Learn 进行IRIS训练和预测。