Erste Schritte mit Data Wrangler - 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.

Erste Schritte mit Data Wrangler

Amazon SageMaker Data Wrangler ist ein Feature in Amazon SageMaker Studio. In diesem Abschnitt erfahren Sie, wie Sie auf Data Wrangler zugreifen und diese verwenden. Gehen Sie wie folgt vor:

  1. Schließe jeden Schritt ab inVoraussetzungenaus.

  2. Folgen Sie dem Verfahren unterZugreifen auf -Daten Wranglerum Data Wrangler zu verwenden.

Voraussetzungen

Um Data Wrangler verwenden zu können, müssen Sie die folgenden Voraussetzungen erfüllen.

  1. Um Data Wrangler nutzen zu können, benötigen Sie Zugriff auf einem5.4xlargeAmazon Elastic Compute Cloud (Amazon EC2) -Instance. Informationen zum Anzeigen Ihrer Kontingenterhöhung und ggf. eine Kontingenterhöhung finden Sie unterAWSService Quotasaus.

  2. Konfigurieren Sie die erforderlichen Berechtigungen, die unterSicherheit und Berechtigungenaus.

Um Data Wrangler verwenden zu können, benötigen Sie eine aktive Studio-Instanz. Informationen zum Starten einer neuen -Instance finden Sie unterOnboardauftrag bei Amazon SageMaker -Domäneaus. Wenn Ihre Studio-Instanz istBereitverwenden Sie die Anweisungen unterZugreifen auf -Daten Wrangleraus.

Zugreifen auf -Daten Wrangler

In der folgenden Vorgehensweise wird davon ausgegangen, dass Sie dieVoraussetzungenaus.

So greifen Sie auf Data Wrangler in Studio zu:

  1. Wählen Sie neben dem Benutzer, den Sie zum Starten von Studio verwenden möchtenÖffnen Sie Studioaus.

  2. Wenn Studio geöffnet wird, wählen Sie das+Unterschreiben Sie auf derNeuer Datenfluss-Karte unterML-Aufgaben und Komponentenaus. Dadurch wird ein neues Verzeichnis in Studio mit einer Flow-Datei erstellt, die Ihren Datenfluss enthält. Die Flow-Datei wird automatisch in Studio geöffnet.

    Sie können einen neuen Flow auch erstellen, indem SieDateidannNeuund wählenDaten-Wrangler-Flowin der oberen Navigationsleiste.

  3. (Optional) Benennen Sie das neue Verzeichnis und die Flow-Datei um.

  4. Wenn Sie eine neue Flow-Datei in Studio erstellen, wird möglicherweise eine Meldung innerhalb derData Wrangler-Schnittstelle, die sagt Folgendes:

    Data Wrangler wird geladen...

    Dies kann einige Minuten dauern.

    Diese Botschaft bleibt bestehen, solange dieKernelGateway-App auf IhremBenutzerdetailspage istAusstehendaus. Um den Status dieser App anzuzeigen, finden Sie in der SageMaker-Konsole auf derAmazon SageMaker Studiowählen Sie den Namen des Benutzers aus, den Sie für den Zugriff auf Studio verwenden. Auf derBenutzerdetails-Seite, siehst du eineKernelGatewayApp unter-Appsaus. Warte, bis dieser App-Status lautetBereitum Data Wrangler zu verwenden. Dies kann beim ersten Start von Data Wrangler etwa 5 Minuten dauern.

  5. Wählen Sie zunächst eine Datenquelle aus und importieren Sie sie zum Importieren eines Datasets. Siehe .Import, um weitere Informationen zu erhalten.

    Wenn Sie einen Datensatz importieren, wird es in Ihrem Datenfluss angezeigt. Weitere Informationen hierzu finden Sie unter Erstellen und Verwenden eines Data Wrangler-Flow.

  6. Nachdem Sie einen Datensatz importiert haben, leitet Data Wrangler automatisch den Datentyp in jeder Spalte ab. Klicken Sie auf+neben demDatentypenSchritt und wählenBearbeiten von Datentypenaus.

    Wichtig

    Nachdem Sie Transformationen zumDatentypenschrittweise können Sie Spaltentypen nicht mitAktualisierungs-Typenaus.

  7. Verwenden Sie den Datenfluss, um Transformationen und Analysen hinzuzufügen. Weitere Informationen hierzu finden Sie unterTransformieren Sie DatenundAnalysieren und Visualisierenaus.

  8. Um einen vollständigen Datenfluss zu exportieren, wählen SieExportund wählen Sie eine Exportoption aus. Weitere Informationen hierzu finden Sie unter Export.

  9. Wählen Sie abschließend dasKomponenten und Registraturen-Symbol und wählen SieData WranglerIn der Dropdown-Liste finden Sie alle Flow-Dateien, die Sie erstellt haben. Sie können dieses Menü verwenden, um Datenflüsse zu suchen und zwischen ihnen zu wechseln.

