使用 scikit-learn 进行数据处理
有关演示如何使用 SageMaker 提供并维护的 Docker 映像运行 scikit-learn 脚本以预处理数据和评估模型的示例笔记本,请参阅 scikit-learn 处理
此笔记本使用来自 SageMaker Python SDK 的 SKLearnProcessor
类运行处理作业,以运行您提供的 scikit-learn 脚本。此脚本将预处理数据,使用 SageMaker 训练作业训练模型,然后运行处理作业以评估经过训练的模型。处理作业将估计模型在生产中的预期效果。
要了解有关将 SageMaker Python SDK 与处理容器结合使用的更多信息,请参阅 SageMaker Python SDK
以下代码示例演示了此笔记本如何使用 SKLearnProcessor
和 SageMaker 提供并维护的 Docker 映像(而不是您自己的 Docker 映像),运行您自己的 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 SageMaker Processing 上使用 scikit-learn 并行处理数据,您可以通过在 ProcessingInput
内部设置 s3_data_distribution_type='ShardedByS3Key'
,按 S3 键对输入对象分片,以便每个实例接收数量大致相同的输入对象。