本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 scikit-learn 进行数据处理
有关演示如何使用提供和维护的 Docker 镜像运行 scikit-learn 脚本来预处理数据和评估模型的示例笔记本,请参 SageMaker 阅 scikit-learn 处理。
此笔记本使用 SageMaker Python SDK 中的SKLearnProcessor
类运行处理作业,以运行你提供的 scikit-learn 脚本。该脚本预处理数据,使用 SageMaker 训练作业训练模型,然后运行处理作业来评估训练后的模型。处理作业将估计模型在生产中的预期效果。
要详细了解如何将 SageMaker Python 开发工具包与处理容器配合使用,请参阅 SageMaker Python 软件开发工具包
以下代码示例演示笔记本如何使用 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 Processing 上使用 Scikit-Learn 并行 SageMaker 处理数据,您可以通过 S3 密钥对输入对象进行分片,方法是在s3_data_distribution_type='ShardedByS3Key'
中进行设置,ProcessingInput
这样每个实例接收的输入对象数量大致相同。