Nachdem Sie Data Wrangler gestartet haben, können Sie im folgenden Abschnitt erläutern, wie Sie Data Wrangler verwenden können, um einen ML-Datenvorbereitungsfluss zu erstellen.

Aktualisieren von Daten Wrangler

Wir empfehlen Ihnen, die Data Wrangler Studio-App regelmäßig zu aktualisieren, um auf die neuesten Funktionen und Updates zuzugreifen. Der Name der Data Wrangler-App beginnt mitsagemacher-datenwrangaus. Informationen zum Aktualisieren einer Studio-App finden Sie unterHerunterfahren und Aktualisieren von Studio-Appsaus.

Demo: Data Wrangler Titanic Dataset Exemplarische Vorgehensweise

In den folgenden Abschnitten finden Sie eine exemplarische Vorgehensweise, die Ihnen bei der Verwendung von Data Wrangler hilft. In dieser exemplarischen Vorgehensweise wird davon ausgegangen, dass Sie die Schritte inZugreifen auf -Daten Wranglerund lassen Sie eine neue Datenflussdatei öffnen, die Sie für die Demo verwenden möchten. Möglicherweise möchten Sie diese Flow-Datei in etwas Ähnliches umbenennentitanic-demo.flowaus.

In dieser Vorgehensweise wird dasTitanic Datasetaus. Dieser Datensatz enthält den Überlebensstatus, das Alter, das Geschlecht und die Klasse (die als Stellvertreter für den wirtschaftlichen Status dient) der Passagiere an Bord der Jungfernfahrt desTitanic Effektivwertim Jahr 1912.

In diesem Tutorial führen Sie die folgenden Schritte aus.

  • Laden Sie dasTitanic Datasetin Amazon Simple Storage Service (Amazon S3) und importieren Sie diesen Datensatz dann in Data Wrangler.

  • Analysieren Sie diesen Datensatz mithilfe von Data Wrangler-Analysen.

  • Definieren Sie einen Datenfluss mit Data Wrangler-Datentransformationen.

  • Exportieren Sie Ihren Flow in ein Jupyter-Notizbuch, mit dem Sie einen Data Wrangler-Job erstellen können.

  • Verarbeiten Sie Ihre Daten und starten Sie ein SageMaker Schulungsjob, um einen XGBoost Binary Classifier zu trainieren.

Datensatz auf S3 hochladen und importieren

Laden Sie zunächst dasTitanic DatasetLaden Sie es in einen Amazon-S3-Bucket (Amazon S3) hochAWSEine -Region, in der Sie diese Demo abschließen möchten.

Wenn Sie ein neuer Benutzer von Amazon S3 sind, können Sie dies per Drag & Drop in der Amazon S3 S3-Konsole tun. Weitere Informationen hierzu finden Sie unterHochladen von Dateien und Ordnern per Drag & Dropim Amazon Simple Storage Service-Benutzerhandbuch.

Wichtig

Laden Sie Ihren Dataset in einem S3-Bucket hochAWSEine -Region, die Sie verwenden möchten, um diese Demo abzuschließen.

Wenn Ihr Datensatz erfolgreich auf Amazon S3 hochgeladen wurde, können Sie ihn in Data Wrangler importieren.

Importieren Sie den Titanic-Datensatz in Data Wrangler

  1. Wählen Sie dasImport-Tab in Ihrer Data Wrangler-Flow-Datei.

  2. SelectAmazon S3aus.

  3. Verwenden derImportieren eines Datasets aus S3-Tabelle, um den Bucket zu finden, dem Sie das Titanic-Dataset hinzugefügt haben. Wählen Sie die CSV-Datei des Titanic-Datasets aus, um die-DetailsBereich.

  4. Unter-Details, derDateitypsollte CSV sein. Klicken Sie aufAdd Header zur Tabelleum anzugeben, dass die erste Zeile des Datasets eine Kopfzeile ist. Sie können den Datensatz auch als etwas freundlicheres benennen, z.Titanic-trainaus.

  5. SelectDataset importierenaus.

