使用 SparkML 和 Scikit-learn 進行特徵處理 - Amazon SageMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 SparkML 和 Scikit-learn 進行特徵處理

使用 Amazon SageMaker 內建演算法或自訂演算法訓練模型之前,您可以使用 Spark 和 scikit-learn 前置處理器來轉換資料和工程功能。

使用 Spark ML 進行特徵處理

您可以從 SageMaker 筆記本使用 AWS Glue 執行 Spark ML 任務,這是無伺服器 ETL(擷取、轉換、載入) 服務。您也可以連線至現有的EMR叢集,以使用 Amazon EMR執行 Spark ML 任務。若要這麼做,您需要 AWS Identity and Access Management (IAM) 角色,以授予從 SageMaker筆記本呼叫 的許可 AWS Glue。

注意

若要查看 Python 和 Spark 版本 AWS Glue 支援哪些版本,請參閱 AWS Glue 版本備註

工程功能之後,您可以將 Spark ML 任務與 封裝並序列化MLeap為容器,您可以將這些MLeap任務新增至推論管道。您不需要使用外部管理的 Spark 叢集。透過此方法,您可以順暢地從幾列的樣本擴大到數百 TB 的資料。同樣的轉換器適用於訓練和推論,因此,您不再需要重複進行預先處理和特徵工程邏輯,或開發一性解決方案以保留模型。透過推論管道,您不需要維護外部基礎設施,您可以直接從資料輸入進行預測。

當您在 上執行 Spark ML 任務時 AWS Glue,Spark ML 管道會序列化為 MLeap 格式。然後,您可以在 SageMaker 推論管道中將任務與 SparkML 模型服務容器搭配使用。MLeap 是機器學習管道的序列化格式和執行引擎。它支援 Spark、Scikit-learn 和 , TensorFlow 用於訓練管道並將其匯出至稱為MLeap搭售套組的序列化管道。您可以將套件還原序列化回 Spark 進行批次模式評分,或還原至MLeap執行期以支援即時API服務。

如需示範如何使用 Spark ML 功能化程序的範例,請參閱在 Amazon 中使用 Apache Spark 訓練 ML 模型EMR並在範例筆記本中部署 SageMaker

使用 Scikit-Learn 進行特徵處理

您可以直接在 Amazon 中執行 scikit-learn 任務並將其封裝到容器中 SageMaker。如需建置 scikit-learn featurizer 模型的 Python 程式碼範例,該模型根據 Fisher 的鳶尾花資料集進行訓練,並根據形態測量預測鳶尾的種類,請參閱IRIS使用 Sagemaker Scikit-learn 進行訓練和預測