Traitement de données avec scikit-learn - Amazon SageMaker

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Traitement de données avec scikit-learn

Pour obtenir un exemple de bloc-notes qui montre comment exécuter des scripts scikit-learn à l'aide d'une image Docker fournie et maintenue par SageMaker pour prétraiter les données et évaluer les modèles, veuillez consulter scikit-learn Processing. Pour utiliser ce bloc-notes, vous devez installer le SDK SageMaker Python for Processing.

Ce bloc-notes exécute une tâche de traitement à l'aide de la classe SKLearnProcessor du SDK SageMaker Python pour exécuter un script scikit-learn que vous fournissez. Le script prétraite les données, entraîne un modèle à l'aide d'une tâche d'entraînement SageMaker, puis exécute une tâche de traitement pour évaluer le modèle entraîné. La tâche de traitement évalue la performance attendue du modèle en production.

Pour en savoir plus sur l'utilisation du SDK SageMaker Python avec des conteneurs Processing, veuillez consulter SageMaker Python SDK (SDK SageMaker Python). Pour obtenir la liste complète des images Docker prédéfinies disponibles pour les tâches de traitement, consultez Chemins de registre Docker et exemple de code.

L'exemple de code suivant montre comment le bloc-notes utilise SKLearnProcessor pour exécuter votre propre script scikit-learn à l'aide d'une image Docker fournie et maintenue par SageMaker, au lieu de votre propre image Docker.

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')] )

Pour traiter les données en parallèle à l'aide de Scikit-Learn sur Amazon SageMaker Processing, vous pouvez répartir les objets d'entrée par clé S3 en définissant s3_data_distribution_type='ShardedByS3Key' dans une ProcessingInput de sorte que chaque instance reçoive environ le même nombre d'objets d'entrée.