Wenn Ihr Datensatz in Data Wrangler importiert wird, wird er in Ihrem Datenfluss angezeigt. Sie können Ihren Datenfluss jederzeit anzeigen, indem Sie dieDatenflussRegisterkarte. Sie können auf einen Knoten doppelklicken, um die Knotendetailansicht aufzurufen, in der Sie Transformationen oder Analysen hinzufügen können. Andernfalls können Sie das Plus-Symbol verwenden, um für eine schnelle Navigation zu navigieren. Im nächsten Abschnitt verwenden Sie diesen Datenfluss, um Analyse- und Transformationsschritte hinzuzufügen.

Datenfluss

Im Datenfluss-Abschnitt sind die einzigen Schritte im Datenfluss Ihr kürzlich importierter Datensatz und einDatentypSchritt. Nachdem Sie Transformationen angewendet haben, können Sie zu dieser Registerkarte zurückkehren, um zu sehen, wie der Datenfluss aussieht. Fügen Sie nun einige grundlegende Transformationen unter derVorbereitungundAnalysierenRegisterkarten.

Vorbereiten und Visualisieren

Data Wrangler verfügt über integrierte Transformationen und Visualisierungen, mit denen Sie Ihre Daten analysieren, bereinigen und transformieren können.

DieDaten-Registerkarte der Knoten-Detailansicht listet alle integrierten Transformationen im rechten Bereich auf, der auch einen Bereich enthält, in dem Sie benutzerdefinierte Transformationen hinzufügen können. Der folgende Anwendungsfall zeigt, wie diese Transformationen verwendet werden.

Datenuntersuchung

Erstellen Sie zunächst eine Tabellenzusammenfassung der Daten mithilfe einer Analyse. Gehen Sie wie folgt vor:

  1. Wählen Sie das Symbol+neben demDatentyptreten Sie in Ihren Datenfluss ein und wählen SieHinzufügen von Analysenaus.

  2. In derAnalyseBereich wählenTabellen-Zusammenfassungaus der Dropdown-Liste.

  3. Geben Sie der Tabellenzusammenfassung einNameaus.

  4. Select-Vorschauum eine Vorschau der Tabelle anzuzeigen, die erstellt wird.

  5. Klicken Sie aufGeben Sie einen Namen für den Benutzer ein und klicken Sie dann aufum es in Ihrem Datenfluss zu speichern. Es erscheint unterAlle Analysenaus.

Anhand der Statistiken, die Sie sehen, können Sie Beobachtungen ähnlich wie die folgenden zu diesem Datensatz machen:

  • Der Tarifdurchschnitt (Mittelwert) liegt bei etwa 33 US-Dollar, während der Maximum über 500 US-Dollar liegt. Diese Spalte hat wahrscheinlich Ausreißer.

  • Dieser Dataset verwendet?um fehlende Werte anzugeben. Eine Reihe von Spalten haben fehlende Werte:Kabine,eingeschifft, undhome.dest

  • In der Alterskategorie fehlen mehr als 250 Werte.

Klicken Sie aufVorbereitungum zum Datenfluss zurückzukehren. Bereinigen Sie als Nächstes Ihre Daten mit den Erkenntnissen, die aus diesen Statistiken gewonnen wurden.

Löschen von nicht verwendeten Spalten

Bereinigen Sie den Datensatz mithilfe der Analyse aus dem vorherigen Abschnitt, um ihn für das Training vorzubereiten. Um Ihrem Datenfluss eine neue Transformation hinzuzufügen, wählen Sie+neben demDatentyptreten Sie in Ihren Datenfluss ein und wählen SieTransformation hinzufügenaus.

Löschen Sie zunächst Spalten, die Sie nicht zum Training verwenden möchten. Sie können es verwendenPandasDatenanalysebibliothek dazu oder Sie können eine der integrierten Transformationen verwenden.

Führen Sie dazu die folgenden Schritte aus.

  1. In derBenutzerdefinierte Transformation, wählen SiePython (Pandas)aus der Dropdown-Liste.

  2. Geben Sie Folgendes in das Codefeld ein.

    cols = ['name', 'ticket', 'cabin', 'sibsp', 'parch', 'home.dest','boat', 'body'] df = df.drop(cols, axis=1)
  3. Klicken Sie auf-Vorschauum die Änderung in der Vorschau anzuzeigen und dannAddum die Transformation hinzuzufügen.

