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.
Transformieren Sie Daten
Amazon SageMaker Data Wrangler bietet zahlreiche ML-Datentransformationen, um die Bereinigung und Bereitstellung Ihrer Daten zu optimieren. Mithilfe der interaktiven Datenaufbereitungstools in Data Wrangler können Sie Datensätze beliebiger Größe mit einer Vielzahl von Stichprobenverfahren beproben und innerhalb weniger Minuten mit der Erkundung Ihrer Daten beginnen. Nachdem Sie Ihre Datentransformationen für die Stichprobendaten abgeschlossen haben, können Sie den Datenfluss skalieren, um diese Transformationen auf den gesamten Datensatz anzuwenden.
Wenn Sie eine Transformation hinzufügen, wird der Datenablauf um einen Schritt erweitert. Jede Transformation, die Sie hinzufügen, ändert Ihren Datensatz und erzeugt einen neuen Datenrahmen. Alle nachfolgenden Transformationen gelten für den resultierenden Datenrahmen.
Data Wrangler enthält integrierte Transformationen, mit denen Sie ohne Code Spalten transformieren können. Wenn Sie wissen, wie Sie Ihre Daten aufbereiten möchten, aber nicht wissen, wie Sie damit beginnen sollen oder welche Transformationen Sie verwenden sollen, können Sie die Chat-Funktion zur Datenvorbereitung verwenden, um mit Data Wrangler im Gespräch zu interagieren und Transformationen in natürlicher Sprache anzuwenden. Weitere Informationen finden Sie unter Chatten Sie zur Datenvorbereitung.
Sie können auch benutzerdefinierte Transformationen mit PySpark Python (benutzerdefinierte Funktion), Pandas und hinzufügen. PySpark SQL Manche Transformationen erfolgen vor Ort, während andere in Ihrem Datensatz eine neue Ausgabespalte erstellen.
Sie können Transformationen auf mehrere Spalten gleichzeitig anwenden. Sie können z. B. mehrere Spalten in einem einzigen Schritt löschen.
Sie können die Transformationen „Numerisch verarbeiten“ und „Fehlende Transformation verarbeiten“ nur auf eine einzelne Spalte anwenden.
Auf dieser Seite erfahren Sie mehr über die integrierten und benutzerdefinierten Transformationen, die von Data Wrangler angeboten werden.
Datensätze verknüpfen
Sie können Datensätze direkt in Ihrem Datenfluss verbinden. Wenn Sie zwei Datensätze verknüpfen, wird der daraus resultierende verknüpfte Datensatz in Ihrem Datenablauf angezeigt. Die folgenden Join-Typen werden von Data Wrangler unterstützt.
-
Links außen — Schließt alle Zeilen aus der linken Tabelle ein. Wenn der Wert für die Spalte, die mit einer Zeile in der linken Tabelle verknüpft ist, keinem Wert in einer Zeile in der rechten Tabelle entspricht, enthält diese Zeile Null-Werte für alle rechten Tabellenspalten in der verknüpften Tabelle.
-
Links und links — Schließt Zeilen aus der linken Tabelle ein, die keine Werte in der rechten Tabelle für die verknüpfte Spalte enthalten.
-
Links halb – Schließt eine einzelne Zeile aus der linken Tabelle für alle identischen Zeilen ein, die die Kriterien in der Verknüpfungsanweisung erfüllen. So werden doppelte Zeilen aus der linken Tabelle ausgeschlossen, die den Verknüpfungskriterien entsprechen.
-
Rechts außen — Schließt alle Zeilen aus der rechten Tabelle ein. Wenn der Wert für die Join-Spalte in einer rechten Tabellenzeile keinem Wert in der linken Tabellenzeile entspricht, enthält diese Zeile Null-Werte für alle linken Tabellenspalten in der verknüpften Tabelle.
-
Innen – Schließt Zeilen aus der linken und rechten Tabelle ein, die übereinstimmende Werte in der Join-Spalte enthalten.
-
Vollständig außen — Schließt alle Zeilen aus der linken und rechten Tabelle ein. Wenn der Zeilenwert für die Join-Spalte in einer der beiden Tabellen nicht übereinstimmt, werden separate Zeilen in der verknüpften Tabelle erstellt. Wenn eine Zeile keinen Wert für eine Spalte in der verknüpften Tabelle enthält, wird für diese Spalte Null eingefügt.
-
Kartesisches Kreuz — Schließt Zeilen ein, die jede Zeile aus der ersten Tabelle mit jeder Zeile aus der zweiten Tabelle kombinieren. Dies ist ein kartesisches Produkt
von Zeilen aus Tabellen in der Verknüpfung. Das Ergebnis dieses Produkts ist die Größe der linken Tabelle multipliziert mit der Größe der rechten Tabelle. Daher empfehlen wir, bei der Verwendung dieser Verknüpfung zwischen sehr großen Datensätzen Vorsicht walten zu lassen.
Gehen Sie wie folgt vor, um zwei Datensätze zu verbinden. Sie sollten bereits zwei Datenquellen in Ihren Datenfluss importiert haben.
-
Wählen Sie das Symbol Weitere Optionen ( ) neben dem linken Knoten aus, dem Sie eine Verbindung herstellen möchten. Der erste Knoten, den Sie auswählen, ist immer die linke Tabelle in Ihrem Join.
-
Zeigen Sie mit der Maus auf Daten kombinieren und wählen Sie dann Verbinden aus.
-
Wählen Sie den richtigen Knoten aus. Der zweite Knoten, den Sie auswählen, ist immer die richtige Tabelle in Ihrem Join.
-
Das Feld Join-Typ ist standardmäßig auf Inner Join eingestellt. Wählen Sie das Dropdownmenü aus, um den Verbindungstyp zu ändern.
-
Überprüfen Sie bei Join-Schlüsseln die Spalten der linken und rechten Tabelle, die Sie zum Verknüpfen der Daten verwenden möchten. Sie können zusätzliche Join-Schlüssel hinzufügen oder entfernen.
-
Geben Sie unter Name der Verknüpfung einen Namen für die verknüpften Daten ein, oder verwenden Sie den Standardnamen.
-
(Optional) Wählen Sie „Vorschau“, um eine Vorschau der verknüpften Daten anzuzeigen.
-
Wählen Sie „Hinzufügen“, um die Verknüpfung abzuschließen.
Anmerkung
Wenn Sie eine Benachrichtigung erhalten, dass Canvas beim Zusammenführen Ihrer Daten keine passenden Zeilen identifiziert hat, empfehlen wir Ihnen, entweder zu überprüfen, ob Sie die richtigen Spalten ausgewählt haben, oder Ihre Stichprobe zu aktualisieren, um zu versuchen, übereinstimmende Zeilen zu finden. Sie können eine andere Stichprobenstrategie wählen oder die Größe der Stichprobe ändern. Informationen zur Bearbeitung der Stichprobe finden Sie unterBearbeiten Sie die Konfiguration der Datenflussstichprobe.
Sie sollten jetzt sehen, dass Ihrem Datenfluss ein Join-Knoten hinzugefügt wurde.
Datensätze verketten
Beim Verketten werden zwei Datensätze kombiniert, indem die Zeilen von einem Datensatz an einen anderen angehängt werden.
Gehen Sie wie folgt vor, um zwei Datensätze zu verketten. Sie sollten bereits zwei Datenquellen in Ihren Datenfluss importiert haben.
Um zwei Datensätze zu verketten:
-
Wählen Sie das Symbol Weitere Optionen ( ) neben dem linken Knoten aus, den Sie verketten möchten. Der erste Knoten, den Sie auswählen, ist immer die linke Tabelle in Ihrem Verkettungsvorgang.
-
Zeigen Sie mit der Maus auf Daten kombinieren und wählen Sie dann Konkatenieren aus.
-
Wählen Sie den richtigen Knoten aus. Der zweite Knoten, den Sie auswählen, ist immer die richtige Tabelle in Ihrer Verkettung.
-
(Optional) Aktivieren Sie das Kontrollkästchen neben Duplikate nach Verkettung entfernen, um doppelte Spalten zu entfernen.
-
(Optional) Aktivieren Sie das Kontrollkästchen neben Spalte hinzufügen, um den Quelldatenrahmen anzugeben, um dem resultierenden Datenrahmen eine Spalte hinzuzufügen, die die Quelldatenmenge für jeden Datensatz auflistet.
Geben Sie unter Indikatorspaltenname einen Namen für die hinzugefügte Spalte ein.
Geben Sie für Erster Datensatz, der eine Zeichenfolge angibt, den Wert ein, den Sie verwenden möchten, um Datensätze aus dem ersten Datensatz (oder dem linken Knoten) zu markieren.
Geben Sie für Zweite Datenmenge, die eine Zeichenfolge angibt, den Wert ein, den Sie verwenden möchten, um Datensätze aus der zweiten Datenmenge (oder dem rechten Knoten) zu markieren.
-
Geben Sie im Feld Name der Verkettung einen Namen für die Verkettung ein.
-
(Optional) Wählen Sie „Vorschau“, um eine Vorschau der verketteten Daten anzuzeigen.
-
Wählen Sie Hinzufügen aus, um den neuen Datensatz zu Ihrem Datenablauf hinzuzufügen.
Sie sollten nun sehen, dass Ihrem Datenfluss ein verketteter Knoten hinzugefügt wurde.
Daten ausgleichen
Sie können die Daten für Datensätze mit einer unterrepräsentierten Kategorie ausgleichen. Wenn Sie einen Datensatz ausgleichen, können Sie bessere Modelle für die binäre Klassifikation erstellen.
Anmerkung
Sie können keine Datensätze ausgleichen, die Spaltenvektoren enthalten.
Sie können die Operation Daten ausgleichen verwenden, um Ihre Daten mit einem der folgenden Operatoren auszugleichen:
-
Zufälliges Oversampling – Dupliziert in der Minderheitenkategorie nach dem Zufallsprinzip. Wenn Sie z. B. versuchen, Betrug aufzudecken, haben Sie ggf. nur bei 10% Ihrer Daten Betrugsfälle. Bei einem gleichen Anteil betrügerischer und nicht betrügerischer Fälle dupliziert dieser Operator Betrugsfälle im Datensatz 8-mal nach dem Zufallsprinzip.
-
Zufälliges Undersampling – entspricht in etwa dem zufälligen Oversampling. Entfernt Stichproben aus der überrepräsentierten Kategorie nach dem Zufallsprinzip, um den gewünschten Stichprobenanteil zu erhalten.
-
Synthetic Minority Oversampling Technique (SMOTE) — Verwendet Stichproben aus der unterrepräsentierten Kategorie, um neue Stichproben synthetischer Minderheiten zu interpolieren. Weitere Informationen SMOTE zu finden Sie in der folgenden Beschreibung.
Sie können alle Transformationen für Datensätze verwenden, die sowohl numerische als auch nichtnumerische Funktionen enthalten. SMOTEinterpoliert Werte mithilfe von benachbarten Stichproben. Data Wrangler verwendet die R-Quadrat-Entfernung, um die Nachbarschaft für die Interpolation der zusätzlichen Stichproben zu bestimmen. Data Wrangler verwendet nur numerische Features, um die Entfernungen zwischen den Stichproben in der unterrepräsentierten Gruppe zu berechnen.
Für zwei reale Stichproben in der unterrepräsentierten Gruppe interpoliert Data Wrangler die numerischen Funktionen anhand eines gewichteten Durchschnitts. Es weist den Stichproben im Bereich [0, 1] nach dem Zufallsprinzip Gewichtungen zu. Bei numerischen Funktionen interpoliert Data Wrangler Stichproben anhand eines gewichteten Durchschnitts der Stichproben. Den Stichproben A und B könnte Data Wrangler nach dem Zufallsprinzip eine Gewichtung von 0,7 A und 0,3 B zuweisen. Die interpolierte Stichprobe hat einen Wert von 0,7 A + 0,3 B.
Data Wrangler interpoliert nichtnumerische Features, indem es eines der beiden interpolierten realen Stichproben kopiert. Es kopiert die Stichproben mit einer Wahrscheinlichkeit, die es jeder Stichprobe nach dem Zufallsprinzip zuweist. Für die Stichproben A und B kann A die Wahrscheinlichkeiten 0,8 und B 0,2 zugewiesen werden. Für die so zugewiesenen Wahrscheinlichkeiten kopiert es A in 80% der Fälle.
Benutzerdefinierte Transformationen
In der Gruppe Benutzerdefinierte Transformationen können Sie Python (benutzerdefinierte Funktion), PySpark Pandas oder PySpark (SQL) verwenden, um benutzerdefinierte Transformationen zu definieren. Bei allen drei Optionen verwenden Sie die Variable, df
um auf den Datenrahmen zuzugreifen, auf den Sie die Transformation anwenden möchten. Um Ihren benutzerdefinierten Code auf Ihren Datenrahmen anzuwenden, weisen Sie den Datenrahmen mit den Transformationen zu, die Sie an der Variablen df
vorgenommen haben. Wenn Sie Python (benutzerdefinierte Funktionen) nicht verwenden, brauchen Sie keine Rückgabeanweisung zu verwenden. Wählen Sie Vorschau aus, damit eine Vorschau des Ergebnisses der benutzerdefinierten Transformation angezeigt wird. Wählen Sie Hinzufügen aus, um die benutzerdefinierte Transformation zu Ihrer Liste der Vorherigen Schritte hinzuzufügen.
Sie können die beliebten Bibliotheken mit einer import
Anweisung im Code-Block für die benutzerdefinierte Transformation importieren, z. B. den folgenden:
-
NumPy Version 1.19.0
-
scikit-learn Version 0.23.2
-
SciPy Ausführung 1.5.4
-
pandas Version 1.0.3
-
PySpark Ausführung 3.0.0
Wichtig
Die benutzerdefinierte Transformation unterstützt keine Spalten mit Leerzeichen oder Sonderzeichen im Namen. Wir empfehlen, Spaltennamen anzugeben, die nur alphanumerische Zeichen und Unterstriche enthalten. Sie können die Transformation Spalte umbenennen in der Transformationsgruppe Spalten verwalten verwenden, um Leerzeichen aus dem Namen einer Spalte zu entfernen. Sie können in Python (Pandas) auch eine benutzerdefinierte Transformation hinzufügen, die der folgenden ähnelt, um in einem einzigen Schritt Leerzeichen aus mehreren Spalten zu entfernen. In diesem Beispiel werden die Spalten mit den Namen A
column
und B column
in A_column
bzw. B_column
geändert.
df.rename(columns={"A column": "A_column", "B column": "B_column"})
Wenn Sie Druckanweisungen in den Code-Block aufnehmen, wird das Ergebnis angezeigt, wenn Sie Vorschau auswählen. Sie können die Größe des Transformationsfeldes für benutzerdefinierten Code ändern. Durch die Größenänderung des Bedienfeldes steht mehr Platz zum Schreiben von Code zur Verfügung.
Die folgenden Abschnitte bieten zusätzlichen Kontext und Beispiele zum Schreiben von benutzerdefiniertem Transformationscode.
Python (benutzerdefinierte Funktion)
Die Python-Funktion gibt Ihnen die Möglichkeit, benutzerdefinierte Transformationen zu schreiben, ohne Apache Spark oder Pandas kennen zu müssen. Data Wrangler ist so optimiert, dass Sie Ihren benutzerdefinierten Code schnell ausführen können. Mit benutzerdefiniertem Python-Code und einem Apache Spark-Plugin erhalten Sie eine ähnliche Leistung.
Um den Python-Code-Block (benutzerdefinierte Funktion) zu verwenden, geben Sie Folgendes an:
-
Eingabespalte – Die Eingabespalte, in der Sie die Transformation anwenden.
-
Modus – Der Skriptmodus, entweder Pandas oder Python.
-
Rückgabetyp – Der Datentyp des Wertes, den Sie zurückgeben.
Der Pandas-Modus ist leistungsfähiger. Der Python-Modus erleichtert Ihnen das Schreiben von Transformationen mithilfe reiner Python-Funktionen.
PySpark
Im folgenden Beispiel werden Datum und Uhrzeit aus einem Zeitstempel extrahiert.
from pyspark.sql.functions import from_unixtime, to_date, date_format df = df.withColumn('DATE_TIME', from_unixtime('TIMESTAMP')) df = df.withColumn( 'EVENT_DATE', to_date('DATE_TIME')).withColumn( 'EVENT_TIME', date_format('DATE_TIME', 'HH:mm:ss'))
pandas
Das folgende Beispiel gibt einen Überblick über den Datenrahmen, zu dem Sie Transformationen hinzufügen.
df.info()
PySpark (SQL)
Das folgende Beispiel erstellt einen neuen Datenrahmen mit vier Spalten: Name, Fare, pclass, überlebt.
SELECT name, fare, pclass, survived FROM df
Wenn Sie nicht wissen, wie man es benutzt PySpark, können Sie benutzerdefinierte Codefragmente verwenden, um Ihnen den Einstieg zu erleichtern.
Data Wrangler verfügt über eine durchsuchbare Sammlung von Codeausschnitten. Sie können Codeausschnitte verwenden, um Aufgaben wie das Löschen von Spalten, das Gruppieren nach Spalten oder das Modellieren auszuführen.
Um einen Codeausschnitt zu verwenden, wählen Sie Beispielschnitte durchsuchen und geben Sie in der Suchleiste eine Abfrage an. Der Text, den Sie in der Abfrage angeben, muss nicht exakt mit dem Namen des Codeausschnitts übereinstimmen.
Das folgende Beispiel zeigt den Codeausschnitt Doppelte Zeilen löschen, mit dem Zeilen mit ähnlichen Daten in Ihrem Datensatz gelöscht werden können. Sie können den Codeausschnitt finden, indem Sie nach einem der folgenden Suchbegriffe suchen:
-
Duplikate
-
Identisch
-
Remove
Das folgende Snippet enthält Kommentare, die Ihnen helfen sollen, die Änderungen zu verstehen, die Sie vornehmen müssen. Für die meisten Snippets müssen Sie die Spaltennamen Ihres Datensatzes im Code angeben.
# Specify the subset of columns # all rows having identical values in these columns will be dropped subset = ["col1", "col2", "col3"] df = df.dropDuplicates(subset) # to drop the full-duplicate rows run # df = df.dropDuplicates()
Um ein Snippet zu verwenden, kopieren Sie seinen Inhalt und fügen Sie ihn in das benutzerdefinierte Transformationsfeld ein. Sie können mehrere Codeausschnitte kopieren und sie in das benutzerdefinierte Transformationsfeld einfügen.
Benutzerdefinierte Formel
Verwenden Sie die benutzerdefinierte Formel, um mithilfe eines SQL Spark-Ausdrucks eine neue Spalte zu definieren, um Daten im aktuellen Datenrahmen abzufragen. Die Abfrage muss die Konventionen der SQL Spark-Ausdrücke verwenden.
Wichtig
Die Benutzerdefinierte Formel unterstützt keine Spalten mit Leerzeichen oder Sonderzeichen im Namen. Wir empfehlen, Spaltennamen anzugeben, die nur alphanumerische Zeichen und Unterstriche enthalten. Sie können die Transformation Spalte umbenennen in der Transformationsgruppe Spalten verwalten verwenden, um Leerzeichen aus dem Namen einer Spalte zu entfernen. Sie können in Python (Pandas) auch eine benutzerdefinierte Transformation hinzufügen, die der folgenden ähnelt, um in einem einzigen Schritt Leerzeichen aus mehreren Spalten zu entfernen. In diesem Beispiel werden die Spalten mit den Namen A
column
und B column
in A_column
bzw. B_column
geändert.
df.rename(columns={"A column": "A_column", "B column": "B_column"})
Sie können diese Transformation verwenden, um Operationen an Spalten durchzuführen und die Spalten anhand ihres Namens zu referenzieren. Angenommen, der aktuelle Datenrahmen enthält Spalten mit den Namen col_a und col_b. Dann können Sie die folgende Operation verwenden, um eine Ausgabespalte zu erstellen, die das Produkt dieser beiden Spalten mit dem folgenden Code ist:
col_a * col_b
Andere übliche Operationen sind folgende, vorausgesetzt, ein Datenrahmen enthält col_a
und col_b
Spalten:
-
Zwei Spalten verketten:
concat(col_a, col_b)
-
Zwei Spalten hinzufügen:
col_a + col_b
-
Zwei Spalten subtrahieren:
col_a - col_b
-
Zwei Spalten teilen:
col_a / col_b
-
Den Absolutwert einer Spalte nehmen:
abs(col_a)
Weitere Informationen finden Sie in der Spark-Dokumentation
Die Dimensionalität innerhalb eines Datensatzes reduzieren
Reduzieren Sie die Dimensionalität Ihrer Daten, indem Sie die Hauptkomponentenanalyse () PCA verwenden. Die Dimensionalität Ihres Datensatzes entspricht der Anzahl der Features. Wenn Sie die Dimensionsreduktion in Data Wrangler verwenden, erhalten Sie einen neuen Satz von Funktionen, die als Komponenten bezeichnet werden. Jede Komponente berücksichtigt eine gewisse Variabilität in den Daten.
Die erste Komponente macht die größte Variation in den Daten aus. Die zweite Komponente ist für die zweitgrößte Variation in den Daten verantwortlich usw.
Sie können die Dimensionsreduzierung verwenden, um die Größe der Datensätze zu reduzieren, die Sie zum Trainieren von Modellen verwenden. Anstatt die Funktionen in Ihrem Datensatz zu verwenden, können Sie die Hauptkomponenten verwenden.
Zu diesem Zweck PCA erstellt Data Wrangler Achsen für Ihre Daten. Eine Achse ist eine affine Kombination von Spalten in Ihrem Datensatz. Die erste Hauptkomponente ist der Wert auf der Achse, die die größte Varianz aufweist. Die zweite Hauptkomponente ist der Wert auf der Achse mit der zweitgrößten Varianz. Die n-te Hauptkomponente ist der Wert auf der Achse, der die n-t-größte Varianz aufweist.
Sie können die Anzahl der Hauptkomponenten konfigurieren, die Data Wrangler zurückgibt. Sie können entweder direkt die Anzahl der Hauptkomponenten oder den Schwellenwert der Varianz in Prozent angeben. Jede Hauptkomponente erklärt ein gewisses Maß an Varianz in den Daten. Sie haben z. B. vielleicht eine Hauptkomponente mit einem Wert von 0,5. Die Komponente würde 50% der Streuung in den Daten erklären. Wenn Sie einen prozentualen Schwellenwert für die Varianz angeben, gibt Data Wrangler die kleinste Anzahl von Komponenten zurück, die dem von Ihnen angegebenen Prozentsatz entsprechen.
Im Folgenden finden Sie Beispiele für Hauptkomponenten mit dem Betrag der Varianz, den sie in den Daten erklären.
-
Komponente 1 – 0,5
-
Komponente 2 – 0,45
-
Komponente 3 – 0,05
Wenn Sie einen Schwellenwert für die Varianz in Prozent von 94
oder 95
angeben, gibt Data Wrangler Komponente 1 und Komponente 2 zurück. Wenn Sie einen Schwellenwert für die Varianz in Prozent von 96
angeben, gibt Data Wrangler alle drei Hauptkomponenten zurück.
Sie können das folgende Verfahren verwenden, um es mit PCA Ihrem Datensatz auszuführen.
Gehen Sie wie folgt PCA vor, um es mit Ihrem Datensatz auszuführen.
-
Öffnen Sie Ihren Data Wrangler-Datenablauf.
-
Wählen Sie + und dann Transformation hinzufügen aus.
-
Wählen Sie Schritt hinzufügen.
-
Wählen Sie Dimensionalität reduzieren.
-
Wählen Sie für Eingabespalten die Funktionen aus, die Sie auf die Hauptkomponenten reduzieren möchten.
-
(Optional) Wählen Sie für Anzahl der Hauptkomponenten die Anzahl der Hauptkomponenten aus, die Data Wrangler in Ihrem Datensatz zurückgibt. Wenn Sie einen Wert für das Feld angeben, können Sie keinen Wert für den Schwellenwert für die Varianz in Prozent angeben.
-
(Optional) Geben Sie für den Schwellenwert für die Varianz in Prozent den Prozentsatz der Streuung in den Daten an, der durch die Hauptkomponenten erklärt werden soll. Data Wrangler verwendet den Standardwert von
95
, wenn Sie keinen Wert für den Schwellenwert für die Varianz angeben. Sie können keinen Schwellenwert für die Varianz in Prozent angeben, wenn Sie einen Wert für Anzahl der Hauptkomponenten angegeben haben. -
(Optional) Deaktivieren Sie Mitte, um den Mittelwert der Spalten nicht als Mittelpunkt der Daten zu verwenden. Standardmäßig zentriert Data Wrangler die Daten vor der Skalierung anhand des Mittelwerts.
-
(Optional) Deaktivieren Sie Skalieren, wenn die Daten nicht mit der Standardabweichung der Einheit skaliert werden sollen.
-
(Optional) Wählen Sie Spalten, um die Komponenten in separaten Spalten auszugeben. Wählen Sie Vektor, um die Komponenten als Einzelvektor auszugeben.
-
(Optional) Geben Sie unter Ausgabespalte einen Namen für eine Ausgabespalte an. Wenn Sie die Komponenten in separate Spalten ausgeben, ist der angegebene Name ein Präfix. Wenn Sie die Komponenten in einen Vektor ausgeben, entspricht der von Ihnen angegebene Name dem Namen der Vektorspalte.
-
(Optional) Wählen Sie Eingabespalten beibehalten aus. Wir empfehlen, diese Option nicht zu wählen, wenn Sie nur die Hauptkomponenten zum Trainieren Ihres Modells verwenden möchten.
-
Wählen Sie Preview (Vorschau) aus.
-
Wählen Sie Hinzufügen aus.
Kategorisch codieren
Kategorische Daten bestehen normalerweise aus einer endlichen Anzahl von Kategorien, wobei jede Kategorie durch eine Zeichenfolge dargestellt wird. Wenn Sie z. B. eine Tabelle mit Kundendaten haben, ist eine Spalte, die angibt, in welchem Land eine Person lebt, kategorisch. Die Kategorien wären Afghanistan, Albanien, Algerien usw. Kategorische Daten können nominal oder ordinal sein. Ordinale Kategorien haben eine inhärente Reihenfolge, nominale Kategorien nicht. Der höchste erreichte Bildungsabschluss (Gymnasium, Bachelor, Master usw.) ist ein Beispiel für ordinale Kategorien.
Beim Kodieren von kategorischen Daten wird für Kategorien eine numerische Darstellung erstellt. Wenn Ihre Kategorien z. B. Hund und Katze sind, können Sie diese Informationen in zwei Vektoren kodieren, [1,0]
für Hund und [0,1]
für Katze.
Wenn Sie ordinale Kategorien kodieren, müssen Sie ggf. die natürliche Reihenfolge der Kategorien in Ihre Codierung übersetzen. Sie können z. B. den höchsten Bildungsabschluss mit der folgenden Abbildung darstellen: {"High school": 1, "Bachelors": 2,
"Masters":3}
.
Verwenden Sie die kategorische Codierung, um kategorische Daten, die im Zeichenfolgenformat vorliegen, in Arrays von ganzen Zahlen zu kodieren.
Die kategorischen Encoder von Data Wrangler erstellen Codierungen für alle Kategorien, die zum Zeitpunkt der Definition des Schrittes in einer Spalte vorhanden waren. Wenn zu einer Spalte beim Start eines Data Wrangler-Auftrags zur Verarbeitung Ihres Datensatzes zum Zeitpunkt t neue Kategorien hinzugefügt wurden und diese Spalte zum Zeitpunkt t -1 die Eingabe für eine kategorische Codierungstransformation von Data Wrangler war, werden diese neuen Kategorien im Data Wrangler-Auftrag als fehlend betrachtet. Die Option, die Sie für Ungültige Verarbeitungsstrategie auswählen, wird auf diese fehlenden Werte angewendet. Beispiele dafür, wann es dazu kommen kann, sind:
-
Wenn Sie eine .flow-Datei verwenden, um einen Data Wrangler-Auftrag zur Verarbeitung eines Datensatzes zu erstellen, der nach der Erstellung des Datenablaufs aktualisiert wurde. Sie können z. B. einen Datenablauf verwenden, um jeden Monat regelmäßig Verkaufsdaten zu verarbeiten. Wenn diese Verkaufsdaten wöchentlich aktualisiert werden, können neue Kategorien in Spalten eingeführt werden, für die ein kategorischer Codierungsschritt definiert ist.
-
Wenn Sie beim Import Ihres Datensatzes die Option Probenahme auswählen, werden manche Kategorien in der Stichprobe ggf. nicht berücksichtigt.
In diesen Situationen werden diese neuen Kategorien im Data Wrangler-Auftrag als fehlende Werte betrachtet.
Sie können zwischen einer ordinalen und einer One-Hot-Codierung wählen und diese konfigurieren. In den folgenden Abschnitten erfahren Sie mehr über diese Optionen.
Beide Transformationen erstellen eine neue Spalte mit dem Namen Name deer Ausgabespalte. Sie geben das Ausgabeformat dieser Spalte mit dem Ausgabestil an:
-
Wählen Sie Vektor, um eine einzelne Spalte mit einem spärlichen Vektor zu erzeugen.
-
Wählen Sie Spalten, um für jede Kategorie eine Spalte mit einer Indikatorvariablen zu erstellen, die angibt, ob der Text in der ursprünglichen Spalte einen Wert enthält, der dieser Kategorie entspricht.
Ordinale Codierung
Wählen Sie Ordinale Codierung aus, um Kategorien in eine Ganzzahl zwischen 0 und der Gesamtzahl der Kategorien in der ausgewählten Eingabespalte zu kodieren.
Ungültige Handhabungsstrategie: Wählen Sie eine Methode zum Umgang mit ungültigen oder fehlenden Werte aus.
-
Wählen Sie Überspringen aus, wenn Sie die Zeilen mit fehlenden Werten weglassen möchten.
-
Wählen Sie Behalten aus, um fehlende Werte als letzte Kategorie beizubehalten.
-
Wählen Sie Fehler aus, wenn Data Wrangler einen Fehler ausgeben soll, wenn in der Eingabespalte fehlende Werte gefunden werden.
-
Wählen Sie Durch NaN ersetzen, um fehlende Daten durch NaN zu ersetzen. Diese Option wird empfohlen, wenn Ihr ML-Algorithmus mit fehlenden Werten umgehen kann. Andernfalls führen die ersten drei Optionen auf dieser Liste ggf. zu besseren Ergebnissen.
One-Hot-Codierung
Wählen Sie One-Hot-Codierung aus, damit Transform die One-Hot-Codierung verwendet. Konfigurieren Sie diese Transformation wie folgt:
-
Letzte Kategorie löschen: Falls
True
, hat die letzte Kategorie in der One-Hot-Codierung keinen entsprechenden Index. Wenn fehlende Werte möglich sind, ist eine fehlende Kategorie immer die letzte. Wenn Sie diesen Wert aufTrue
setzen, bedeutet dies, dass ein fehlender Wert zu einem reinen Nullvektor führt. -
Ungültige Handhabungsstrategie: Wählen Sie eine Methode zum Umgang mit ungültigen oder fehlenden Werte aus.
-
Wählen Sie Überspringen aus, wenn Sie die Zeilen mit fehlenden Werten weglassen möchten.
-
Wählen Sie Behalten aus, um fehlende Werte als letzte Kategorie beizubehalten.
-
Wählen Sie Fehler aus, wenn Data Wrangler einen Fehler ausgeben soll, wenn in der Eingabespalte fehlende Werte gefunden werden.
-
-
Ist die Eingabe ordinal codiert: Wählen Sie diese Option, wenn der Eingabevektor ordinal codierte Daten enthält. Für diese Option ist es erforderlich, dass Eingabedaten nicht-negative Ganzzahlen enthalten. Wenn True wird die Eingabe i als Vektor mit einem Wert ungleich Null in der i-ten Position codiert.
Ähnlichkeitscodierung
Verwenden Sie die Ähnlichkeitscodierung, wenn folgendes vorliegt:
-
Eine große Anzahl kategorischer Variablen
-
Verrauschte Daten
Der Ähnlichkeits-Encoder erstellt für Spalten mit kategorischen Daten Einbettungen. Eine Einbettung ist eine Zuordnung diskreter Objekte, wie z. B. Wörter, auf Vektoren von realen Zahlen. Sie codiert Zeichenfolgen, die Vektoren mit ähnlichen Werten ähneln. Zum Beispiel erstellt sie sehr ähnliche Codierungen für „California“ und „Calfornia“.
Data Wrangler konvertiert jede Kategorie in Ihrem Datensatz mithilfe eines 3-Gramm-Tokenizers in einen Satz Token. Er konvertiert die Token mithilfe der Min-Hash-Codierung in eine Einbettung.
Die von Data Wrangler erstellten Ähnlichkeitscodierungen:
-
Haben eine geringere Dimensionalität
-
Sind auf eine große Anzahl von Kategorien skalierbar
-
Sind robust und rauschbeständig
Aus den o.g. Gründen ist die Ähnlichkeitscodierung vielseitiger als die One-Hot-Codierung.
Gehen Sie wie folgt vor, um die Ähnlichkeitscodierungstransformation zu Ihrem Datensatz hinzuzufügen.
Gehen Sie wie folgt vor, um die Ähnlichkeitscodierung zu verwenden.
-
Melden Sie sich bei der SageMakerAmazon-Konsole
an. -
Wählen Sie Open Studio Classic.
-
Wählen Sie App starten.
-
Wählen Sie Studio.
-
Geben Sie Ihren Datenablauf an.
-
Wählen Sie einen Schritt mit Transformation.
-
Wählen Sie Schritt hinzufügen.
-
Wählen Sie Kategorisch codieren.
-
Machen Sie folgende Angaben:
-
Transformation – Ähnlichkeitscodierung
-
Eingabespalte – Die Spalte mit den kategorischen Daten, die Sie codieren wollen.
-
Zieldimension – (Optional) Die Dimension des kategorischen Einbettungsvektors. Der Standardwert lautet 30. Wir empfehlen, eine höhere Zieldimension zu verwenden, wenn Sie einen großen Datensatz mit vielen Kategorien haben.
-
Ausgabestil – Wählen Sie Vektor für einen Einzelvektor mit allen kodierten Werten. Wählen Sie Spalte, wenn die codierten Werte in separaten Spalten angezeigt werden sollen.
-
Ausgabespalte – (Optional) Der Name der Ausgabespalte für eine vektorkodierte Ausgabe. Bei einer spaltencodierten Ausgabe ist dies das Präfix der Spaltennamen, gefolgt von einer aufgelisteten Zahl.
-
Text funktionalisieren
Verwenden Sie die Transformationsgruppe Text funktionalisieren, um Spalten mit Zeichenfolgen zu untersuchen und diese Spalten mithilfe von Texteinbettung zu funktionalisieren.
Diese Feature-Gruppe beinhaltet zwei Funktionen: Zeichenstatistik und Vektorisieren. In den folgenden Abschnitten erfahren Sie mehr über diese Transformationen. Für beide Optionen muss die Eingabespalte Textdaten (vom Typ Zeichenfolge) enthalten.
Zeichenstatistik
Mit Hilfe der Zeichenstatistik können Sie für jede Zeile in einer Spalte, die Textdaten enthält, Statistiken erzeugen.
Diese Transformation berechnet die folgenden Verhältnisse und Anzahlen für jede Zeile und erstellt eine neue Spalte, in der das Ergebnis angegeben wird. Die neue Spalte wird mit dem Namen der Eingabespalte als Präfix und einem Suffix benannt, das für das Verhältnis oder die Anzahl spezifisch ist.
-
Anzahl der Wörter: Die Gesamtzahl der Wörter in dieser Zeile. Das Suffix für diese Ausgabespalte ist
-stats_word_count
. -
Anzahl der Zeichen: Die Gesamtzahl der Zeichen in dieser Zeile. Das Suffix für diese Ausgabespalte ist
-stats_char_count
. -
Verhältnis von Großbuchstaben: Die Anzahl der Großbuchstaben von A bis Z geteilt durch die Anzahl aller Zeichen in der Spalte. Das Suffix für diese Ausgabespalte ist
-stats_capital_ratio
. -
Verhältnis von Kleinbuchstaben: Die Anzahl der Kleinbuchstaben von A bis Z geteilt durch die Anzahl aller Zeichen in der Spalte. Das Suffix für diese Ausgabespalte ist
-stats_lower_ratio
. -
Ziffernverhältnis: Das Verhältnis der Ziffern in einer einzelnen Zeile zur Summe der Ziffern in der Eingabespalte. Das Suffix für diese Ausgabespalte ist
-stats_digit_ratio
. -
Verhältnis von Sonderzeichen: Das Verhältnis von nicht alphanumerischen Zeichen (Zeichen wie #$&%: @) zur Summe aller Zeichen in der Eingabespalte. Das Suffix für diese Ausgabespalte ist
-stats_special_ratio
.
Vektorisieren
Beim Einbetten von Text werden Wörter oder Wortgruppen aus einem Vokabular Vektoren aus realen Zahlen zugeordnet. Verwenden Sie die Data Wrangler-Transformation zur Texteinbettung, um Textdaten zu tokenisieren und in Vektoren mit umgekehrter Dokumentenfrequenz (TF-) umzuwandeln. IDF
Wenn TF- für eine Spalte mit Textdaten berechnet IDF wird, wird jedes Wort in jedem Satz in eine reelle Zahl umgewandelt, die seiner semantischen Bedeutung entspricht. Höhere Zahlen werden weniger häufigen Wörtern zugeordnet, die tendenziell bedeutsamer sind.
Wenn Sie einen Transformationsschritt „Vektorisieren“ definieren, verwendet Data Wrangler die Daten in Ihrem Datensatz, um die Methoden Count-Vectorizer und TF- zu definieren. IDF Bei der Ausführung eines Data Wrangler-Auftrags werden dieselben Methoden verwendet.
Diese Transformation konfigurieren Sie wie folgt:
-
Name der Ausgabespalte: Diese Transformation erstellt eine neue Spalte mit eingebettetem Text. In diesem Feld können Sie einen Namen für diese Ausgabespalte angeben.
-
Tokenizer: Ein Tokenizer wandelt den Satz in eine Liste von Wörtern oder Tokens um.
Wählen Sie Standard, um einen Tokenizer zu verwenden, der durch Leerzeichen teilt und für jedes Wort die Kleinschreibung wählt. Zum Beispiel wird
"Good dog"
in["good","dog"]
tokenisiert.Wählen Sie Benutzerdefiniert, um einen benutzerdefinierten Tokenizer zu verwenden. Wenn Sie Benutzerdefiniert wählen, können Sie den Tokenizer mit Hilfe der folgenden Felder konfigurieren:
-
Mindestlänge eines Tokens: Die Mindestlänge in Zeichen, damit ein Token gültig ist. Standardeinstellung:
1
. Wenn Sie z. B. eine Mindestlänge3
für ein Token angeben,a, at, in
werden Wörter wie aus dem tokenisierten Satz gestrichen. -
Soll Regex bei Lücken getrennt werden: Wenn diese Option ausgewählt ist, trennt Regex bei Lücken. Andernfalls entspricht es den Tokens. Standardeinstellung:
True
. -
Regex-Muster: Regex-Muster, das den Tokenisierungsprozess definiert. Standardeinstellung:
' \\ s+'
. -
In Kleinbuchstaben: Wenn diese Option ausgewählt ist, konvertiert Data Wrangler vor der Tokenisierung alle Zeichen in Kleinbuchstaben. Standardeinstellung:
True
.
Weitere Informationen finden Sie in der Spark-Dokumentation zum Tokenizer
. -
-
Vectorizer: Der Vectorizer konvertiert die Liste der Tokens in einen spärlichen numerischen Vektor. Jeder Token entspricht einem Index im Vektor. Ein Wert ungleich Null weist auf die Existenz des Tokens im Eingabesatz hin. Sie können zwischen zwei Vektorizer-Optionen wählen: Count und Hashing.
-
Count Vectorize erlaubt Anpassungen, bei denen seltene oder zu übliche Tokens herausgefiltert werden. Parameter für die Vektorisierung der Anzahl sind u.a.:
-
Mindesthäufigkeit eines Begriffs: In jeder Zeile werden Begriffe (Tokens) mit geringerer Häufigkeit herausgefiltert. Wenn Sie eine Ganzzahl angeben, ist dies ein absoluter Schwellenwert (inklusive). Wenn Sie einen Bruch zwischen 0 (inklusive) und 1 angeben, ist der Schwellenwert relativ zur Gesamtzahl, mit der Begriff vorkommt. Standardeinstellung:
1
. -
Mindestdokumenthäufigkeit: Die Mindestanzahl der Zeilen, in denen ein Begriff (Token) vorkommen muss, damit er berücksichtigt wird. Wenn Sie eine Ganzzahl angeben, ist dies ein absoluter Schwellenwert (inklusive). Wenn Sie einen Bruch zwischen 0 (inklusive) und 1 angeben, ist der Schwellenwert relativ zur Gesamtzahl, mit der Begriff vorkommt. Standardeinstellung:
1
. -
Maximale Dokumenthäufigkeit: Die maximale Anzahl von Dokumenten (Zeilen), in denen ein Begriff (Token) vorkommen muss, damit er berücksichtigt wird. Wenn Sie eine Ganzzahl angeben, ist dies ein absoluter Schwellenwert (inklusive). Wenn Sie einen Bruch zwischen 0 (inklusive) und 1 angeben, ist der Schwellenwert relativ zur Gesamtzahl, mit der Begriff vorkommt. Standardeinstellung:
0.999
. -
Maximale Größe des Vokabulars: Maximale Größe des Vokabulars. Das Vokabular besteht aus allen Begriffen (Tokens) in allen Zeilen der Spalte. Standardeinstellung:
262144
. -
Binäre Ausgaben: Wenn diese Option ausgewählt ist, enthalten die Vektorausgaben nicht die Anzahl, mit der ein Begriff in einem Dokument vorkommt, sondern sind vielmehr ein binärer Indikator für sein Vorkommen. Standardeinstellung:
False
.
Weitere Informationen zu dieser Option finden Sie in der Spark-Dokumentation unter. CountVectorizer
-
-
Hashing ist rechnerisch schneller. Die Parameter für die Hash-Vektorisierung beinhalten:
-
Die Anzahl der Funktionen beim Hashing: Ein Hash-Vektorisierer ordnet Token entsprechend ihrem Hash-Wert einem Vektorindex zu. Diese Funktion bestimmt die Anzahl der möglichen Hash-Werte. Große Werte führen zu weniger Kollisionen zwischen Hash-Werten, aber zu einem höherdimensionalen Ausgabevektor.
Weitere Informationen zu dieser Option finden Sie in der Spark-Dokumentation unter FeatureHasher
-
-
-
Apply IDF wendet eine IDF Transformation an, bei der der Begriff Häufigkeit mit der standardmäßigen inversen Dokumentfrequenz multipliziert wird, die für die TF-Einbettung verwendet wird. IDF IDFZu den Parametern gehören die folgenden:
-
Mindestdokumenthäufigkeit: Die Mindestanzahl von Dokumenten (Zeilen), in denen ein Begriff (Token) vorkommen muss, damit er berücksichtigt wird. Wenn count_vectorize der gewählte Vectorizer ist, empfehlen wir, den Standardwert beizubehalten und nur das Feld min_doc_freq in den Count vectorize-Parametern zu ändern. Standardeinstellung:
5
.
-
-
Ausgabeformat: Das Ausgabeformat jeder Zeile.
-
Wählen Sie Vektor, um eine einzelne Spalte mit einem spärlichen Vektor zu erzeugen.
-
Wählen Sie Abgeflacht, um für jede Kategorie eine Spalte mit einer Indikatorvariablen zu erstellen, die angibt, ob der Text in der ursprünglichen Spalte einen Wert enthält, der dieser Kategorie entspricht. Sie können Abgeflacht nur wählen, wenn Vectorizer als Vectorizer Count vectorizer ausgewählt ist.
-
Zeitreihen transformieren
In Data Wrangler können Sie Zeitreihendaten transformieren. Die Werte in einem Zeitreihendatensatz sind für eine spezfische Zeit indexiert. Bei einem Datensatz, der die Anzahl der Kunden in einem Geschäft für jede Stunde des Tages anzeigt, handelt es sich z. B. um einen Zeitreihendatensatz. Die folgende Tabelle zeigt ein Beispiel für einen Zeitreihendatensatz.
Stündliche Anzahl von Kunden in einem Geschäft
Anzahl der Kunden | Zeit (Stunde) |
---|---|
4 | 09:00 |
10 | 10:00 |
14 | 11:00 |
25 | 12:00 |
20 | 13:00 |
18 | 14:00 Uhr |
In der obigen Tabelle enthält die Spalte Anzahl der Kunden die Zeitreihendaten. Die Zeitreihendaten werden anhand der stündlichen Daten in der Spalte Zeit (Stunde) indexiert.
Sie müssen ggf. eine Reihe von Transformationen an Ihren Daten vornehmen, um diese in ein Format zu bringen, das Sie für Ihre Analyse verwenden können. Verwenden Sie die Transformationsgruppe Zeitreihen, um Ihre Zeitreihendaten zu transformieren. Weitere Informationen zu den Transformationen, die Sie vornehmen können, finden Sie in den folgenden Abschnitten.
Themen
- Gruppierung nach Zeitreihe
- Nehmen Sie erneut Proben aus den Zeitreihendaten
- Fehlende Zeitreihendaten behandeln
- Überprüfen Sie den Zeitstempel Ihrer Zeitreihendaten
- Länge der Zeitreihe standardisieren
- Funktionen aus Ihren Zeitreihendaten extrahieren
- Verwenden Sie verzögerte Funktionen aus Ihren Zeitreihendaten
- Einen DateTime-Bereich in Ihrer Zeitreihe erstellen
- Verwenden Sie in Ihrer Zeitreihe ein rollendes Fenster
Gruppierung nach Zeitreihe
Sie können den Vorgang „Gruppieren nach“ verwenden, um Zeitreihendaten für bestimmte Werte in einer Spalte zu gruppieren.
Sie haben z. B. die folgende Tabelle, in der der durchschnittliche tägliche Stromverbrauch in einem Haushalt erfasst wird.
Durchschnittlicher täglicher Stromverbrauch im Haushalt
Haushalts-ID | Täglicher Zeitstempel | Stromverbrauch (kWh) | Anzahl der Bewohner im Haushalt |
---|---|---|---|
household_0 | 1.1.2020 | 30 | 2 |
household_0 | 2/1/2020 | 40 | 2 |
household_0 | 1/4/2020 | 35 | 3 |
household_1 | 1/2/2020 | 45 | 3 |
household_1 | 3/1/2020 | 55 | 4 |
Wenn Sie nach ID gruppieren wollen, erhalten Sie die folgende Tabelle.
Stromverbrauch gruppiert nach Haushalts-ID
Haushalts-ID | Serie zum Stromverbrauch () kWh | Serie Anzahl der Bewohner im Haushalt |
---|---|---|
household_0 | [30, 40, 35] | [2, 2, 3] |
household_1 | [45, 55] | [3, 4] |
Jeder Eintrag in der Zeitreihenfolge ist nach dem jeweiligen Zeitstempel sortiert. Das erste Element der Reihenfolge entspricht dem ersten Zeitstempel der Serie. Für household_0
, ist 30
der erste Wert der Serie „Stromverbrauch“. Der Wert von 30
entspricht dem ersten Zeitstempel von 1/1/2020
.
Sie können den Anfangs- und den Endzeitstempel einschließen. Die folgende Tabelle zeigt, wie diese Informationen erscheinen.
Stromverbrauch gruppiert nach Haushalts-ID
Haushalts-ID | Serie zum Stromverbrauch (kWh) | Serie Anzahl der Bewohner im Haushalt | Start_time | End_time |
---|---|---|---|---|
household_0 | [30, 40, 35] | [2, 2, 3] | 1.1.2020 | 04.01.2020 |
household_1 | [45, 55] | [3, 4] | 1/2/2020 | 3/1/2020 |
Um nach einer Zeitreihenspalte zu gruppieren, können Sie wie folgt vorgehen.
-
Öffnen Sie Ihren Data Wrangler-Datenablauf.
-
Wählen Sie in Ihrem Datenablauf unter Datentypen das + und dann Transformation hinzufügen aus.
-
Wählen Sie Schritt hinzufügen.
-
Wählen Sie Zeitreihen aus.
-
Wählen Sie unter Transformation die Option Gruppieren nach aus.
-
Geben Sie im Feld Nach dieser Spalte gruppieren eine Spalte an.
-
Geben Sie für Auf Spalten anwenden einen Wert an.
-
Wählen Sie Vorschau, um eine Vorschau der Transformation zu erstellen.
-
Wählen Sie Hinzufügen, um die Transformation zum Data Wrangler-Datenablauf hinzuzufügen.
Nehmen Sie erneut Proben aus den Zeitreihendaten
Zeitreihendaten enthalten normalerweise Beobachtungen, die nicht in regelmäßigen Abständen erfolgen. Ein Datensatz kann z. B. Beobachtungen enthalten, die stündlich, und andere, die alle zwei Stunden aufgezeichnet werden.
Viele Analysen, z. B. Prognosealgorithmen, erfordern, dass die Beobachtungen in regelmäßigen Abständen erfolgen. Durch die erneute Probenahme können Sie für die Beobachtungen in Ihrem Datensatz regelmäßige Intervalle festlegen.
Sie können für eine Zeitreihe entweder ein mehr oder weniger Proben nehmen. Wenn Sie weniger Proben nehmen, wird das Intervall zwischen den Beobachtungen im Datensatz vergrößert. Wenn Sie z. B. Beobachtungen, die entweder stündlich oder alle zwei Stunden erfolgen, seltener machen, erfolgt jede Beobachtung in Ihrem Datensatz alle zwei Stunden. Die stündlichen Beobachtungen werden mithilfe einer Aggregationsmethode wie dem Mittelwert oder dem Median zu einem einzigen Wert aggregiert.
Wenn Sie mehr Proben nehmen, wird das Intervall zwischen den Beobachtungen im Datensatz verkleinert. Wenn Sie z. B. Beobachtungen, die alle zwei Stunden erfolgen, jetzt stündlich machen, können Sie mit Hilfe einer Interpolationsmethode stündliche Beobachtungen aus den Beobachtungen abzuleiten, die alle zwei Stunden erfolgt sind. Informationen zu Interpolationsmethoden finden Sie unter Pandas. DataFrame.interpolieren.
Sie können sowohl bei numerischen als auch bei nicht-numerischen Daten die Anzahl der Proben ändern.
Mit Hilfe des Vorgangs Probenahme ändern können Sie die Häufigkeit der Probenahme für Ihre Zeitreihendaten ändern. Wenn Ihr Datensatz mehrere Zeitreihen enthält, standardisiert Data Wrangler das Zeitintervall für jede Zeitreihe.
Die folgende Tabelle zeigt ein Beispiel für Zeitreihendaten, bei denen die Häufigkeit der Probenahme unter Verwendung des Mittelwertes als Aggregationsmethode verringert wurde. Die Daten werden heruntergerechnet von alle zwei Stunden auf jede Stunde.
Stündliche Temperaturwerte im Tagesverlauf vor der Senkung der Messhäufigkeit
Zeitstempel | Temperatur (° Celsius) |
---|---|
12:00 | 30 |
1:00 | 32 |
2:00 | 35 |
3:00 | 32 |
4:00 | 30 |
Die Temperaturwerte wurden auf alle zwei Stunden heruntergerechnet
Zeitstempel | Temperatur (° Celsius) |
---|---|
12:00 | 30 |
2:00 | 33,5 |
4:00 | 35 |
Gehen Sie wie folgt vor, um die Häufigkeit der Probenahme bei Zeitreihendaten zu ändern.
-
Öffnen Sie Ihren Data Wrangler-Datenablauf.
-
Wählen Sie in Ihrem Datenablauf unter Datentypen das + und dann Transformation hinzufügen aus.
-
Wählen Sie Schritt hinzufügen.
-
Wählen Sie Probenahme ändern.
-
Wählen Sie für Zeitstempel die Spalte mit den Zeitstempeln aus.
-
Geben Sie unter Frequenzeinheit die Frequenz an, mit der die Probenahme erfolgt.
-
(Optional) Geben Sie einen Wert für die Frequenz.
-
Konfigurieren Sie die Transformation, indem Sie in den verbleibenden Feldern Angaben machen.
-
Wählen Sie Vorschau, um eine Vorschau der Transformation zu erstellen.
-
Wählen Sie Hinzufügen, um die Transformation zum Data Wrangler-Datenablauf hinzuzufügen.
Fehlende Zeitreihendaten behandeln
Wenn in Ihrem Datensatz Werte fehlen, können Sie eine der folgenden Maßnahmen ergreifen:
-
Löschen Sie bei Datensätzen mit mehreren Zeitreihen die Zeitreihen mit fehlenden Werten, die größer sind als ein von Ihnen angegebener Schwellenwert.
-
Imputieren Sie die fehlenden Werte in einer Zeitreihe, indem Sie andere Werte in der Zeitreihe verwenden.
Beim Imputieren eines fehlenden Wertes müssen die Daten entweder durch Angabe eines Wertes oder mit einer Methode zum Schlussfolgern ersetzt werden. Sie können die folgenden Methoden verwenden, um die fehlenden Werte zu imputieren:
-
Konstanter Wert – Ersetzt alle fehlenden Daten in Ihrem Datensatz durch einen von Ihnen angegebenen Wert.
-
Häufigster Wert – Ersetzt alle fehlenden Daten durch den Wert mit der größten Häufigkeit im Datensatz.
-
Vorwärtsauffüllung – Sie können fehlende Werte jeweils durch den vorangehenden Wert ersetzen, der nicht fehlt. Für die Sequenz: [2, 4, 7, NaN, NaN, NaN, 8] werden alle fehlenden Werte durch 7 ersetzt. Die Reihenfolge, die sich aus der Vorwärtsauffüllung ergibt, ist [2, 4, 7, 7, 7, 8].
-
Rückwärtsauffüllung – Hierbei werden fehlende Werte durch den jeweils nachfolgenden Wert ersetzt, der nicht fehlt. Für die Sequenz: [2, 4, 7, NaN, NaN, 8] werden alle fehlenden Werte durch 8 ersetzt. Die Reihenfolge, die sich aus der Rückwärtsauffüllung ergibt, ist [2, 4, 7, 8, 8, 8].
-
Interpolieren – Fehlende Werte werden mit Hilfe einer Interpolationsfunktion imputiert. Weitere Informationen zu den Funktionen, die Sie für die Interpolation verwenden können, finden Sie unter Pandas. DataFrame.interpolieren.
Einige der Imputationsmethoden können ggf. nicht alle fehlenden Werte in Ihrem Datensatz imputieren. Eine Vorwärtsauffüllung kann z. B. keinen fehlenden Wert imputieren, der am Anfang der Zeitreihe erscheint. Sie können die Werte imputieren, indem Sie entweder eine Vorwärtsauffüllung oder eine Rückwärtsauffüllung verwenden.
Fehlende Werte können Sie entweder innerhalb einer Zelle oder innerhalb einer Spalte imputieren.
Das folgende Beispiel zeigt, wie Werte innerhalb einer Zelle imputiert werden.
Stromverbrauch mit fehlenden Werten
Haushalts-ID | Serie zum Stromverbrauch () kWh |
---|---|
household_0 | [30, 40, 35, NaN, NaN] |
household_1 | [45, NaN, 55] |
Stromverbrauch mit Werten, die nach einem Forward-Fill-Verfahren unterstellt wurden
Haushalts-ID | Serie zum Stromverbrauch (kWh) |
---|---|
household_0 | [30, 40, 35, 35, 35] |
household_1 | [45, 45, 55] |
Das folgende Beispiel zeigt, wie Werte innerhalb einer Spalte unterstellt werden.
Durchschnittlicher täglicher Stromverbrauch im Haushalt mit fehlenden Werten
Haushalts-ID | Stromverbrauch (kWh) |
---|---|
household_0 | 30 |
household_0 | 40 |
household_0 | NaN |
household_1 | NaN |
household_1 | NaN |
Durchschnittlicher täglicher Stromverbrauch im Haushalt mit Werten, die anhand eines Forward-Fill-Verfahrens unterstellt werden
Haushalts-ID | Stromverbrauch (kWh) |
---|---|
household_0 | 30 |
household_0 | 40 |
household_0 | 40 |
household_1 | 40 |
household_1 | 40 |
Gehen Sie wie folgt vor, um fehlende Werte zu handhaben.
-
Öffnen Sie Ihren Data Wrangler-Datenablauf.
-
Wählen Sie in Ihrem Datenablauf unter Datentypen das + und dann Transformation hinzufügen aus.
-
Wählen Sie Schritt hinzufügen.
-
Wählen Sie Fehlende Werte handhaben aus.
-
Wählen Sie für den Eingabetyp Zeitreihe aus, ob Sie fehlende Werte innerhalb einer Zelle oder entlang einer Spalte behandeln möchten.
-
Geben Sie unter Fehlende Werte für diese Spalte imputieren die Spalte mit den fehlenden Werten an.
-
Wählen Sie unter Methode zum Imputieren von Werten eine Methode aus.
-
Konfigurieren Sie die Transformation, indem Sie in den verbleibenden Feldern Angaben machen.
-
Wählen Sie Vorschau, um eine Vorschau der Transformation zu erstellen.
-
Wenn Ihnen Werte fehlen, können Sie unter Methode zum Imputieren eine Methode angeben, mit der diese imputiert werden sollen.
-
Wählen Sie Hinzufügen aus, um die Transformation zum Data Wrangler-Datenablauf hinzuzufügen.
Überprüfen Sie den Zeitstempel Ihrer Zeitreihendaten
Sie haben ggf. ungültige Zeitstempeldaten. Mit der Funktion Zeitstempel überprüfen können Sie feststellen, ob die Zeitstempel in Ihrem Datensatz gültig sind. Ihr Zeitstempel kann aus einem oder mehreren der folgenden Gründe ungültig sein:
-
In Ihrer Spalte für die Zeitstempel fehlen Werte.
-
Die Werte in Ihrer Spalte für die Zeitstempel sind nicht richtig formatiert.
Wenn Ihr Datensatz ungültige Zeitstempel enthält, können Sie Ihre Analyse nicht erfolgreich durchführen. Mit Data Wrangler können Sie ungültige Zeitstempel identifizieren und herausfinden, wo Sie Ihre Daten bereinigen müssen.
Die Validierung von Zeitreihen erfolgt auf eine der beiden folgenden Weisen:
Sie können Data Wrangler so konfigurieren, dass eine der folgenden Maßnahmen ausgeführt wird, wenn in Ihrem Datensatz Werte fehlen:
-
Löschen Sie die Zeilen mit den fehlenden oder ungültigen Werten.
-
Suchen Sie die Zeilen mit den fehlenden oder ungültigen Werten.
-
Gibt einen Fehler aus, wenn fehlende oder ungültige Werte in Ihrem Datensatz gefunden werden.
Sie können die Zeitstempel für Spalten überprüfen, die entweder den Typ timestamp
oder string
haben. Wenn die Spalte vom Typ string
ist, konvertiert Data Wrangler den Typ der Spalte in timestamp
und nimmt die Validierung vor.
Gehen Sie wie folgt vor, um die Zeitstempel in Ihrem Datensatz zu überprüfen.
-
Öffnen Sie Ihren Data Wrangler-Datenablauf.
-
Wählen Sie in Ihrem Datenablauf unter Datentypen das + und dann Transformation hinzufügen aus.
-
Wählen Sie Schritt hinzufügen.
-
Wählen Sie Zeitstempel validieren aus.
-
Wählen Sie für Spalte für Zeitstempel die Spalte mit den Zeitstempeln aus.
-
Wählen Sie unter Richtlinie aus, ob Sie mit fehlenden Zeitstempeln umgehen möchten.
-
(Optional) Geben Sie für Ausgabespalte einen Namen für die Ausgabespalte an.
-
Wenn die Datums- und Uhrzeitspalte für den Zeichenfolgentyp formatiert ist, wählen Sie In Datetime umwandeln aus.
-
Wählen Sie Vorschau, um eine Vorschau der Transformation zu erstellen.
-
Wählen Sie Hinzufügen, um die Transformation zum Data Wrangler-Datenablauf hinzuzufügen.
Länge der Zeitreihe standardisieren
Wenn Sie Zeitreihendaten als Arrays abspeichern, können Sie jede Zeitreihe auf dieselbe Länge standardisieren. Wenn Sie die Länge des Zeitreihenarrays standardisieren, können Sie die Daten ggf. leichter analysieren.
Sie können Ihre Zeitreihen für Datentransformationen standardisieren, bei denen die Länge Ihrer Daten festgelegt werden muss.
Bei vielen ML-Algorithmen müssen Sie Ihre Zeitreihendaten abflachen, bevor Sie sie verwenden. Beim Abflachen von Zeitreihendaten wird jeder Wert der Zeitreihe in einer eigenen Spalte in einem Datensatz abgetrennt. Die Anzahl der Spalten in einem Datensatz kann sich nicht ändern. Daher muss die Länge der Zeitreihen standardisiert werden, wenn Sie jedes Array auf eine Reihe von Funktionen abflachen.
Jede Zeitreihe wird auf die Länge festgelegt, die Sie als Quantil oder Perzentil des Zeitreihensatzes angeben. Sie können z. B. drei Sequenzen mit folgenden Längen verwenden:
-
3
-
4
-
5
Sie können die Länge aller Sequenzen als die Länge der Sequenz mit der Länge des 50. Perzentils festlegen.
Bei Zeitreihen-Arrays, die kürzer sind als die von Ihnen angegebene Länge, wurden fehlende Werte hinzugefügt. Das Folgende ist ein Beispielformat für die Standardisierung der Zeitreihe auf eine größere Länge: [2, 4, 5, NaN, NaN, NaN].
Sie können verschiedene Ansätze verwenden, um mit den fehlenden Werten umzugehen. Informationen zu diesen Ansätzen finden Sie unter Fehlende Zeitreihendaten behandeln.
Die Zeitreihen-Arrays, die länger sind als die von Ihnen angegebene Länge, werden gekürzt.
Gehen Sie wie folgt vor, um die Länge der Zeitreihen zu standardisieren.
-
Öffnen Sie Ihren Data Wrangler-Datenablauf.
-
Wählen Sie in Ihrem Datenablauf unter Datentypen das + und dann Transformation hinzufügen aus.
-
Wählen Sie Schritt hinzufügen.
-
Wählen Sie Länge standardisieren.
-
Wählen Sie unter Länge der Zeitreihe für die Spalte standardisieren eine Spalte aus.
-
(Optional) Geben Sie für Ausgabespalte einen Namen für die Ausgabespalte an. Wenn Sie keinen Namen angeben, wird die Transformation an Ort und Stelle vorgenommen.
-
Wenn die Datetime-Spalte für den Typ der Zeichenfolge formatiert ist, wählen Sie In Datetime umwandeln aus.
-
Wählen Sie Grenz-Quantil und geben Sie ein Quantil an, um die Länge der Sequenz festzulegen.
-
Wählen Sie Ausgabe abflachen, um die Werte der Zeitreihe in separate Spalten auszugeben.
-
Wählen Sie Vorschau, um eine Vorschau der Transformation zu erstellen.
-
Wählen Sie Hinzufügen, um die Transformation zum Data Wrangler-Datenablauf hinzuzufügen.
Funktionen aus Ihren Zeitreihendaten extrahieren
Wenn Sie einen Klassifikations- oder Regressionsalgorithmus für Ihre Zeitreihendaten ausführen, empfehlen wir, Funktionen aus der Zeitreihe zu extrahieren, bevor Sie den Algorithmus ausführen. Funktionen zu extrahieren kann die Leistung Ihres Algorithmus verbessern.
Verwenden Sie die folgenden Optionen, um auszuwählen, wie Sie Funktionen aus Ihren Daten extrahieren möchten:
-
Verwenden Sie Mindestteilmenge, um anzugeben, dass 8 Funktionen extrahiert werden sollen, von denen Sie wissen, dass sie für nachgelagerte Analysen nützlich sind. Sie können eine Mindestteilmenge verwenden, wenn Sie Berechnungen schnell durchführen müssen. Sie können sie auch verwenden, wenn bei Ihrem ML-Algorithmus ein hohes Risiko einer Überanpassung besteht und Sie ihm weniger Funktionen zur Verfügung stellen möchten.
-
Verwenden Sie Effiziente Teilmenge, um anzugeben, dass möglichst viele Funktionen extrahiert werden sollen, ohne Funktionen zu extrahieren, die bei Ihren Analysen rechenintensiv sind.
-
Verwenden Sie Alle Funktionen, um anzugeben, dass alle Funktionen aus der Tune-Serie extrahiert werden sollen.
-
Verwenden Sie Manuelle Teilmenge, um eine Liste von Funktionen auszuwählen, die Ihrer Meinung nach die Variation in Ihren Daten gut erklären.
Gehen Sie wie folgt vor, um aus Ihren Zeitreihendaten Funktionen zu extrahieren.
-
Öffnen Sie Ihren Data Wrangler-Datenablauf.
-
Wählen Sie in Ihrem Datenablauf unter Datentypen das + und dann Transformation hinzufügen aus.
-
Wählen Sie Schritt hinzufügen.
-
Wählen Sie Funktionen extrahieren aus.
-
Wählen Sie unter Funktionen für diese Spalte extrahieren eine Spalte aus.
-
(Optional) Wählen Sie Abflachen aus, um die Funktionen in separate Spalten auszugeben.
-
Wählen Sie unter Strategie eine Strategie zum Extrahieren der Funktionen aus.
-
Wählen Sie Vorschau aus, um eine Vorschau der Transformation zu erstellen.
-
Wählen Sie Hinzufügen aus, um die Transformation zum Data Wrangler-Datenablauf hinzuzufügen.
Verwenden Sie verzögerte Funktionen aus Ihren Zeitreihendaten
In vielen Anwendungsfällen können Sie das zukünftige Verhalten Ihrer Zeitreihe am besten anhand ihres jüngsten Verhaltens vorhersagen.
Verzögerte Funktionen werden meist wie folgt verwendet:
-
Erfassung einer Handvoll Werte aus der Vergangenheit. Für die Zeit t + 1 sammeln Sie z. B. t, t – 1, t – 2 und t – 3.
-
Werte sammeln, die dem saisonalen Verhalten in den Daten entsprechen. Um z. B. die Belegung eines Restaurants um 13:00 Uhr vorherzusagen, verwenden Sie ggf. die Merkmale von 13:00 Uhr am Vortag. Wenn Sie die Merkmale von 12:00 Uhr oder 11:00 Uhr am selben Tag verwenden, sind diese evtl. nicht so aussagekräftig wie die der Vortage.
-
Öffnen Sie Ihren Data Wrangler-Datenablauf.
-
Wählen Sie in Ihrem Datenablauf unter Datentypen das + und dann Transformation hinzufügen aus.
-
Wählen Sie Schritt hinzufügen.
-
Wählen Sie Verzögerten Funktionen aus.
-
Wählen Sie unter Verzögerte Funktionen für diese Spalte erzeugen eine Spalte aus.
-
Wählen Sie für Spalte für Zeitstempel die Spalte mit den Zeitstempeln aus.
-
Geben Sie für Verzögerung die Dauer der Verzögerung an.
-
(Optional) Konfigurieren Sie die Ausgabe mit Hilfe einer der folgenden Optionen:
-
Das gesamte Verzögerungsfenster einschließen
-
Ausgabe abflachen
-
Zeilen ohne Verlauf löschen
-
-
Wählen Sie Vorschau, um eine Vorschau der Transformation zu erstellen.
-
Wählen Sie Hinzufügen, um die Transformation zum Data Wrangler-Datenablauf hinzuzufügen.
Einen DateTime-Bereich in Ihrer Zeitreihe erstellen
Sie haben ggf. Zeitreihendaten ohne Zeitstempel. Wenn Sie wissen, dass die Beobachtungen in regelmäßigen Abständen gemacht wurden, können Sie Zeitstempel für die Zeitreihen in einer separaten Spalte generieren. Um Zeitstempel zu generieren, geben Sie den Wert für den Anfangszeitstempel und die Häufigkeit der Zeitstempel an.
Sie haben z. B. die folgenden Zeitreihendaten für die Anzahl der Kunden in einem Restaurant.
Zeitreihendaten zur Anzahl der Kunden in einem Restaurant
Anzahl der Kunden |
---|
10 |
14 |
24 |
40 |
30 |
20 |
Wenn Sie wissen, dass das Restaurant um 17:00 Uhr geöffnet hat und dass die Beobachtungen stündlich vorgenommen werden, können Sie eine Spalte für die Zeitstempel hinzufügen, die den Zeitreihendaten entspricht. Die Spalte für die Zeitstempel sehen Sie in der folgenden Tabelle.
Zeitreihendaten zur Anzahl der Kunden in einem Restaurant
Anzahl der Kunden | Zeitstempel |
---|---|
10 | 1:00 PM |
14 | 2:00 PM |
24 | 3:00 PM |
40 | 4:00 PM |
30 | 5:00 PM |
20 | 6:00 PM |
Gehen Sie wie folgt vor, um einen Datetime-Bereich zu Ihren Daten hinzuzufügen.
-
Öffnen Sie Ihren Data Wrangler-Datenablauf.
-
Wählen Sie in Ihrem Datenablauf unter Datentypen das + und dann Transformation hinzufügen aus.
-
Wählen Sie Schritt hinzufügen.
-
Wählen Sie Datetime-Bereich.
-
Wählen Sie als Frequenztyp die Einheit aus, in der die Häufigkeit der Zeitstempel gemessen wird.
-
Geben Sie für Anfangszeitstempel den Anfangszeitstempel an.
-
Geben Sie für Ausgabespalte einen Namen für die Ausgabespalte an.
-
(Optional) Konfigurieren Sie die Ausgabe mithilfe der verbleibenden Felder.
-
Wählen Sie Vorschau, um eine Vorschau der Transformation zu erstellen.
-
Wählen Sie Hinzufügen, um die Transformation zum Data Wrangler-Datenablauf hinzuzufügen.
Verwenden Sie in Ihrer Zeitreihe ein rollendes Fenster
Sie können Funktionen über einen Zeitraum extrahieren. Wir hängen z. B. für die Zeit t und eine Länge des Zeitfensters von 3 und für die Zeile, die den t-ten Zeitstempel angibt, die Merkmale an, die zu den Zeitpunkten t – 3, t -2 und t – 1 aus der Zeitreihe extrahiert wurden. Informationen zum Extrahieren von Funktionen finden Sie unter Funktionen aus Ihren Zeitreihendaten extrahieren.
Gehen Sie wie folgt vor, um Funktionen über einen Zeitraum zu extrahieren.
-
Öffnen Sie Ihren Data Wrangler-Datenablauf.
-
Wählen Sie in Ihrem Datenablauf unter Datentypen das + und dann Transformation hinzufügen aus.
-
Wählen Sie Schritt hinzufügen.
-
Wählen Sie Rollfensterfunktionen.
-
Wählen Sie für Rollfensterfunktionen für diese Spalte generieren eine Spalte aus.
-
Wählen Sie für Spalte für Zeitstempel die Spalte mit den Zeitstempeln aus.
-
(Optional) Geben Sie für Ausgabespalte einen Namen für die Ausgabespalte an.
-
Geben Sie für Fenstergröße die Fenstergröße an.
-
Wählen Sie unter Strategie die Extraktionsstrategie aus.
-
Wählen Sie Vorschau, um eine Vorschau der Transformation zu generieren.
-
Wählen Sie Hinzufügen, um die Transformation zum Data Wrangler-Datenablauf hinzuzufügen.
Datetime funktionalisieren
Mit Hilfe von Datum/Uhrzeit funktionalisieren können Sie eine Vektoreinbettung erstellen, die ein Datetime-Feld darstellt. Um diese Transformation anwenden zu können, müssen Ihre Datetime-Daten eines der folgenden Formate haben:
-
Zeichenfolgen, die Datetime beschreiben: Zum Beispiel
"January 1st, 2020, 12:44pm"
. -
Ein Unix-Zeitstempel: Ein Unix-Zeitstempel beschreibt die Anzahl der Sekunden, Millisekunden, Mikrosekunden oder Nanosekunden ab dem 1.1.1970.
Sie können wählen, ob Sie das Datetime-Format ableiten und ein Datetime-Format angeben möchten. Wenn Sie ein Datetime-Format angeben, müssen Sie die in der Python-Dokumentation
-
Die am stärksten manuelle und rechnerisch schnellste Option besteht darin, ein Datetime-Format anzugeben und für Datetime-Format ableiten die Option Nein auszuwählen.
-
Um den manuellen Aufwand zu reduzieren, können Sie Datetime-Format ableiten wählen und kein Datetime-Format angeben. Dies ist auch ein rechnerisch schneller Vorgang. Es wird jedoch davon ausgegangen, dass das erste Datetime-Format, das in der Eingabespalte gefunden wird, das Format für die gesamte Spalte ist. Wenn die Spalte andere Formate enthält, sind diese Werte in der endgültigen Ausgabe NaN. Das Datetime-Format ableiten zu lassen führt ggf. zu ungeparsten Zeichenfolgen.
-
Wenn Sie kein Format angeben und für Datum/Uhrzeitformat ableiten die Option Nein auswählen, erhalten Sie die robustesten Ergebnisse. Alle gültigen Datetime-Zeichenfolgen werden geparst. Dieser Vorgang kann jedoch um eine Größenordnung langsamer sein als die ersten beiden aufgeführten Optionen.
Wenn Sie diese Transformation verwenden, geben Sie eine Eingabespalte an, die Datetime-Daten in einem der oben aufgeführten Formate enthält. Die Transformation erstellt eine Ausgabespalte mit dem Namen Ausgabespaltenname. Das Format der Ausgabespalte hängt von Ihrer Konfiguration ab. Folgende Formate werden verwendet:
-
Vektor: Gibt eine einzelne Spalte als Vektor aus.
-
Spalten: Erzeugt für jede Funktion eine neue Spalte. Wenn die Ausgabe z. B. ein Jahr, einen Monat und einen Tag enthält, werden drei separate Spalten für Jahr, Monat und Tag erstellt.
Darüber hinaus müssen Sie einen Einbettungsmodus wählen. Für lineare Modelle und tiefe Netzwerke empfehlen wir, zyklisch zu wählen. Für Baumalgorithmen empfehlen wir die Option ordinal.
Format-Zeichenfolge
Die Transformationen für Zeichenfolge formatieren enthalten Standardoperationen zur Formatierung von Zeichenfolgen. Mit Hilfe dieser Operationen können Sie z. B. Sonderzeichen entfernen, die Länge der Zeichenfolgen normalisieren und die Groß- und Kleinschreibung von Zeichenfolgen aktualisieren.
Diese Feature-Gruppe enthält die folgenden Transformationen. Alle Transformationen geben Kopien der Zeichenfolgen in der Eingabespalte zurück und fügen das Ergebnis zu einer neuen Ausgabespalte hinzu.
Name | Funktion |
---|---|
Links auffüllen |
Fügt in die Zeichenfolge links ein bestimmtes Füllzeichen ein, bis die angegebenen Breite eingehalten wird. Wenn die Zeichenfolge länger ist als die Breite, wird der Rückgabewert so gekürzt, dass die Breite eingehalten wird. |
Rechts auffüllen |
Fügt in die Zeichenfolge rechts ein bestimmtes Füllzeichen ein, bis die angegebene Breite eingehalten wird. Wenn die Zeichenfolge länger ist als die Breite, wird der Rückgabewert so gekürzt, dass die Breite eingehalten wird. |
Mitte (beidseitig auffüllen) |
Beidseitiges auffüllen der Zeichenfolge mit einem bestimmten Füllzeichen bis zur angegebenen Breite. Wenn die Zeichenfolge länger ist als die Breite, wird der Rückgabewert so gekürzt, dass die Breite eingehalten wird. |
Nullen voranstellen |
Die numerische Zeichenfolge wird links mit Nullen aufgefüllt, bis eine bestimmten Breite erreicht ist. Wenn die Zeichenfolge länger ist als die Breite, wird der Rückgabewert so gekürzt, dass die Breite eingehalten wird. |
Links und rechts abschneiden |
Gibt eine Kopie der Zeichenfolge zurück, bei der die Zeichen am Anfang und am Ende entfernt wurden. |
Links abschneiden |
Gibt eine Kopie der Zeichenfolge zurück, bei der die Zeichen am Anfang entfernt wurden. |
Rechts abschneiden |
Gibt eine Kopie der Zeichenfolge zurück, bei der die Zeichen am Ende entfernt wurden. |
Kleinschreibung |
Wandelt alle Buchstaben im Text in Kleinbuchstaben um. |
Großbuchstaben |
Wandelt alle Buchstaben im Text in Großbuchstaben um. |
Groß schreiben |
Der erste Buchstaben in jedem Satz wird groß geschrieben. |
Schreibung vertauschen | Konvertiert alle Großbuchstaben der angegebenen Zeichenfolge in Kleinbuchstaben und alle Kleinbuchstaben in Großbuchstaben und gibt sie zurück. |
Präfix oder Suffix hinzufügen |
Fügt zu der Spalte mit der Zeichenfolge ein Präfix und ein Suffix hinzu. Sie müssen mindestens ein Präfix und ein Suffix angeben. |
Symbole entfernen |
Entfernt die angegebenen Symbole aus einer Zeichenfolge. Alle aufgeführten Zeichen werden entfernt. Standardmäßig Leerzeichen. |
Ausreißer behandeln
Machine-Learning-Modelle sind empfindlich für die Verteilung und den Bereich Ihrer Feature-Werte. Ausreißer oder seltene Werte können sich negativ auf die Modellgenauigkeit auswirken und zu längeren Trainingszeiten führen. Mit Hilfe dieser Feature-Gruppe können Sie Ausreißer in Ihrem Datensatz erkennen und aktualisieren.
Wenn Sie den Transformationsschritt Ausreißer behandeln definieren, werden die Statistiken, die zur Erkennung von Ausreißern verwendet werden, bei der Definition dieses Schritts anhand der in Data Wrangler verfügbaren Daten generiert. Dieselben Statistiken werden verwendet, wenn ein Data Wrangler-Auftrag ausgeführt wird.
In den folgenden Abschnitten erfahren Sie mehr über die Transformationen, die diese Gruppe enthält. Sie geben einen Ausgabenamen an. Dann erzeugt jede dieser Transformationen eine Ausgabespalte mit den resultierenden Daten.
Numerische Ausreißer mit robuster Standardabweichung
Diese Transformation erkennt und behebt Ausreißer in numerischen Features mithilfe von Statistiken, die gegenüber Ausreißern robust sind.
Sie müssen ein oberes Quantil und ein unteres Quantil für die Statistiken definieren, die zur Berechnung von Ausreißern verwendet werden. Sie müssen auch die Anzahl der Standardabweichungen angeben, um die ein Wert vom Mittelwert abweichen muss, um als Ausreißer betrachtet zu werden. Wenn Sie z. B. für Standardabweichungen 3 angeben, muss ein Wert um mehr als 3 Standardabweichungen vom Mittelwert abweichen, um als Ausreißer betrachtet zu werden.
Die Fix-Methode ist die Methode, mit der Ausreißer behandelt werden, wenn sie erkannt werden. Sie können aus den folgenden Optionen auswählen:
-
Abschneiden: Mit dieser Option können Sie die Ausreißer auf die entsprechende Erkennungsgrenze für Ausreißer zurückschneiden.
-
Entfernen: Mit dieser Option können Sie Zeilen mit Ausreißern aus dem Datenrahmen entfernen.
-
Ungültig machen: Mit dieser Option können Sie Ausreißer durch ungültige Werte ersetzen.
Numerische Ausreißer mit Standardabweichung
Diese Transformation erkennt und behebt Ausreißer in numerischen Funktionen anhand des Mittelwertes und der Standardabweichung.
Sie geben die Anzahl der Standardabweichungen an, um die ein Wert vom Mittelwert abweichen muss, um als Ausreißer betrachtet zu werden. Wenn Sie z. B. für Standardabweichungen 3 angeben, muss ein Wert um mehr als 3 Standardabweichungen vom Mittelwert abweichen, um als Ausreißer betrachtet zu werden.
Die Fix-Methode ist die Methode, mit der Ausreißer behandelt werden, wenn sie erkannt werden. Sie können aus den folgenden Optionen auswählen:
-
Abschneiden: Mit dieser Option können Sie die Ausreißer auf die entsprechende Erkennungsgrenze für Ausreißer zurückschneiden.
-
Entfernen: Mit dieser Option können Sie Zeilen mit Ausreißern aus dem Datenrahmen entfernen.
-
Ungültig machen: Mit dieser Option können Sie Ausreißer durch ungültige Werte ersetzen.
Numerische Ausreißer anhand von Quantilen
Mit Hilfe dieser Transformation können Sie Ausreißer in numerischen Features mithilfe von Quantilen erkennen und korrigieren. Sie können ein oberes Quantil und ein unteres Quantil definieren. Alle Werte, die über dem oberen Quantil oder unter dem unteren Quantil liegen, gelten als Ausreißer.
Die Fix-Methode ist die Methode, mit der Ausreißer behandelt werden, wenn sie erkannt werden. Sie können aus den folgenden Optionen auswählen:
-
Abschneiden: Mit dieser Option können Sie die Ausreißer auf die entsprechende Erkennungsgrenze für Ausreißer zurückschneiden.
-
Entfernen: Mit dieser Option können Sie Zeilen mit Ausreißern aus dem Datenrahmen entfernen.
-
Ungültig machen: Mit dieser Option können Sie Ausreißer durch ungültige Werte ersetzen.
Numerische Ausreißer (Min./Max.)
Diese Transformation erkennt und behebt Ausreißer in numerischen Funktionen anhand oberer und unterer Schwellenwerte. Verwenden Sie diese Methode, wenn Sie Schwellenwerte kennen, die Ausreißer kennzeichnen.
Sie geben einen oberen Schwellenwert und einen unteren Schwellenwert an. Wenn Werte diese Schwellenwerte über- bzw. unterschreiten, werden sie als Ausreißer betrachtet.
Die Fix-Methode ist die Methode, mit der Ausreißer behandelt werden, wenn sie erkannt werden. Sie können aus den folgenden Optionen auswählen:
-
Abschneiden: Mit dieser Option können Sie die Ausreißer auf die entsprechende Erkennungsgrenze für Ausreißer zurückschneiden.
-
Entfernen: Mit dieser Option können Sie Zeilen mit Ausreißern aus dem Datenrahmen entfernen.
-
Ungültig machen: Mit dieser Option können Sie Ausreißer durch ungültige Werte ersetzen.
Seltene ersetzen
Wenn Sie die Transformation Seltene ersetzen verwenden, geben Sie einen Schwellenwert an, und Data Wrangler findet dann alle Werte, die diesem Schwellenwert entsprechen, und ersetzt sie durch eine von Ihnen angegebene Zeichenfolge. Mit Hilfe dieser Transformation können Sie z. B. alle Ausreißer in einer Spalte in eine Kategorie „Sonstige“ einzuteilen.
-
Ersatzzeichenfolge: Die Zeichenfolge, durch die Ausreißer ersetzt werden sollen.
-
Absoluter Schwellenwert: Eine Kategorie ist selten, wenn die Anzahl der Instances kleiner oder gleich diesem absoluten Schwellenwert ist.
-
Bruchschwelle: Eine Kategorie ist selten, wenn die Anzahl der Instances kleiner oder gleich dieser Bruchschwelle multipliziert mit der Anzahl der Zeilen ist.
-
Höchstzahl häufig verwendeter Kategorien: Höchstzahl nicht seltener Kategorien, die nach dem Vorgang noch übrig sind. Wenn mit dem Schwellenwert nicht genügend Kategorien gefiltert werden, werden diejenigen, die am häufigsten auftreten, als nicht selten eingestuft. Wenn der Wert auf 0 (Standard) gesetzt ist, gibt es keine hartes Limit für die Anzahl der Kategorien.
Fehlende Werte behandeln
Fehlende Werte treten in Datensätzen für Machine Learning häufig auf. Manchmal können fehlende Daten durch einen berechneten Wert ersetzt werden, z. B. einen Durchschnittswert oder einen kategorisch häufigen Wert. Fehlende Werte können Sie mithilfe der Transformationsgruppe Fehlende Werte behandeln bearbeiten. Diese Gruppe enthält die folgenden Transformationen.
Fehlende auffüllen
Verwenden Sie die Transformation Fehlende auffüllen, um fehlende Werte durch einen von Ihnen definierten Füllwert zu ersetzen.
Fehlende imputieren
Mit Hilfe der Transformation Fehlende imputieren können Sie eine neue Spalte erstellen, die imputierte Werte enthält, bei denen fehlende Werte in kategorischen und numerischen Eingabedaten gefunden wurden. Die Konfiguration ist abhängig von Ihrem Datentyp.
Wählen Sie eine Strategie zum Imputieren numerischer Daten aus, mit deren Hilfe der neue zu imputierende Wert bestimmt wird. Sie können wählen, ob Sie den Mittelwert oder den Median über die in Ihrem Datensatz vorhandenen Werte imputieren wollen. Data Wrangler imputiert anhand des berechneten die fehlenden Werte.
Bei kategorischen Daten imputiert Data Wrangler fehlende Werte anhand des häufigsten Wertes in der Spalte. Um eine benutzerdefinierte Zeichenfolge zu imputieren, verwenden Sie stattdessen die Transformation Fehlende auffüllen.
Indikator für fehlende hinzufügen
Mit Hilfe der Transformation Indikator für fehlende hinzufügen können Sie eine neue Indikatorspalte erstellen, die einen booleschen "false"
enthält, wenn eine Zeile einen Wert enthält, und "true"
, wenn eine Zeile einen fehlenden Wert enthält.
Fehlende Löschen
Mit Hilfe der die Option Fehlende löschen können Sie Zeilen aus der Eingabespalte löschen, die fehlende Werte enthalten.
Spalten verwalten
Mit Hilfe der folgenden Transformation können Sie Spalten in Ihrem Datensatz schnell aktualisieren und verwalten:
Name | Funktion |
---|---|
Spalte fallen lassen | Spalte löschen. |
Spalte duplizieren | Eine Spalte duplizieren. |
Spalte umbenennen | Eine Spalte umbenennen. |
Spalte verschieben |
Position einer Spalte im Datensatz verschieben. Wählen Sie, ob Sie Ihre Spalte an den Anfang oder das Ende des Datensatzes, vor oder nach einer Referenzspalte oder in einen bestimmten Index verschieben möchten. |
Zeilen verwalten
Mit Hilfe dieser Transformationsgruppe können Sie schnell Sortier- und Mischvorgänge für Zeilen durchzuführen. Diese Gruppe enthält:
-
Sortieren: Sortiert den gesamten Datenrahmen nach einer bestimmten Spalte. Aktivieren Sie für diese Option das Kontrollkästchen neben Aufsteigendde Reihenfolge. Andernfalls deaktivieren Sie das Kontrollkästchen. Die Sortierung erfolgt dann in absteigender Reihenfolge.
-
Mischen: Alle Zeilen im Datensatz werden nach dem Zufallsprinzip gemischt.
Vektoren verwalten
Mit Hilfe dieser Transformationsgruppe können Sie Vektorspalten kombinieren oder abflachen. Diese Gruppe enthält die folgenden Transformationen.
-
Zusammenführen: Mit Hilfe der Transformation können Sie Spark-Vektoren und numerische Daten in einer einzigen Spalte kombinieren. Sie können z. B. drei Spalten kombinieren: zwei mit numerischen Daten und eine mit Vektoren. Fügen Sie alle Spalten, die Sie kombinieren möchten, zu den Eingabespalten hinzu und geben Sie einen Namen für die Ausgabespalte für die kombinierten Daten an.
-
Abflachen: Mit Hilfe der Transformation können Sie eine einzelne Spalte mit Vektordaten abflachen. Die Eingabespalte muss PySpark Vektoren oder array-ähnliche Objekte enthalten. Sie können die Anzahl der erstellten Spalten steuern, indem Sie eine Methode zur Ermittlung der Anzahl der Ausgaben angeben. Wenn Sie z. B. Länge des ersten Vektors auswählen, bestimmt die Anzahl der Elemente im ersten gültigen Vektor oder Array in der Spalte die Anzahl der Ausgabespalten, die erstellt werden. Alle anderen Eingabevektoren mit zu vielen Elementen werden gekürzt. Eingaben mit zu wenigen Elementen sind gefüllt. NaNs
Sie geben außerdem ein Ausgabepräfix an, das als Präfix für jede Ausgabespalte verwendet wird.
Numerisch verarbeiten
Mit Hilfe der Feature-Gruppe Numerisch verarbeiten können Sie numerische Daten verarbeiten. Jeder Skalar in dieser Gruppe wird mithilfe der Spark-Bibliothek definiert. Die folgenden Skalare werden unterstützt:
-
Standard-Skalierer: Standardisieren Sie die Eingabespalte, indem Sie von jedem Wert den Mittelwert subtrahieren und auf die Einheitsvarianz skalieren. Weitere Informationen finden Sie in der Spark-Dokumentation für StandardScaler
. -
Robuster Skalierer: Skalieren Sie die Eingabespalte mithilfe von Statistiken, die gegenüber Ausreißern robust sind. Weitere Informationen finden Sie in der Spark-Dokumentation für RobustScaler
. -
Min./Max.-Scaler: Transformieren Sie die Eingabespalte, indem Sie jede Funktion auf einen bestimmten Bereich skalieren. Weitere Informationen finden Sie in der Spark-Dokumentation für MinMaxScaler
. -
Max.-Absolutskalierer: Skalieren Sie die Eingabespalte, indem Sie jeden Wert durch den maximalen Absolutwert dividieren. Weitere Informationen finden Sie in der Spark-Dokumentation für MaxAbsScaler
.
Sampling
Wenn Sie Ihre Daten importiert haben, können Sie mit Hilfe der Transformation Probenahme eine oder mehrere Stichproben daraus nehmen. Wenn Sie den Sampling-Transformator verwenden, nimmt Data Wrangler Stichproben aus Ihrem ursprünglichen Datensatz.
Sie können eine der folgenden Probenahmemethoden wählen:
-
Limit: Dem Datensatz werden von der ersten Zeile bis zu dem von Ihnen angegebenen Grenzwert Proben entnommen.
-
Randomisiert: Nimmt eine zufällige Stichprobe mit einer von Ihnen angegebenen Größe.
-
Stratifiziert: Entnimmt eine geschichtete Zufallsstichprobe.
Sie können eine randomisierte Stichprobe stratifizieren, damit sie die ursprüngliche Verteilung des Datensatzes wiedergibt.
Sie bereiten ggf. Daten für mehrere Anwendungsfälle vor. Für jeden Anwendungsfall können Sie eine andere Probe nehmen und einen anderen Satz von Transformationen anwenden.
Das folgende Verfahren beschreibt den Prozess der Erstellung einer Zufallsstichprobe.
Um aus Ihren Daten eine Zufallsstichprobe zu nehmen.
-
Wählen Sie das + rechts neben dem Datensatz, den Sie importiert haben. Der Name Ihres Datensatzes befindet sich unter dem +.
-
Wählen Sie Transformation hinzufügen aus.
-
Wählen Sie Sampling aus.
-
Wählen Sie als Sampling-Methode die Sampling-Methode aus.
-
Wählen Sie als Ungefähre Samplinggröße die ungefähre Anzahl von Beobachtungen aus, die Sie für Ihre Stichprobe verwenden möchten.
-
(Optional) Geben Sie eine Ganzzahl für Zufälliger Anfangswert ein, um eine reproduzierbare Stichprobe zu erstellen.
Das folgende Verfahren beschreibt den Prozess der Erstellung einer geschichteten Stichprobe.
Um aus Ihren Daten eine geschichtete Stichprobe zu nehmen.
-
Wählen Sie das + rechts neben dem Datensatz, den Sie importiert haben. Der Name Ihres Datensatzes befindet sich unter dem +.
-
Wählen Sie Transformation hinzufügen aus.
-
Wählen Sie Sampling aus.
-
Wählen Sie als Sampling-Methode die Sampling-Methode aus.
-
Wählen Sie als Ungefähre Samplinggröße die ungefähre Anzahl von Beobachtungen aus, die Sie für Ihre Stichprobe verwenden möchten.
-
Geben Sie unter Spalte stratifizieren den Namen der Spalte an, für die Sie eine Stratifizierung vornehmen wollen.
-
(Optional) Geben Sie eine Ganzzahl für Zufälliger Anfangswert ein, um eine reproduzierbare Stichprobe zu erstellen.
Suchen und Bearbeiten
In diesem Abschnitt können Sie in Zeichenfolgen nach bestimmten Mustern suchen und diese bearbeiten. Sie können z. B. Zeichenfolgen in Sätzen oder Dokumenten suchen und aktualisieren, Zeichenfolgen nach Trennzeichen aufteilen und das Vorkommen bestimmter Zeichenfolgen finden.
Die folgenden Transformationen werden unter Suchen und Bearbeiten unterstützt. Alle Transformationen geben in der Eingabespalte Kopien der Zeichenfolgen zurück und fügen das Ergebnis zu einer neuen Ausgabespalte hinzu.
Name | Funktion |
---|---|
Teilstring suchen |
Gibt den Index des ersten Vorkommens des Teilstrings zurück, nach dem Sie gesucht haben. Sie können die Suche am Anfang bzw. am Ende beginnen bzw. beenden. |
Teilstring suchen (von rechts) |
Gibt den Index des letzten Vorkommens des Teilstrings zurück, nach dem Sie gesucht haben. Sie können die Suche am Anfang bzw. am Ende beginnen bzw. beenden. |
Entspricht dem Präfix |
Gibt einen booleschen Wert zurück, wenn die Zeichenfolge ein bestimmtes Muster enthält. Ein Muster kann eine Zeichenfolge oder ein regulärer Ausdruck sein. Optional können Sie festlegen, dass das Muster zwischen Groß- und Kleinschreibung unterscheidet. |
Alle Vorkommen suchen |
Gibt ein Array mit allen Vorkommen eines bestimmten Musters zurück. Ein Muster kann eine Zeichenfolge oder ein regulärer Ausdruck sein. |
Mit Regex extrahieren |
Gibt eine Zeichenfolge zurück, die einem bestimmten Regex-Muster entspricht. |
Zwischen Trennzeichen extrahieren |
Gibt eine Zeichenfolge mit allen Zeichen zurück, die zwischen dem linken Trennzeichen und dem rechten Trennzeichen gefunden wurden. |
Von Position extrahieren |
Gibt eine Zeichenfolge zurück, die an der Startposition in der Eingabezeichenfolge beginnt und alle Zeichen bis zur Startposition plus Länge enthält. |
Teilstring suchen und ersetzen |
Gibt eine Zeichenfolge zurück, bei der alle Treffer eines bestimmten Musters (regulärer Ausdruck) durch eine Ersatzzeichenfolge ersetzt wurden. |
Zwischen Trennzeichen ersetzen |
Gibt eine Zeichenfolge zurück, bei der der Teilstring zwischen dem ersten Auftreten eines linken Trennzeichens und dem letzten Auftreten eines rechten Trennzeichens durch eine Ersatzzeichenfolge ersetzt wird. Wenn keine Übereinstimmung gefunden wird, wird nichts ersetzt. |
Von Position aus ersetzen |
Gibt eine Zeichenfolge zurück, bei der der Teilstring zwischen Startposition und Startposition plus Länge durch die Ersatzzeichenfolge ersetzt wurde. Wenn Startposition plus Länge größer ist als die Länge der Ersatzzeichenfolge, enthält die Ausgabe .... |
Regex in Fehlende umwandeln |
Konvertiert eine Zeichenfolge in |
Zeichenfolge mit Trennzeichen aufteilen |
Gibt ein Array von Zeichenfolgen aus der Eingabezeichenfolge zurück, das durch Trennzeichen aufgeteilt ist, mit bis zur maximalen Anzahl Aufteilungen (optional). Das Standardtrennzeichen ist das Leerzeichen. |
Daten aufteilen
Mit Hilfe der Transformation Daten aufteilen können Sie Ihren Datensatz in zwei oder drei Datensätze aufteilen. Sie können Ihren Datensatz z. B. in einen Datensatz aufteilen, der zum Trainieren Ihres Modells und einen, der zum Testen verwendet wird. Sie können den Anteil des Datensatzes bestimmen, der in jeden Teil einfließen soll. Wenn Sie z. B. einen Datensatz in zwei Datensätze aufteilen, kann der Trainingsdatensatz 80 % der Daten enthalten, während der Testdatensatz 20 % enthält.
Wenn Sie Ihre Daten in drei Datensätze aufteilen, können Sie Trainings-, Validierungs- und Testdatensätze erstellen. Sie können sehen, wie gut das Modell im Testdatensatz abschneidet, indem Sie die Zielspalte löschen.
Ihr Anwendungsfall bestimmt, wie viel vom ursprünglichen Datensatz jeder Ihrer Datensätze erhält und nach welcher Methode Sie die Daten aufteilen. Sie möchten z. B. vielleicht eine stratifizierte Aufteilung verwenden, damit die Verteilung der Beobachtungen in der Zielspalte über alle Datensätze hinweg identisch ist. Zur Aufteilung können Sie die folgenden Transformationen verwenden:
-
Zufällige Aufteilung – Jede Aufteilung ist eine zufällige, nicht überlappende Stichprobe des ursprünglichen Datensatzes. Bei größeren Datensätzen kann die Verwendung einer zufälligen Aufteilung rechenintensiv sein und länger dauern als eine geordnete Aufteilung.
-
Geordnete Aufteilung – Teilt den Datensatz anhand der sequentiellen Reihenfolge der Beobachtungen auf. Beispiel: Bei einer Aufteilung von Trainingstests im Verhältnis 80/20 werden die ersten Beobachtungen, die 80 % des Datensatzes ausmachen, in den Trainingsdatensatz übernommen. Die letzten 20 % der Beobachtungen fließen in den Testdatensatz ein. Geordnete Aufteilungen können die bestehende Reihenfolge der Daten zwischen den Aufteilungen wirksam beibehalten.
-
Stratifizierte Aufteilung – Teilt den Datensatz auf, damit die Anzahl der Beobachtungen in der Eingabespalte proportional repräsentiert sind. Für eine Eingabespalte mit den Beobachtungen 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3 würde eine 80/20-Aufteilung in der Spalte bedeuten, dass ca. 80 % der Einsen, 80 % der Zweien und 80 % der Dreien in den Trainingssatz eingehen. Etwa 20 % jedes Beobachtungstyps gehen in den Testdatensatz ein.
-
Nach Schlüsseln aufteilen – Hierbei wird vermieden, dass Daten mit demselben Schlüssel in mehr als einer Aufteilung vorkommen. Wenn Sie z. B. einen Datensatz mit der Spalte customer_id haben und diesen als Schlüssel verwenden, ist keine Kunden-ID in mehr als einer Aufteilung enthalten.
Wenn Sie die Daten aufgeteilt haben, können Sie auf jeden Datensatz weitere Transformationen anwenden. Für die meisten Anwendungsfälle ist dies nicht erforderlich.
Data Wrangler berechnet die Anteile der Aufteilungen im Hinblick auf ihre Leistung. Sie können einen Fehlerschwellenwert wählen, um die Genauigkeit der Aufteilungen festzulegen. Niedrigere Fehlerschwellenwerte geben die Anteile genauer wieder, die Sie für die Aufteilungen angeben. Wenn Sie einen höheren Fehlerschwellenwert festlegen, erzielen Sie eine bessere Leistung, aber eine geringere Genauigkeit.
Setzen Sie den Fehlerschwellenwert auf 0, um perfekt aufgeteilte Daten zu erhalten. Sie können einen Schwellenwert zwischen 0 und 1 angeben, um die Leistung zu verbessern. Wenn Sie einen Wert größer als 1 angeben, interpretiert Data Wrangler diesen Wert als 1.
Wenn Ihr Datensatz 10.000 Zeilen enthält und Sie eine 80/20-Aufteilung mit einem Fehler von 0,001 angeben, erhalten Sie Beobachtungen, die annähernd einem der folgenden Ergebnisse entsprechen:
-
8010 Beobachtungen im Trainingssatz und 1990 im Testsatz
-
7990 Beobachtungen im Trainingssatz und 2010 im Testsatz
Die Anzahl der Beobachtungen für den Testsatz im obigen Beispiel liegt im Intervall zwischen 8010 und 7990.
Data Wrangler verwendet standardmäßig einen zufälligen Anfangswert, damit die Aufteilungen reproduzierbar sind. Sie können für den Anfangswert einen anderen Wert angeben, um eine andere reproduzierbare Aufteilung zu erzeugen.
Wert als Typ parsen
Verwenden Sie diese Transformation, um eine Spalte in einen neuen Typ umzuwandeln. Die unterstützten Data Wrangler-Datentypen sind:
-
Long
-
Gleitkommazahl
-
Boolesch
-
Datum in dem Format dd-MM-yyyy, das jeweils für Tag, Monat und Jahr steht.
-
String
Zeichenfolge validieren
Mit Hilfe der Transformation Zeichenfolge überprüfen können Sie eine neue Spalte erstellen, die angibt, dass eine Zeile mit Textdaten eine bestimmte Bedingung erfüllt. Sie können z. B. mit Hilfe einer Transformation vom Typ Zeichenfolge überprüfen überprüfen, ob eine Zeichenfolge nur Kleinbuchstaben enthält. Unter Zeichenfolge überprüfen werden die folgenden Transformationen unterstützt.
In dieser Transformationsgruppe sind die folgenden Transformationen enthalten. Wenn eine Transformation einen booleschen Wert ausgibt, wird True
mit einer dargestellt 1
und False
mit einer 0
.
Name | Funktion |
---|---|
Länge der Zeichenfolge |
Gibt |
Beginnt mit |
Gibt |
Endet mit |
Gibt |
Ist alphanumerisch |
Gibt |
Ist Alpha (Buchstaben) |
Gibt |
Ist Ziffer |
Gibt |
Ist Leerzeichen |
Gibt |
Ist Titel |
Gibt |
Ist kleingeschrieben |
Gibt |
Ist großgeschrieben |
Gibt |
Ist numerisch |
Gibt |
Ist dezimal |
Gibt zurück |
Unverschachtelte Daten JSON
Wenn Sie eine CSV-Datei haben, enthält Ihr Datensatz möglicherweise Werte, bei denen es sich um Zeichenketten handeltJSON. In ähnlicher Weise haben Sie möglicherweise Daten in Spalten einer Parquet-Datei oder eines JSON Dokuments verschachtelt.
Verwenden Sie den Operator Strukturierte abflachen, um die Schlüssel der ersten Ebene in separate Spalten aufzuteilen. Ein Schlüssel der ersten Ebene ist ein Schlüssel, der nicht in einem Wert verschachtelt ist.
Beispielsweise könnten Sie über einen Datensatz verfügen, der eine Personenspalte mit demografischen Informationen zu jeder Person enthält, die als JSON Zeichenfolgen gespeichert sind. Eine JSON Zeichenfolge könnte wie folgt aussehen.
"{"seq": 1,"name": {"first": "Nathaniel","last": "Ferguson"},"age": 59,"city": "Posbotno","state": "WV"}"
Der Operator Strukturierte abflachen konvertiert die folgenden Schlüssel der ersten Ebene in zusätzliche Spalten in Ihrem Datensatz:
-
seq
-
Name
-
Alter
-
city
-
state
Data Wrangler platziert die Werte der Schlüssel als Werte unter den Spalten. Im Folgenden werden die Spaltennamen und Werte von angezeigtJSON.
seq, name, age, city, state 1, {"first": "Nathaniel","last": "Ferguson"}, 59, Posbotno, WV
Für jeden Wert in Ihrem DatensatzJSON, der den strukturierten Operator „Reduzieren“ enthält, erstellt er Spalten für die Schlüssel der ersten Ebene. Um Spalten für verschachtelte Schlüssel zu erstellen, rufen Sie den Operator erneut auf. Im obigen Beispiel werden durch Aufrufen des Operators die folgenden Spalten erstellt:
-
name_first
-
name_last
Das folgende Beispiel zeigt die Datenmenge, die erhalten wird, wenn der Operation erneut aufgerufen wird.
seq, name, age, city, state, name_first, name_last 1, {"first": "Nathaniel","last": "Ferguson"}, 59, Posbotno, WV, Nathaniel, Ferguson
Wählen Sie Schlüssel, nach denen abgeflacht werden soll, um die Schlüssel der ersten Ebene, die extrahiert werden sollen, als separate Spalten anzugeben. Wenn Sie keine Schlüssel angeben, extrahiert Data Wrangler standardmäßig alle Schlüssel.
Array explodieren
Verwenden Sie Array explodieren, um die Werte des Arrays in separate Ausgabezeilen zu erweitern. Die Operation kann z. B. jeden Wert im Array [[1, 2, 3,], [4, 5, 6], [7, 8, 9]] nehmen und eine neue Spalte mit den folgenden Zeilen erstellen:
[1, 2, 3] [4, 5, 6] [7, 8, 9]
Data Wrangler nennt die neue Spalte input_column_name_flatten.
Sie können die Operation Array explodieren mehrmals aufrufen, um die verschachtelten Werte des Arrays auf separate Ausgabespalten zu verteilen. Das folgende Beispiel zeigt das Ergebnis, wenn der Operation für einen Datensatz mit verschachteltem Array mehrfach aufgerufen wird.
Die Werte eines verschachtelten Arrays werden auf separate Spalten aufgeteilt
id | Array | id | array_items | id | array_items_items |
---|---|---|---|---|---|
1 | [[Katze, Hund], [Fledermaus, Frosch]] | 1 | [Katze, Hund] | 1 | cat |
2 |
[Rose, Petunie], [Lilie, Gänseblümchen] |
1 | [Fledermaus, Frosch] | 1 | Hund |
2 | [Rose, Petunie] | 1 | bat | ||
2 | [Lilie, Gänseblümchen] | 1 | Frosch | ||
2 | 2 | Rose | |||
2 | 2 | Petunie | |||
2 | 2 | Lilie | |||
2 | 2 | Gänseblümchen |
Bilddaten transformieren
Mit Data Wrangler können Sie die Bilder importieren und transformieren, die Sie für Ihre Machine Learning (ML)-Pipelines verwenden. Wenn Sie Ihre Bilddaten vorbereitet haben, können Sie sie aus Ihrem Data Wrangler-Flow in Ihre ML-Pipeline exportieren.
Mit Hilfe der hier bereitgestellten Informationen können Sie sich mit dem Import und der Transformation von Bilddaten in Data Wrangler vertraut machen. Data Wrangler verwendet OpenCV, um Bilder zu importieren. Weitere Informationen zu den unterstützten Bildformaten finden Sie unter Bilddateien lesen und schreiben
Nachdem Sie sich mit den Konzepten der Transformation Ihrer Bilddaten vertraut gemacht haben, lesen Sie das folgende Tutorial: Bilddaten mit Amazon SageMaker Data Wrangler vorbereiten
Die folgenden Branchen und Anwendungsfälle sind Beispiele, bei denen die Anwendung von Machine Learning auf transformierte Bilddaten nützlich sein kann:
-
Fertigung – Mängel an Waren vom Fließband erkennen
-
Lebensmittel – verdorbene Lebensmittel erkennen
-
Medizin – Läsionen im Gewebe erkennen
Wenn Sie in Data Wrangler mit Bilddaten arbeiten, durchlaufen Sie den folgenden Prozess:
-
Import – wählen Sie das Verzeichnis aus, das die Bilder in Ihrem Amazon-S3-Bucket enthält.
-
Transformieren – Verwenden Sie die integrierten Transformationen, um die Bilder für Ihre Machine-Learning-Pipeline vorzubereiten.
-
Exportieren – Exportieren Sie die Bilder, die Sie transformiert haben, an einen Speicherort, auf den über die Pipeline zugegriffen werden kann.
Gehen Sie wie folgt vor, um Ihre Bilddaten zu importieren.
Bilddaten importieren
-
Navigieren Sie zur Seite Verbindung erstellen.
-
Wählen Sie Amazon S3.
-
Geben Sie den Amazon S3-Dateipfad an, der die Bilddaten enthält.
-
Wählen Sie als Dateityp die Option Bild aus.
-
(Optional) Wählen Sie Verschachtelte Verzeichnisse importieren, um Bilder aus mehreren Amazon S3-Pfaden zu importieren.
-
Wählen Sie Importieren aus.
Data Wrangler verwendet die Open-Source-Bibliothek imgaug
-
ResizeImage
-
EnhanceImage
-
CorruptImage
-
SplitImage
-
DropCorruptedImages
-
DropImageDuplicates
-
Brightness
-
ColorChannels
-
Graustufen
-
Drehen
Gehen Sie wie folgt vor, um Ihre Bilder zu transformieren, ohne Code schreiben zu müssen.
Bilddaten transformieren, ohne Code zu schreiben
-
Wählen Sie in Ihrem Data Wrangler-Flow das (+) neben dem Knoten aus, der die Bilder darstellt, die Sie importiert haben.
-
Wählen Sie Transformation hinzufügen aus.
-
Wählen Sie Schritt hinzufügen.
-
Wählen Sie die Transformation aus und konfigurieren Sie sie.
-
Wählen Sie Preview (Vorschau) aus.
-
Wählen Sie Hinzufügen aus.
Sie können nicht nur die von Data Wrangler bereitgestellten Transformationen verwenden, sondern auch Ihre eigenen benutzerdefinierten Codeausschnitte verwenden. Weitere Informationen zur Verwendung von benutzerdefinierten Codeausschnitten finden Sie unter Benutzerdefinierte Transformationen. Sie können die OpenCV- und imgaug-Bibliotheken in Ihren Codeausschnitten importieren und die damit verknüpften Transformationen verwenden. Das folgende Beispiel zeigt einen Codeausschnitt, der Kanten in Bildern erkennt.
# A table with your image data is stored in the `df` variable import cv2 import numpy as np from pyspark.sql.functions import column from sagemaker_dataprep.compute.operators.transforms.image.constants import DEFAULT_IMAGE_COLUMN, IMAGE_COLUMN_TYPE from sagemaker_dataprep.compute.operators.transforms.image.decorators import BasicImageOperationDecorator, PandasUDFOperationDecorator @BasicImageOperationDecorator def my_transform(image: np.ndarray) -> np.ndarray: # To use the code snippet on your image data, modify the following lines within the function HYST_THRLD_1, HYST_THRLD_2 = 100, 200 edges = cv2.Canny(image,HYST_THRLD_1,HYST_THRLD_2) return edges @PandasUDFOperationDecorator(IMAGE_COLUMN_TYPE) def custom_image_udf(image_row): return my_transform(image_row) df = df.withColumn(DEFAULT_IMAGE_COLUMN, custom_image_udf(column(DEFAULT_IMAGE_COLUMN)))
Wenn Sie in Ihrem Data Wrangler-Ablauf Transformationen anwenden, wendet Data Wrangler diese nur auf eine Stichprobe der Bilder in Ihrem Datensatz an. Um die Bedienung der Anwendung für Sie zu optimieren, wendet Data Wrangler die Transformationen nicht auf alle Ihre Bilder an.
Daten filtern
Verwenden Sie Data Wrangler, um die Daten in Ihren Spalten zu filtern. Wenn Sie die Daten in einer Spalte filtern, geben Sie die folgenden Felder an:
-
Spaltenname – Der Name der Spalte, die Sie zum Filtern der Daten verwenden.
-
Bedingung – Der Filtertyp, den Sie auf Werte in der Spalte anwenden.
-
Wert – Der Wert oder die Kategorie in der Spalte, auf die Sie den Filter anwenden.
Sie können nach den folgenden Bedingungen filtern:
-
= – Gibt Werte zurück, die dem von Ihnen angegebenen Wert oder der Kategorie entsprechen.
-
! = – Gibt Werte zurück, die nicht dem von Ihnen angegebenen Wert oder der Kategorie entsprechen.
-
>= – Filtert für Lang – oder Gleitkomma-Daten nach Werten, die größer oder gleich dem von Ihnen angegebenen Wert sind.
-
<= – Filtert für Lang – oder Gleitkomma-Daten nach Werten, die kleiner oder gleich dem von Ihnen angegebenen Wert sind.
-
> – Filtert für Lang – oder Gleitkomma-Daten nach Werten, die größer als der von Ihnen angegebene Wert sind.
-
< – Filtert für Lang – oder Gleitkomma-Daten nach Werten, die kleiner als der von Ihnen angegebene Wert sind.
Für eine Spalte mit den Kategorien male
und female
können Sie alle male
Werte herausfiltern. Sie können auch nach allen female
Werten filtern. Da die Spalte nur male
und female
Werte enthält, gibt der Filter eine Spalte zurück, die nur female
Werte enthält.
Sie können auch mehrere Filter hinzufügen. Die Filter können auf mehrere Spalten oder auf dieselbe Spalte angewendet werden. Wenn Sie z. B. eine Spalte erstellen, die nur Werte innerhalb eines bestimmten Bereichs enthält, fügen Sie zwei verschiedene Filter hinzu. Ein Filter gibt an, dass die Spalte Werte enthalten muss, die größer als der von Ihnen angegebene Wert sind. Der andere Filter gibt an, dass die Spalte Werte enthalten muss, die kleiner als der von Ihnen angegebene Wert sind.
Gehen Sie wie folgt vor, um die Filtertransformation zu Ihren Daten hinzuzufügen.
Filtern Ihrer Daten
-
Wählen Sie in Ihrem Data Wrangler-Flow das + neben dem Knoten mit den Daten aus, die Sie filtern wollen.
-
Wählen Sie Transformation hinzufügen aus.
-
Wählen Sie Schritt hinzufügen.
-
Wählen Sie Daten filtern.
-
Geben Sie die folgenden Felder an:
-
Spaltenname – Die Spalte, die Sie filtern wollen.
-
Bedingung – Die Filterbedingung.
-
Wert – Der Wert oder die Kategorie in der Spalte, auf die Sie den Filter anwenden wollen.
-
-
(Optional) Wählen Sie nach dem Filter, den Sie erstellt haben, das + aus.
-
Konfigurieren Sie den Filter.
-
Wählen Sie Preview (Vorschau) aus.
-
Wählen Sie Hinzufügen aus.