Amazon SageMaker Data Wrangler: Vereinfachen Sie die Datenaufbereitung für maschinelles Lernen
Tiefgehende Diskussion
Technisch, leicht verständlich
0 0 1
Dieser Artikel bietet eine umfassende Anleitung zum Zugriff und zur Nutzung von Amazon SageMaker Data Wrangler, einschließlich Voraussetzungen, Datenaufbereitung und Modelltraining anhand des Titanic-Datensatzes. Er enthält Schritt-für-Schritt-Anleitungen zum Importieren von Daten, Anwenden von Transformationen und Exportieren von Datenflüssen.
Hauptpunkte
einzigartige Erkenntnisse
praktische Anwendungen
Schlüsselthemen
wichtige Einsichten
Lernergebnisse
• Hauptpunkte
1
Detaillierte Schritt-für-Schritt-Anleitungen zur Verwendung von Data Wrangler
2
Praktische Beispiele mit dem Titanic-Datensatz
3
Umfassende Abdeckung der Datenaufbereitung und des Modelltrainings
• einzigartige Erkenntnisse
1
Integration von Data Wrangler mit Amazon S3 für den Datenimport
2
Verwendung integrierter Transformationen und benutzerdefinierten Python-Codes zur Datenbereinigung
• praktische Anwendungen
Der Artikel bietet praktische Anleitungen für Benutzer zur effektiven Aufbereitung von Daten für maschinelles Lernen und ist daher sowohl für Anfänger als auch für erfahrene Benutzer wertvoll.
• Schlüsselthemen
1
Datenaufbereitung mit Data Wrangler
2
Modelltraining mit XGBoost
3
Integration mit Amazon S3
• wichtige Einsichten
1
Praktisches Tutorial mit einem realen Datensatz
2
Klare Anleitungen für Anfänger und fortgeschrittene Benutzer
3
Fokus auf praktische Anwendungen von Datenaufbereitungswerkzeugen
• Lernergebnisse
1
Verständnis des Zugriffs und der Nutzung von Amazon SageMaker Data Wrangler
2
Fähigkeit, Daten für Modelle des maschinellen Lernens aufzubereiten
3
Kenntnisse über die Integration von Data Wrangler mit AWS-Diensten
Amazon SageMaker Data Wrangler ist ein leistungsstarkes Tool innerhalb von Amazon SageMaker Studio Classic, das entwickelt wurde, um den Prozess der Datenaufbereitung für Projekte des maschinellen Lernens (ML) zu optimieren und zu vereinfachen. Es bietet eine benutzerfreundliche, visuelle Oberfläche, die es Data Scientists und ML-Ingenieuren ermöglicht, Daten effizient zu importieren, zu analysieren, zu transformieren und zu exportieren. Durch die Verwendung von Data Wrangler können Benutzer die für die Datenaufbereitung erforderliche Zeit und Mühe erheblich reduzieren, sodass sie sich stärker auf die Modellentwicklung und -bereitstellung konzentrieren können. Dieser umfassende Leitfaden führt Sie durch die wesentlichen Aspekte von Data Wrangler, von der Einrichtung bis zur Nutzung seiner erweiterten Funktionen für Datenmanipulation und Modelltraining.
“ Voraussetzungen für die Nutzung von Data Wrangler
Bevor Sie Amazon SageMaker Data Wrangler nutzen können, müssen Sie sicherstellen, dass Sie die notwendigen Voraussetzungen erfüllt haben. Dazu gehören der Zugriff auf eine Amazon EC2-Instanz, die Konfiguration der erforderlichen Sicherheits- und Berechtigungen sowie eine aktive Studio Classic-Instanz.
1. **Amazon EC2-Instanz**: Sie benötigen Zugriff auf eine Amazon Elastic Compute Cloud (Amazon EC2)-Instanz. Weitere Informationen zu verfügbaren Instanztypen und zur Anforderung erhöhter Kontingente, falls erforderlich, finden Sie in der AWS-Dokumentation.
2. **Sicherheit und Berechtigungen**: Konfigurieren Sie die erforderlichen Berechtigungen gemäß der Dokumentation zu Sicherheit und Berechtigungen. Dies stellt sicher, dass Sie über die entsprechenden Zugriffsrechte zur Nutzung von Data Wrangler und verwandten AWS-Diensten verfügen.
3. **Firewall-Zugriff**: Wenn Ihre Organisation eine Firewall verwendet, die den Internetverkehr blockiert, stellen Sie sicher, dass Sie Zugriff auf die folgenden URLs haben:
* `https://ui.prod-1.data-wrangler.sagemaker.aws/`
* `https://ui.prod-2.data-wrangler.sagemaker.aws/`
* `https://ui.prod-3.data-wrangler.sagemaker.aws/`
* `https://ui.prod-4.data-wrangler.sagemaker.aws/`
4. **Aktive Studio Classic-Instanz**: Sie benötigen eine aktive Studio Classic-Instanz. Befolgen Sie die Anweisungen in der Übersicht über Amazon SageMaker AI-Domänen, um eine neue Instanz zu starten, falls Sie noch keine haben. Stellen Sie sicher, dass die KernelGateway-Anwendung im Status 'Bereit' ist, bevor Sie fortfahren.
“ Zugriff auf Data Wrangler in SageMaker Studio Classic
Sobald Sie die Voraussetzungen erfüllt haben, können Sie Data Wrangler innerhalb von SageMaker Studio Classic über die folgenden Schritte aufrufen:
1. **Bei Studio Classic anmelden**: Melden Sie sich mit Ihren Anmeldedaten bei SageMaker Studio Classic an. Weitere Informationen finden Sie in der Übersicht über Amazon SageMaker AI-Domänen.
2. **Studio auswählen**: Navigieren Sie zur Studio-Oberfläche.
3. **Anwendung starten**: Wählen Sie 'Studio' aus der Anwendungs-Dropdown-Liste.
4. **Zu Home wechseln**: Wählen Sie das Home-Symbol, um auf das Haupt-Dashboard zuzugreifen.
5. **Daten auswählen**: Klicken Sie auf die Option 'Daten'.
6. **Data Wrangler auswählen**: Wählen Sie 'Data Wrangler', um die Anwendung zu starten.
Alternativ können Sie einen neuen Data Wrangler-Flow erstellen, indem Sie:
1. **Datei auswählen**: Wählen Sie in der oberen Navigationsleiste 'Datei'.
2. **Neu auswählen**: Wählen Sie 'Neu'.
3. **Data Wrangler Flow auswählen**: Wählen Sie 'Data Wrangler Flow'.
Sie können auch das neue Verzeichnis und die `.flow`-Datei nach Bedarf umbenennen. Beachten Sie, dass das anfängliche Laden von Data Wrangler einige Minuten dauern kann und ein Karussell erscheinen kann, bis die KernelGateway-Anwendung bereit ist.
“ Erkundung der Data Wrangler-Funktionen: Eine Titanic-Datensatz-Anleitung
Um Ihnen zu helfen zu verstehen, wie Sie Data Wrangler verwenden, bietet dieser Abschnitt eine Schritt-für-Schritt-Anleitung mit dem Titanic-Datensatz. Dieser Datensatz enthält Informationen über Passagiere der Titanic, einschließlich ihres Überlebensstatus, Alters, Geschlechts und ihrer Klasse. Durch das Befolgen dieser Anleitung lernen Sie, wie Sie Daten mit Data Wrangler importieren, analysieren, transformieren und exportieren.
**Schritte in der Anleitung:**
1. **Data Wrangler Flow öffnen**: Öffnen Sie einen neuen Data Wrangler Flow und wählen Sie die Option 'Beispieldatensatz verwenden' oder laden Sie den Titanic-Datensatz auf Amazon S3 hoch und importieren Sie ihn in Data Wrangler.
2. **Datensatz analysieren**: Verwenden Sie die Analysetools von Data Wrangler, um den Datensatz zu erkunden und Einblicke zu gewinnen.
3. **Datenfluss definieren**: Verwenden Sie die Datentransformationsfunktionen von Data Wrangler, um einen Datenfluss zu definieren.
4. **Flow exportieren**: Exportieren Sie Ihren Flow in ein Jupyter Notebook, um einen Data Wrangler-Job zu erstellen.
5. **Daten verarbeiten**: Verarbeiten Sie Ihre Daten und starten Sie einen SageMaker-Trainingsjob, um einen XGBoost-Binärklassifikator zu trainieren.
“ Daten mit Data Wrangler importieren und vorbereiten
Sie können den Titanic-Datensatz mit einer der folgenden Methoden in Data Wrangler importieren:
1. **Direkt aus dem Data Wrangler Flow importieren**: Öffnen Sie den Flow und wählen Sie 'Beispieldatensatz verwenden'.
2. **Auf Amazon S3 hochladen**: Laden Sie den Datensatz auf einen Amazon S3-Bucket hoch und importieren Sie ihn dann in Data Wrangler.
So laden Sie den Datensatz auf Amazon S3 hoch:
1. **Titanic-Datensatz herunterladen**: Laden Sie den Titanic-Datensatz herunter.
2. **Auf S3 hochladen**: Laden Sie den Datensatz in einen Amazon S3-Bucket in der AWS-Region hoch, die Sie für diese Demonstration verwenden möchten. Sie können die Amazon S3-Konsole verwenden, um die Datei per Drag & Drop hochzuladen.
Sobald der Datensatz erfolgreich auf Amazon S3 hochgeladen wurde, können Sie ihn in Data Wrangler importieren:
1. **Daten importieren auswählen**: Wählen Sie im Datenfluss-Tab die Schaltfläche 'Daten importieren' oder den Tab 'Importieren'.
2. **Amazon S3 auswählen**: Wählen Sie 'Amazon S3'.
3. **Datensatz lokalisieren**: Verwenden Sie die Tabelle 'Datensatz importieren', um den Bucket zu finden, in den Sie den Titanic-Datensatz hinzugefügt haben. Wählen Sie die CSV-Datei aus, um den Detailbereich zu öffnen.
4. **Details konfigurieren**: Stellen Sie sicher, dass der Dateityp CSV ist, und aktivieren Sie das Kontrollkästchen, das angibt, dass die erste Zeile die Kopfzeile ist. Sie können dem Datensatz auch einen aussagekräftigen Namen geben, z. B. 'Titanic-train'.
5. **Importieren**: Wählen Sie die Schaltfläche 'Importieren'.
Nach dem Import des Datensatzes wird er im Datenfluss-Tab angezeigt. Doppelklicken Sie auf den Knoten, um die Knoten-Detailansicht aufzurufen, in der Sie Transformationen oder Analysen hinzufügen können.
“ Daten analysieren und visualisieren
Data Wrangler bietet integrierte Transformations- und Visualisierungsfunktionen zur Analyse, Bereinigung und Transformation Ihrer Daten. Die rechte Seitenleiste in der Knoten-Detailansicht listet alle integrierten Transformationen und einen Bereich zum Hinzufügen benutzerdefinierter Transformationen auf.
**Erstellen eines Berichts zur Datenqualität und zu Einblicken**
Um Einblicke in Ihre Daten zu gewinnen, erstellen Sie einen Bericht zur Datenqualität und zu Einblicken. Dieser Bericht hilft Ihnen, Probleme wie fehlende Werte und Ausreißer zu identifizieren. Er warnt Sie auch vor potenziellen Problemen wie Ziel-Leakage oder Ungleichgewicht.
**Erstellen einer Tabellenzusammenfassung**
1. **Analyse hinzufügen**: Wählen Sie das '+' neben dem Schritt 'Datentyp' im Datenfluss aus und wählen Sie 'Analyse hinzufügen'.
2. **Tabellenzusammenfassung auswählen**: Wählen Sie im Analysebereich 'Tabellenzusammenfassung' aus der Dropdown-Liste.
3. **Zusammenfassung benennen**: Geben Sie der Tabellenzusammenfassung einen Namen.
4. **Vorschau**: Wählen Sie 'Vorschau', um eine Vorschau der Tabelle anzuzeigen.
5. **Speichern**: Wählen Sie 'Speichern', um sie Ihrem Datenfluss hinzuzufügen. Die Daten werden unter 'Alle Analysen' angezeigt.
Aus den bereitgestellten Statistiken können Sie Beobachtungen wie den durchschnittlichen Fahrpreis und das Vorhandensein fehlender Werte in Spalten wie 'cabin', 'embarked' und 'age' ableiten.
“ Daten mit Data Wrangler transformieren
Nach der Analyse Ihrer Daten können Sie diese für das Training bereinigen und vorbereiten, indem Sie dem Datenfluss Transformationen hinzufügen. Hier sind einige gängige Transformationen, die Sie durchführen können:
**Löschen ungenutzter Spalten**
1. **Transformation hinzufügen**: Wählen Sie das '+' neben dem Schritt 'Datentyp' im Datenfluss aus und wählen Sie 'Transformation hinzufügen'.
2. **Spalten verwalten auswählen**: Wählen Sie in der Spalte 'Alle Schritte' die Option 'Schritt hinzufügen' und dann 'Spalten verwalten' aus der Liste der Standardtransformationen. Stellen Sie sicher, dass 'Spalte löschen' ausgewählt ist.
3. **Zu löschende Spalten auswählen**: Wählen Sie die Spalten aus, die Sie nicht für das Training verwenden möchten, wie z. B. 'cabin', 'ticket', 'name', 'sibsp', 'parch', 'home.dest', 'boat' und 'body'.
4. **Vorschau und Hinzufügen**: Wählen Sie 'Vorschau', um zu überprüfen, ob die Spalten entfernt wurden, und wählen Sie dann 'Hinzufügen'.
**Fehlende Werte bereinigen**
1. **Fehlende Werte behandeln auswählen**: Wählen Sie 'Fehlende Werte behandeln'.
2. **Fehlende Werte löschen auswählen**: Wählen Sie für den Transformer 'Fehlende Werte löschen'.
3. **Eingabespalte auswählen**: Wählen Sie die Spalte mit fehlenden Werten, z. B. 'age'.
4. **Vorschau und Hinzufügen**: Wählen Sie 'Vorschau', um den neuen Datenrahmen anzuzeigen, und wählen Sie dann 'Hinzufügen', um die Transformation Ihrem Flow hinzuzufügen.
**Benutzerdefinierte Transformationen mit Pandas**
Sie können auch benutzerdefinierte Transformationen mit Pandas verwenden, um komplexere Datenmanipulationen durchzuführen. Zum Beispiel können Sie One-Hot-Encoding für kategoriale Daten verwenden:
```python
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)
```
**Benutzerdefinierte Transformationen mit SQL**
Sie können SQL verwenden, um bestimmte Spalten für weitere Analysen auszuwählen:
```sql
SELECT survived, age, fare, 1, 2, 3, female, male, C, Q, S FROM df;
```
“ Datenflüsse exportieren und in SageMaker integrieren
Sobald Sie Ihren Datenfluss erstellt haben, können Sie ihn für die weitere Verwendung exportieren. Eine gängige Option ist der Export in ein Data Wrangler Job Notebook. Dieser Prozess erstellt automatisch ein Jupyter Notebook, das so konfiguriert ist, dass ein SageMaker-Verarbeitungsjob ausgeführt wird, um Ihren Data Wrangler-Datenfluss auszuführen.
**Exportieren in ein Data Wrangler Job Notebook**
1. **Data Flow speichern**: Wählen Sie 'Datei' und dann 'Data Wrangler Flow speichern'.
2. **Zurück zum Datenfluss-Tab**: Gehen Sie zurück zum Datenfluss-Tab und wählen Sie den letzten Schritt in Ihrem Datenfluss aus.
3. **Export auswählen**: Wählen Sie 'Exportieren' und dann 'Amazon S3 (über Jupyter Notebook)'. Dies öffnet ein Jupyter Notebook.
4. **Kernel auswählen**: Wählen Sie einen beliebigen Python 3 (Data Science)-Kernel aus.
5. **Notebook ausführen**: Führen Sie die Zellen im Notebook aus, bis Sie zum Abschnitt 'SageMaker Job zum Training starten (optional)' gelangen.
Sie können den Status Ihres Data Wrangler-Jobs im Tab 'Verarbeitung' der SageMaker AI-Konsole überwachen. Sie können auch Amazon CloudWatch verwenden, um Ihren Data Wrangler-Job zu überwachen.
“ XGBoost-Klassifikator mit vorbereiteten Daten trainieren
Nach der Aufbereitung Ihrer Daten mit Data Wrangler können Sie einen XGBoost-Binärklassifikator entweder mit einem Jupyter Notebook oder mit Amazon Autopilot trainieren. Autopilot kann Modelle automatisch trainieren und optimieren, basierend auf den Daten, die direkt aus Ihrem Data Wrangler-Flow transformiert wurden.
**Training mit einem Jupyter Notebook**
Im selben Notebook, in dem Sie den Data Wrangler-Job gestartet haben, können Sie die vorbereiteten Daten extrahieren und mit minimaler zusätzlicher Datenaufbereitung einen XGBoost-Binärklassifikator trainieren.
1. **Notwendige Module aktualisieren**: Verwenden Sie pip, um die notwendigen Module zu aktualisieren und die `_SUCCESS`-Datei zu entfernen:
```bash
! pip install --upgrade awscli awswrangler boto sklearn
! aws s3 rm {output_path} --recursive --exclude "*" --include "*_SUCCESS*"
```
2. **Daten von Amazon S3 lesen**: Verwenden Sie awswrangler, um rekursiv alle CSV-Dateien aus dem S3-Präfix zu lesen. Teilen Sie dann die Daten in Features und Labels auf.
```python
import awswrangler as wr
df = wr.s3.read_csv(path=output_path, dataset=True)
X, y = df.iloc[:,:-1],df.iloc[:,-1]
```
3. **DMatrices erstellen und Kreuzvalidierung durchführen**: Erstellen Sie DMatrices (die native Datenstruktur für XGBoost) und verwenden Sie XGBoost-Binärklassifizierung für die Kreuzvalidierung.
```python
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)
```
“ Data Wrangler aktualisieren und schließen
Um sicherzustellen, dass Sie die neuesten Funktionen und Updates haben, wird empfohlen, die Data Wrangler Studio Classic-Anwendung regelmäßig zu aktualisieren. Informationen zur Aktualisierung finden Sie in der Dokumentation zum Schließen und Aktualisieren von Studio Classic-Anwendungen.
Sobald Sie Data Wrangler nicht mehr benötigen, ist es ratsam, die laufenden Instanzen zu schließen, um zusätzliche Kosten zu vermeiden. Anweisungen zum Herunterfahren der Anwendung und der zugehörigen Instanzen finden Sie in der Dokumentation zum Schließen von Data Wrangler.
Wir verwenden Cookies, die für die Funktionsweise unserer Website unerlässlich sind. Um unsere Website zu verbessern, möchten wir zusätzliche Cookies verwenden, die uns helfen zu verstehen, wie Besucher sie nutzen, den Verkehr von sozialen Medienplattformen zu unserer Website zu messen und Ihr Erlebnis zu personalisieren. Einige der von uns verwendeten Cookies werden von Drittanbietern bereitgestellt. Klicken Sie auf 'Akzeptieren', um alle Cookies zu akzeptieren. Um alle optionalen Cookies abzulehnen, klicken Sie auf 'Ablehnen'.
Kommentar(0)