Führen Sie die folgenden Schritte aus, um die integrierten Transformationen zu verwenden:

  1. Klicken Sie aufVerwalten von Spaltenaus dem rechten Panel.

  2. FürEingabe-Spalte, wählenKabine, und wählen Sie-Vorschauaus.

  3. Stellen Sie sicher, dass derKabineSpalte wurde gelöscht, wählen Sie dannAddaus.

  4. Wiederholen Sie diese Schritte für die folgenden Spalten:Fahrkarte,Name,Sibsp,parch,home.dest,Boot, undKörperaus.

Bereinigen von fehlenden Werten

Bereinigen Sie jetzt fehlende Werte. Sie können dies mit demUmgang mit fehlenden WertenTransform group.

Eine Reihe von Spalten haben fehlende Werte. Von den restlichen SpaltenAlterundFahrpreisenthält fehlende Werte. Prüfen Sie dies mit demBenutzerdefinierte Transformationaus.

Verwendung derPython (Pandas)verwenden Sie Folgendes, um schnell die Anzahl der Einträge in jeder Spalte zu überprüfen:

df.info()

So legen Sie Zeilen mit fehlenden Werten imAlterwie folgt:

  1. Klicken Sie aufUmgang mit fehlenden Wertenaus.

  2. Klicken Sie aufFehlende DropfürTransformatoraus.

  3. Klicken Sie aufDrop RowsfürDimensionaus.

  4. Klicken Sie aufAlterfürEingabe-Spalteaus.

  5. Klicken Sie auf-Vorschauum den neuen Datenrahmen anzuzeigen, und wählen Sie dannAddum die Transformation zu Ihrem Flow hinzuzufügen.

  6. Wiederholen Sie den gleichen Vorgang fürFahrpreisaus.

Sie können es verwendendf.info()imBenutzerdefinierte Transformationum zu bestätigen, dass alle Zeilen jetzt 1.045 Werte haben.

Benutzerdefinierte Pandas: Codierung

Versuchen Sie es mit der flachen Kodierung mit Pandas. Die Kodierung kategorialer Daten ist der Prozess, bei dem eine numerische Darstellung für Kategorien erstellt wird. Zum Beispiel, wenn Ihre KategorienDogundCatkönnen Sie diese Informationen in zwei Vektoren kodieren:[1,0]zur DarstellungDog, und[0,1]zur DarstellungCataus.

  1. In derBenutzerdefinierte Transform-Bereich wählenPython (Pandas)aus der Dropdown-Liste.

  2. Geben Sie Folgendes in das Codefeld ein.

    import pandas as pd dummies = [] cols = ['pclass','sex','embarked'] for col in cols: dummies.append(pd.get_dummies(df[col])) encoded = pd.concat(dummies, axis=1) df = pd.concat((df, encoded),axis=1)
  3. Klicken Sie auf-Vorschauum eine Vorschau der Änderung anzuzeigen. Die codierte Version jeder Spalte wird dem Datensatz hinzugefügt.

  4. Klicken Sie aufAddum die Transformation hinzuzufügen.

Benutzerdefiniertes SQL: WÄHLEN VON SPALTEN

Wählen Sie nun die Spalten aus, die Sie weiterhin SQL verwenden möchten. Wählen Sie für diese Demo die im folgenden aufgeführten Spalten ausSELECTstatement. Da es sich beiüberlebteist Ihre Zielspalte für das Training, setzen Sie diese Spalte an die erste Stelle.

  1. In derBenutzerdefinierte Transformation, wählen SieSQL (PySpark SQL)aus der Dropdown-Liste.

  2. Geben Sie Folgendes in das Codefeld ein.

    SELECT survived, age, fare, 1, 2, 3, female, male, C, Q, S FROM df;
  3. Klicken Sie auf-Vorschauum eine Vorschau der Änderung anzuzeigen. Die Spalten, die in IhremSELECT-Anweisung sind die einzigen verbleibenden Spalten.

  4. Klicken Sie aufAddum die Transformation hinzuzufügen.

Export

Wenn Sie mit dem Erstellen eines Datenflusses fertig sind, haben Sie eine Reihe von Exportoptionen. Im folgenden Abschnitt beschreibt die Exportieren in ein Data Wrangler-Job-Notizbuch. Ein Data Wrangler-Job wird verwendet, um Ihre Daten unter Verwendung der in Ihrem Datenfluss definierten Schritte zu verarbeiten. Weitere Informationen zu allen Exportoptionen finden Sie unterExportaus.

Exportieren nach Data Wrangler Job-Notizbuch

