使用 scikit-learn 進行資料處理 - Amazon SageMaker

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

使用 scikit-learn 進行資料處理

如需示範如何使用 Docker 映像檔執行 scikit-learn 指令碼的範例筆記本,以預先處理資料和評估模型,請參閱 scikit-learn 處理。 SageMaker 要使用這個筆記本,你需要安裝 SageMaker Python SDK 進行處理。

此筆記本使用 SageMaker Python SDK 中的SKLearnProcessor類別執行處理工作,以執行您提供的 SCIkit 學習指令碼。指令碼會預先處理資料、使用 SageMaker 訓練工作來訓練模型,然後執行處理工作以評估訓練過的模型。處理任務會估計模型在生產過程中的執行方式。

若要進一步了解如何使用 SageMaker Python SDK 搭配處理容器,請參閱 SageMaker Python SDK。如需可用於處理任務之預先建置 Docker 映像檔的完整清單,請參閱 Docker 登錄檔路徑和範例程式碼。

下列程式碼範例示範筆記本如何使用由 SageMaker 提供和維護的 Docker 映像 (而非您自己的 Docker 映像) 來使用 SKLearnProcessor,以執行您自己的 scikit-learn 指令碼。

from sagemaker.sklearn.processing import SKLearnProcessor from sagemaker.processing import ProcessingInput, ProcessingOutput sklearn_processor = SKLearnProcessor(framework_version='0.20.0', role=role, instance_type='ml.m5.xlarge', instance_count=1) sklearn_processor.run(code='preprocessing.py', inputs=[ProcessingInput( source='s3://path/to/my/input-data.csv', destination='/opt/ml/processing/input')], outputs=[ProcessingOutput(source='/opt/ml/processing/output/train'), ProcessingOutput(source='/opt/ml/processing/output/validation'), ProcessingOutput(source='/opt/ml/processing/output/test')] )

若要使用 Amazon Process 上的 Scikit-Learn parallel SageMaker 處理資料,您可以透過在 a 中設定 s3_data_distribution_type='ShardedByS3Key' S3 金鑰來分片輸入物件,ProcessingInput讓每個執行個體接收大約相同數量的輸入物件。