Automatisieren Sie die Datenvorbereitung in SageMaker Canvas - Amazon SageMaker

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Automatisieren Sie die Datenvorbereitung in SageMaker Canvas

Nachdem Sie Ihre Daten im Datenfluss transformiert haben, können Sie die Transformationen in Ihre Workflows für maschinelles Lernen exportieren. Wenn Sie Ihre Transformationen exportieren, erstellt SageMaker Canvas ein Jupyter-Notizbuch. Sie müssen das Notizbuch in Amazon SageMaker Studio Classic ausführen. Informationen zu den ersten Schritten mit Studio Classic erhalten Sie von Ihrem Administrator.

Automatisieren Sie die Datenaufbereitung mithilfe von Pipelines

Wenn Sie umfangreiche Workflows für maschinelles Lernen (ML) erstellen und bereitstellen möchten, können Sie Pipelines verwenden, um Workflows zu erstellen, mit denen Jobs verwaltet und bereitgestellt SageMaker werden. Mit Pipelines können Sie Workflows erstellen, die Ihre SageMaker Datenvorbereitungs-, Modelltrainings- und Modellbereitstellungsaufträge verwalten. Mithilfe von Pipelines können Sie die SageMaker Algorithmen von Erstanbietern verwenden. Weitere Informationen zu Pipelines finden Sie unter Pipelines. SageMaker

Wenn Sie einen oder mehrere Schritte aus Ihrem Datenfluss in Pipelines exportieren, erstellt Data Wrangler ein Jupyter-Notebook, mit dem Sie eine Pipeline definieren, instanziieren, ausführen und verwalten können.

Verwenden Sie zur Erstellung einer Pipeline ein Jupyter Notebook

Gehen Sie wie folgt vor, um ein Jupyter-Notebook zu erstellen, um Ihren Data Wrangler-Flow in Pipelines zu exportieren.

Verwenden Sie das folgende Verfahren, um ein Jupyter-Notebook zu generieren und es auszuführen, um Ihren Data Wrangler-Flow nach Pipelines zu exportieren.

  1. Wählen Sie das + neben dem Knoten aus, die Sie exportieren möchten.

  2. Wählen Sie Datenfluss exportieren aus.

  3. Wählen Sie Pipelines (über Jupyter Notebook).

  4. Laden Sie das Jupyter-Notizbuch herunter oder kopieren Sie es an einen Amazon S3 S3-Speicherort. Wir empfehlen, es an einen Amazon S3 S3-Speicherort zu kopieren, auf den Sie in Studio Classic zugreifen können. Wenden Sie sich an Ihren Administrator, wenn Sie Hilfe zu einem geeigneten Standort benötigen.

  5. Führen Sie das Jupyter Notebook aus.

Sie können das von Data Wrangler erstellte Jupyter Notebook verwenden, um eine Pipeline zu definieren. Die Pipeline beinhaltet die Datenverarbeitungsschritte, die durch Ihren Data-Wrangler-Flow festgelegt werden.

Sie können zu Ihrer Pipeline weitere Schritte hinzufügen, indem Sie zu der steps Liste im folgenden Code im Notebook Schritte hinzufügen:

pipeline = Pipeline( name=pipeline_name, parameters=[instance_type, instance_count], steps=[step_process], #Add more steps to this list to run in your Pipeline )

Weitere Informationen zur Definition von Pipelines finden Sie unter SageMakerPipeline definieren.

Automatisieren Sie die Datenvorbereitung mithilfe eines Inferenzendpunkts

Verwenden Sie Ihren Data Wrangler-Flow, um Daten zum Zeitpunkt der Inferenz zu verarbeiten, indem Sie aus Ihrem Data Wrangler-Flow eine SageMaker serielle Inferenz-Pipeline erstellen. Eine Inference Pipeline besteht aus einer Reihe von Schritten, die dazu führen, dass ein trainiertes Modell Vorhersagen zu neuen Daten trifft. Eine serielle Inference Pipeline innerhalb von Data Wrangler transformiert die Rohdaten und stellt sie dem Machine-Learning-Modell zur Verfügung, damit es eine Vorhersage trifft. Sie erstellen, führen und verwalten die Inferenz-Pipeline von einem Jupyter-Notebook in Studio Classic aus. Weitere Informationen zum Zugriff auf das Notebook finden Sie unter Verwenden Sie ein Jupyter-Notizbuch, um einen Inferenzendpunkt zu erstellen.

Im Notebook können Sie entweder ein Machine-Learning-Modell trainieren oder eines angeben, das Sie bereits trainiert haben. Sie können entweder Amazon SageMaker Autopilot verwenden oder XGBoost das Modell anhand der Daten trainieren, die Sie in Ihrem Data Wrangler-Flow transformiert haben.

Die Pipeline bietet die Möglichkeit, entweder eine Batch- oder Echtzeit-Inferenz vorzunehmen. Sie können den Data Wrangler-Flow auch zu Model Registry hinzufügen. SageMaker Weitere Informationen über Hosting-Modelle finden Sie unter Multimodell-Endpunkte.

Wichtig

Sie können Ihren Data-Wrangler-Flow nicht zu einem Inference-Endpunkt exportieren, wenn er die folgenden Transformationen aufweist:

  • Join

  • Verketten

  • Gruppierung nach

Wenn Sie Ihre Daten mit Hilfe der vorangegangenen Transformationen vorbereiten müssen, gehen Sie wie folgt vor.

So bereiten Sie Ihre Daten für die Inferenz mit nicht unterstützten Transformationen vor
  1. Erstellen Sie einen Data-Wrangler-Flow.

  2. Wenden Sie die vorangegangenen Transformationen an, die nicht unterstützt werden.

  3. Exportieren Sie die Daten in einen Bucket von Amazon S3.

  4. Erstellen Sie einen separaten Data-Wrangler-Flow.

  5. Importieren Sie die Daten, die Sie aus dem vorangegangenen Flow exportiert haben.

  6. Wenden Sie die übrigen Transformationen an.

  7. Erstellen Sie mit dem von uns bereitgestellten Jupyter Notebook eine serielle Inference Pipeline.

Informationen zum Exportieren Ihrer Daten in einen Bucket von Amazon S3 finden Sie unter Daten exportieren. Informationen zum Öffnen des Jupyter Notebooks, mit dem die serielle Inference Pipeline erstellt wird, finden Sie unter Verwenden Sie ein Jupyter-Notizbuch, um einen Inferenzendpunkt zu erstellen.

Data Wrangler ignoriert Transformationen, die zum Zeitpunkt der Inferenz Daten entfernen. Data Wrangler ignoriert z. B. die Transformation Fehlende Werte behandeln, wenn Sie die Konfiguration Drop missing verwenden.

Wenn Sie Transformationen an Ihren gesamten Datensatz angepasst haben, werden die Transformationen in Ihre Inference Pipeline übertragen. Wenn Sie z. B. fehlende Werte mit Hilfe des Medianwertes zugeschrieben haben, wird der Medianwert aus der Neuanpassung der Transformation auf Ihre Inferenzanforderungen angewendet. Sie können entweder die Transformationen aus Ihrem Data Wrangler-Flow neu anpassen, wenn Sie das Jupyter-Notebook verwenden oder wenn Sie Ihre Daten in eine Inferenzpipeline exportieren.

Die serielle Inference Pipeline unterstützt die folgenden Datentypen für die Eingabe- und Ausgabezeichenfolgen. Für jeden Datentyp gibt es eine Reihe von Anforderungen.

Unterstützte Datentypen
  • text/csv— CSV der Datentyp für Zeichenketten

    • Die Zeichenfolge darf keinen Header haben.

    • Die für die Inference Pipeline verwendeten Features müssen dieselbe Reihenfolge haben wie die Features im Trainingsdatensatz.

    • Die Features muss durch Komma getrennt sein.

    • Datensätze müssen durch ein Zeilenumbruchzeichen getrennt sein.

    Im Folgenden finden Sie ein Beispiel für eine gültig formatierte CSV Zeichenfolge, die Sie in einer Inferenzanforderung angeben können.

    abc,0.0,"Doe, John",12345\ndef,1.1,"Doe, Jane",67890
  • application/json— der Datentyp für Zeichenketten JSON

    • Die im Datensatz für die Inference Pipeline verwendeten Features müssen die gleiche Reihenfolge haben wie die Features im Trainingsdatensatz.

    • Die Daten müssen ein bestimmtes Schema haben. Sie definieren ein Schema als instances Einzelobjekt mit einer Reihe von features. Jedes features-Objekt stellt eine Beobachtung dar.

    Im Folgenden finden Sie ein Beispiel für eine gültig formatierte JSON Zeichenfolge, die Sie in einer Inferenzanforderung angeben können.

    { "instances": [ { "features": ["abc", 0.0, "Doe, John", 12345] }, { "features": ["def", 1.1, "Doe, Jane", 67890] } ] }

Verwenden Sie ein Jupyter-Notizbuch, um einen Inferenzendpunkt zu erstellen

Gehen Sie wie folgt vor, um Ihren Data-Wrangler-Flow zu exportieren, um eine Inference Pipeline zu erstellen.

Gehen Sie wie folgt vor, um mithilfe eines Jupyter Notebooks eine Inference Pipeline zu erstellen.

  1. Wählen Sie das + neben dem Knoten aus, die Sie exportieren möchten.

  2. Wählen Sie Datenfluss exportieren.

  3. Wählen Sie SageMaker Inference Pipeline (über Jupyter Notebook).

  4. Laden Sie das Jupyter-Notizbuch herunter oder kopieren Sie es an einen Amazon S3 S3-Speicherort. Wir empfehlen, es an einen Amazon S3 S3-Speicherort zu kopieren, auf den Sie in Studio Classic zugreifen können. Wenden Sie sich an Ihren Administrator, wenn Sie Hilfe zu einem geeigneten Standort benötigen.

  5. Führen Sie das Jupyter Notebook aus.

Wenn Sie das Jupyter Notebook ausführen, erstellt es einen Inferenz-Flow-Artefakt. Ein Inferenz-Flow-Artefakt ist eine Data-Wrangler-Flow-Datei mit zusätzlichen Metadaten, die zur Erstellung der seriellen Inference Pipeline verwendet werden. Der exportierte Knoten beinhaltet alle Transformationen der vorangehenden Knoten.

Wichtig

Data Wrangler braucht den Inference-Flow-Artefakt zum Ausführen der Inference Pipeline. Sie können Ihre eigene Flow-Datei nicht als Artefakt verwenden. Sie müssen sie anhand des o.a. Verfahrens erstellen.

Automatisieren Sie die Datenvorbereitung mit Python-Code

Gehen Sie wie folgt vor, um alle Schritte in Ihrem Datenfluss in eine Python-Datei zu exportieren, die Sie manuell in jeden Datenverarbeitungs-Workflow integrieren können.

Verwenden Sie das folgende Verfahren, um ein Jupyter-Notebook zu generieren und es auszuführen, um Ihren Data Wrangler-Flow in Python-Code zu exportieren.

  1. Wählen Sie das + neben dem Knoten aus, die Sie exportieren möchten.

  2. Wählen Sie Datenfluss exportieren aus.

  3. Wählen Sie Python-Code aus.

  4. Laden Sie das Jupyter-Notizbuch herunter oder kopieren Sie es an einen Amazon S3 S3-Speicherort. Wir empfehlen, es an einen Amazon S3 S3-Speicherort zu kopieren, auf den Sie in Studio Classic zugreifen können. Wenden Sie sich an Ihren Administrator, wenn Sie Hilfe zu einem geeigneten Standort benötigen.

  5. Führen Sie das Jupyter Notebook aus.

Sie müssen das Python-Skript ggf. so konfigurieren, dass es in Ihrer Pipeline ausgeführt werden kann. Wenn Sie beispielsweise eine Spark-Umgebung ausführen, stellen Sie sicher, dass Sie das Skript in einer Umgebung ausführen, die über Berechtigungen für den Zugriff auf AWS Ressourcen verfügt.