Wenn Sie Ihren Datenfluss mit einemDaten-Wrangler-Joberstellt der Prozess automatisch ein Jupyter Notebook. Dieses Notebook wird automatisch in Ihrer Studio-Instanz geöffnet und ist so konfiguriert, dass es eine SageMaker Verarbeitungsauftrag zur Ausführung Ihres Data Wrangler-Datenflusses, der als Data Wrangler-Job bezeichnet wird.

  1. Speichern Sie Ihren Datenfluss. SelectDateiund dann wählen Sie ausSpeichern von Daten Wrangler Flowaus.

  2. Wählen Sie das SymbolExportRegisterkarte.

  3. Wählen Sie den letzten Schritt in Ihrem Datenfluss aus.

  4. Klicken Sie aufDaten-Wrangler Jobaus. Dies öffnet ein Jupyter-Notebook.

  5. Wählen Sie einen beliebigenPython 3 (Data Science)Kernel für dasKernelaus.

  6. Wenn der Kernel gestartet wird, führen Sie die Zellen im Notebookbuch aus, bisKick-Off SageMaker Schulungsjob (optional)aus.

  7. Optional können Sie die Zellen inSageMaker-Schulungsjob starten (optional)wenn Sie einen SageMaker-Schulungsjob erstellen möchten, um einen XGBoost-Klassifikator zu trainieren. Sie finden die Kosten für den Betrieb eines SageMaker Trainingsauftrag inAmazon SageMaker Preiseaus.

    Alternativ können Sie die Codeblöcke hinzufügen, die Sie unterTraining XGBoost Classifierzum Notizbuch und führe sie aus, um die-XGBoostOpen Source-Bibliothek, um einen XGBoost-Klassifikator zu trainieren.

  8. Kommentieren und führe die Zelle unterBereinigenund führe es aus, um die SageMaker Python SDK auf seine Originalversion.

Sie können Ihren Data Wrangler-Jobstatus im SageMaker -Konsole imVerarbeitungRegisterkarte. Darüber hinaus können Sie Ihren Data Wrangler-Job mit Amazon CloudWatch überwachen. Weitere Informationen finden Sie unterÜberwachen von Amazon SageMaker Aufträge verarbeiten mit CloudWatch Protokolle und Metrikenaus.

Wenn Sie einen Schulungsjob gestartet haben, können Sie dessen Status mithilfe der SageMaker konsole unterTrainingsaufträgeimSchulungenaus.

Training XGBoost Classifier

Im selben Notizbuch, das den Data Wrangler-Job ausgelöst hat, können Sie die Daten abrufen und einen XGBoost Binary Classifier mithilfe der vorbereiteten Daten mit minimaler Datenvorbereitung trainieren.

  1. Aktualisieren Sie zuerst die erforderlichen Module mitpipund entferne die _SUCCESS-Datei (diese letzte Datei ist problematisch bei Verwendungawswrangler) enthalten.

    ! pip install --upgrade awscli awswrangler boto sklearn ! aws s3 rm {output_path} --recursive --exclude "*" --include "*_SUCCESS*"
  2. Lesen Sie die Daten von Amazon S3. Sie können es verwendenawswranglerum rekursiv alle CSV-Dateien im S3-Präfix zu lesen. Die Daten werden dann in Features und Labels aufgeteilt. Das Label ist die erste Spalte des Datenrahmens.

    import awswrangler as wr df = wr.s3.read_csv(path=output_path, dataset=True) X, y = df.iloc[:,:-1],df.iloc[:,-1]
    • Erstellen Sie schließlich dMatrices (die primitive Struktur von XGBoost für Daten) und führen Sie eine Kreuzvalidierung mithilfe der binären XGBoost-Klassifikation durch.

      import xgboost as xgb dmatrix = xgb.DMatrix(data=X, label=y) params = {"objective":"binary:logistic",'learning_rate': 0.1, 'max_depth': 5, 'alpha': 10} xgb.cv( dtrain=dmatrix, params=params, nfold=3, num_boost_round=50, early_stopping_rounds=10, metrics="rmse", as_pandas=True, seed=123)

Schließen Sie Data Wrangler

Wenn Sie mit der Verwendung von Data Wrangler fertig sind, empfehlen wir Ihnen, die Instanz, auf der sie ausgeführt wird, herunterzufahren, um zusätzliche Gebühren zu vermeiden. Weitere Informationen zum Herunterfahren der Data Wrangler-App und der zugehörigen Instanz finden Sie unterHerunterfahren von Daten Wrangleraus.