使用 scikit-learn 的数据处理 - Amazon SageMaker
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

使用 scikit-learn 的数据处理

有关演示如何使用 SageMaker 提供和维护的 Docker 映像运行 scikit-learn 脚本以预处理数据和评估模型的示例笔记本,请参阅 scikit-learn 处理。要使用此笔记本,您需要安装适用于 SageMaker 的 处理 Python 开发工具包。

此笔记本使用 SKLearnProcessor Python 开发工具包中的 SageMaker 类运行处理作业,以运行您提供的 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 SageMaker处理 上使用 Scikit-Learn 并行处理数据,您可以通过在 s3_data_distribution_type='ShardedByS3Key' 内部设置 ProcessingInput 来按 S3 键对输入对象分片,以便每个实例接收大约相同数量的输入对象。