Zephyrnet-Logo

Interaktives Datenvorbereitungs-Widget für Notebooks powered by Amazon SageMaker Data Wrangler

Datum:

Laut einer von Anaconda durchgeführten Umfrage unter Datenwissenschaftlern aus dem Jahr 2020 ist die Datenvorbereitung einer der kritischen Schritte in Arbeitsabläufen für maschinelles Lernen (ML) und Datenanalyse und für Datenwissenschaftler oft sehr zeitaufwändig. Data Scientists verbringen etwa 66 % ihrer Zeit mit Datenvorbereitungs- und Analyseaufgaben, einschließlich Laden (19 %), Bereinigen (26 %) und Visualisieren von Daten (21 %).

Amazon SageMaker-Studio ist die erste vollständig integrierte Entwicklungsumgebung (IDE) für ML. Mit einem einzigen Klick können Data Scientists und Entwickler schnell loslegen Studio-Notebooks um Datensätze zu untersuchen und Modelle zu erstellen. Wenn Sie eine GUI-basierte und interaktive Schnittstelle bevorzugen, können Sie verwenden Amazon SageMaker Data Wrangler, mit über 300 integrierten Visualisierungen, Analysen und Transformationen zur effizienten Verarbeitung von Daten, die von Spark unterstützt werden, ohne eine einzige Codezeile schreiben zu müssen.

Daten-Wrangler bietet jetzt eine integrierte Datenvorbereitungsfunktion in Amazon SageMaker Studio-Notizbücher Dadurch können ML-Experten Datenmerkmale visuell überprüfen, Probleme identifizieren und Probleme mit der Datenqualität beheben – mit nur wenigen Klicks direkt in den Notebooks.

In diesem Beitrag zeigen wir Ihnen, wie die Daten-Wrangler Das Datenvorbereitungs-Widget generiert automatisch wichtige Visualisierungen auf einem Pandas-Datenrahmen, um die Datenverteilung zu verstehen, Datenqualitätsprobleme zu erkennen und Dateneinblicke wie Ausreißer für jede Funktion an die Oberfläche zu bringen. Es hilft, mit den Daten zu interagieren und Erkenntnisse zu gewinnen, die bei Ad-hoc-Abfragen möglicherweise unbemerkt bleiben. Es empfiehlt auch zu behebende Transformationen, ermöglicht es Ihnen, Datentransformationen auf der Benutzeroberfläche anzuwenden und automatisch Code in den Notebook-Zellen zu generieren. Diese Funktion ist in allen Regionen verfügbar, in denen SageMaker Studio verfügbar ist.

Lösungsüberblick

Lassen Sie uns weiter verstehen, wie dieses neue Widget die Datenexploration erheblich vereinfacht und ein nahtloses Erlebnis bietet, um die allgemeine Datenvorbereitungserfahrung für Dateningenieure und Praktiker zu verbessern. Für unseren Anwendungsfall verwenden wir eine modifizierte Version der Titanic-Datensatz, ein beliebter Datensatz in der ML-Community, der jetzt als Beispieldatensatz damit Sie schnell mit SageMaker Data Wrangler loslegen können. Der Originaldatensatz stammt von OpenML, und geändert, um synthetische Datenqualitätsprobleme von Amazon für diese Demo hinzuzufügen. Sie können die geänderte Version des Datensatzes aus dem öffentlichen S3-Pfad herunterladen s3://sagemaker-sample-files/datasets/tabular/dirty-titanic/titanic-dirty-4.csv.

Voraussetzungen:

Um praktische Erfahrungen mit allen in diesem Beitrag beschriebenen Funktionen zu sammeln, erfüllen Sie die folgenden Voraussetzungen:

  1. Stellen Sie sicher, dass Sie über ein AWS-Konto verfügen, sichern Sie sich den Zugriff, um sich über das Konto anzumelden AWS-Managementkonsole und AWS Identity and Access Management and (IAM)-Berechtigungen zu verwenden Amazon Sage Maker und Amazon Simple Storage-Service (Amazon S3)-Ressourcen.
  2. Verwenden Sie das Beispiel-Dataset aus dem öffentlichen S3-Pfad s3://sagemaker-sample-files/datasets/tabular/dirty-titanic/titanic-dirty-4.csv oder alternativ laden Sie es in einen S3-Bucket hoch in Ihrem Konto.
  3. Integrieren Sie eine SageMaker-Domäne und greifen Sie auf Studio zu, um Notebooks zu verwenden. Anweisungen finden Sie unter Integrieren in die Amazon SageMaker-Domäne. Wenn Sie das vorhandene Studio verwenden, führen Sie ein Upgrade auf das durch neueste Version von Studio.

Aktivieren Sie das Datenexplorations-Widget

Wenn Sie Pandas-Datenrahmen verwenden, können Studio-Notebook-Benutzer das Datenexplorations-Widget manuell aktivieren, sodass neue Visualisierungen standardmäßig über jeder Spalte angezeigt werden. Das Widget zeigt ein Histogramm für numerische Daten und ein Balkendiagramm für andere Datentypen. Diese Darstellungen ermöglichen es Ihnen, die Datenverteilung schnell zu verstehen und fehlende Werte und Ausreißer zu entdecken, ohne Boilerplate-Methoden für jede einzelne Spalte schreiben zu müssen. Sie können in jedem Bild den Mauszeiger über die Leiste bewegen, um einen schnellen Überblick über die Verteilung zu erhalten.

Öffnen Sie Studio und erstellen Sie ein neues Python 3-Notebook. Achten Sie darauf, die auszuwählen Datenwissenschaft 3.0 Bild aus SageMaker-Bildern durch Anklicken Umgebung ändern .

Umgebung ändern

Das Datenexplorations-Widget ist in den folgenden Bildern verfügbar. Eine Liste der SageMaker-Standardbilder finden Sie unter Verfügbare Amazon SageMaker-Images.

  • Python 3 (Data Science) mit Python 3.7
  • Python 3 (Data Science 2.0) mit Python 3.8
  • Python 3 (Data Science 3.0) mit Python 3.10
  • Spark Analytics 1.0 und 2.0

Um dieses Widget zu verwenden, importieren Sie die SageMaker_DataWrangler Bibliothek. Laden Sie die modifizierte Version des Titanic-Datensatzes von herunter S3://sagemaker-sample-files/datasets/tabular/dirty-titanic/titanic-dirty-4.csv und lesen Sie die CSV mit der Pandas-Bibliothek:

import pandas as pd
import boto3
import io
import sagemaker_datawrangler s3 = boto3.client('s3')
obj = s3.get_object(Bucket='sagemaker-sample-files', Key='datasets/tabular/dirty-titanic/titanic-dirty-4.csv')
df = pd.read_csv(io.BytesIO(obj['Body'].read()))

Data Wrangler Datenvorbereitungs-Widget – Beispiel-Notebook

Visualisieren Sie die Daten

Nachdem die Daten in den Pandas-Datenrahmen geladen wurden, können Sie die Daten einfach mit anzeigen df or display(df). Neben der Auflistung der Zeile liefert das Datenvorbereitungs-Widget Erkenntnisse, Visualisierungen und Ratschläge zur Datenqualität. Sie müssen keinen zusätzlichen Code schreiben, um Einblicke in Funktionen und Ziele, Verteilungsinformationen oder Datenqualitätsprüfungen zu generieren. Sie können die Kopfzeile der Datenrahmentabelle auswählen, um die statistische Zusammenfassung mit den Datenqualitätswarnungen anzuzeigen, falls vorhanden.

die Daten visualisieren

Jede Spalte zeigt basierend auf dem Datentyp ein Balkendiagramm oder Histogramm. Standardmäßig erfasst das Widget bis zu 10,000 Beobachtungen, um aussagekräftige Erkenntnisse zu generieren. Es bietet auch die Option, die Insight-Analyse für den gesamten Datensatz auszuführen.

Wie im folgenden Screenshot gezeigt, identifiziert dieses Widget, ob eine Spalte kategoriale oder quantitative Daten enthält.

kategoriale oder quantitative Daten

Für kategoriale Daten generiert das Widget das Balkendiagramm mit allen Kategorien. Im folgenden Screenshot beispielsweise die Spalte Sex identifiziert die Kategorien der Daten. Sie können den Mauszeiger über die Leiste bewegen (männlich in diesem Fall), um die Details dieser Kategorien anzuzeigen, z. B. die Gesamtzahl der Zeilen mit dem Wert male und seine Verteilung im gesamten visualisierten Datensatz (64.07 % in diesem Beispiel). Außerdem wird der Gesamtprozentsatz fehlender Werte für kategoriale Daten in einer anderen Farbe hervorgehoben. Für quantitative Daten wie die ticket Spalte zeigt sie die Verteilung zusammen mit dem Prozentsatz ungültiger Werte.

Wenn Sie eine Standard-Pandas-Visualisierung im Notizbuch sehen möchten, können Sie wählen Zeigen Sie die Pandas-Tabelle an und wechseln Sie zwischen dem Widget und der Pandas-Darstellung, wie im folgenden Screenshot gezeigt.

Zeigen Sie die Pandas-Tabelle an

Zeigen Sie die Data Wrangler-Tabelle an

Um detailliertere Einblicke in die Daten in der Spalte zu erhalten, wählen Sie die Kopfzeile der Spalte aus, um einen Seitenbereich für die Spalte zu öffnen. Hier können Sie zwei Registerkarten beobachten: Blog und Datenqualität.

Einblicke und Datenqualität

In den folgenden Abschnitten gehen wir näher auf diese beiden Optionen ein.

Blog

Das Blog Registerkarte enthält Details mit Beschreibungen für jede Spalte. Dieser Abschnitt listet aggregierte Statistiken wie Modus, Anzahl der Uniques, Verhältnisse und Anzahl für fehlende/ungültige Werte usw. auf und visualisiert die Datenverteilung mit Hilfe eines Histogramms oder eines Balkendiagramms. In den folgenden Screenshots können Sie sich die Dateneinblicke und Verteilungsinformationen ansehen, die mit leicht verständlichen Visualisierungen angezeigt werden, die für die ausgewählte Spalte generiert wurden survived.

Datenqualität

Das Studio-Datenvorbereitungs-Widget hebt identifizierte Datenqualitätsprobleme mit dem Warnzeichen in der Kopfzeile hervor. Das Widget kann das gesamte Spektrum von Datenqualitätsproblemen identifizieren, von den Grundlagen (fehlende Werte, konstante Spalte usw.) bis hin zu eher ML-spezifischen (Ziellecks, Funktionen mit niedrigem Vorhersagewert usw.). Das Widget hebt die Zellen hervor, die das Datenqualitätsproblem verursachen, und organisiert die Zeilen neu, um die problematischen Zellen ganz oben zu platzieren. Um das Datenqualitätsproblem zu beheben, bietet das Widget mehrere Transformer, die auf Knopfdruck anwendbar sind.

Um den Abschnitt Datenqualität zu erkunden, wählen Sie die Spaltenüberschrift und im Seitenbereich die aus Datenqualität Tab. Folgendes sollte in Ihrer Studio-Umgebung angezeigt werden.

Registerkarte Datenqualität

Schauen wir uns die verschiedenen Optionen an, die auf der verfügbar sind Datenqualität Tab. Für dieses Beispiel wählen wir die Altersspalte, die anhand der Daten als quantitative Spalte erkannt wird. Wie wir im folgenden Screenshot sehen können, schlägt dieses Widget verschiedene Arten von Transformationen vor, die Sie anwenden könnten, einschließlich der häufigsten Aktionen, wie z Durch neuen Wert ersetzen, Tropfen fehlt, Durch Median ersetzen, oder Ersetzen Sie durch Mittelwert. Sie können basierend auf dem Anwendungsfall (dem ML-Problem, das Sie zu lösen versuchen) eine davon für Ihren Datensatz auswählen. Es gibt Ihnen auch die Spalte löschen Option, wenn Sie die Funktion vollständig entfernen möchten.

 Alter

Wenn Sie wählen Code anwenden und exportieren, wird die Transformation auf die tiefe Kopie des Datenrahmens angewendet. Nachdem die Transformation erfolgreich angewendet wurde, wird die Datentabelle mit den Erkenntnissen und Visualisierungen aktualisiert. Der Transformationscode wird nach der vorhandenen Zelle im Notizbuch generiert. Sie können diesen exportierten Code später ausführen, um die Transformation auf Ihre Datensätze anzuwenden und sie gemäß Ihren Anforderungen zu erweitern. Sie können die Transformation anpassen, indem Sie den generierten Code direkt ändern. Wenn wir die anwenden Tropfen fehlt Option in der Spalte „Alter“ wird der folgende Transformationscode auf das Dataset angewendet, und Code wird auch in einer Zelle unterhalb des Widgets generiert:

#Pandas code generated by sagemaker_datawrangler
output_df = df.copy(deep=True) #Code to Drop missing for column: age to resolve warning: Missing values output_df = output_df[output_df['age'].notnull()]

Im Folgenden finden Sie ein weiteres Beispiel für ein Code-Snippet für Durch Median ersetzen:

#Pandas code generated by sagemaker_datawrangler
output_df = df.copy(deep=True) #Code to Replace with median for column: age to resolve warning: Missing values output_df['age']=output_df['age'].fillna(output_df['age'].median(skipna=True))

Sehen wir uns nun die Target-Insight-Fähigkeit des Datenvorbereitungs-Widgets an. Angenommen, Sie möchten die verwenden survived Funktion, um vorherzusagen, ob ein Passagier überleben wird. Wählen Sie das survived Spaltenüberschrift. Wählen Sie im Seitenbereich aus Als Zielspalte auswählen. Die ideale Datenverteilung für die survived Feature sollte nur zwei Klassen haben: ja (1) oder Nein (0), was hilft, die Überlebenschancen des Titanic-Absturzes zu klassifizieren. Aufgrund von Dateninkonsistenzen in der ausgewählten Zielspalte hat die Funktion jedoch überlebt 0, 1, ?, unknown und yes.

als Zielspalte auswählen

Wählen Sie den Problemtyp basierend auf der ausgewählten Zielspalte aus, was beides sein kann Klassifikation or Regression. Für die Spalte „Überlebt“ ist der Problemtyp „Klassifizierung“. Wählen Führen Sie um Erkenntnisse für die Zielspalte zu generieren.

überlebt

Das Datenvorbereitungs-Widget listet die Zielspaltenerkenntnisse mit Empfehlungen und Beispielerklärungen auf, um die Probleme mit der Datenqualität der Zielspalte zu lösen. Es hebt auch automatisch die anomalen Daten in der Spalte hervor.

Einblicke in Zielspalten mit Empfehlungen

Wir wählen die empfohlene Transformation Lassen Sie seltene Zielwerte fallen, weil es weniger Beobachtungen für die seltenen Zielwerte gibt.

Senken Sie den seltenen Zielwert

Die gewählte Transformation wird auf den Pandas-Datenrahmen angewendet und die ungewöhnlichen Zielwerte wurden aus der Spalte „überlebt“ eliminiert. Siehe folgenden Code:

# Pandas code generated by sagemaker_datawrangler
output_df = df.copy(deep=True) # Code to Drop rare target values for column: survived to resolve warning: Too few instances per class rare_target_labels_to_drop = ['?', 'unknown', 'yes']
output_df = output_df[~output_df['survived'].isin(rare_target_labels_to_drop)]

Die Ergebnisse der angewendeten Transformation sind sofort im Datenrahmen sichtbar. Um die mit dem Datenvorbereitungs-Widget angewendeten Datenvorbereitungsaktivitäten nachzuverfolgen, wird der transformierte Code auch in der folgenden Notebook-Zelle generiert.

Zusammenfassung

In diesem Beitrag haben wir Anleitungen gegeben, wie das Studio-Datenvorbereitungs-Widget Ihnen helfen kann, Datenverteilungen zu analysieren, vom Tool generierte Erkenntnisse zur Datenqualität zu untersuchen und potenzielle Probleme wie Ausreißer für jede kritische Funktion aufzudecken. Dies hilft, die allgemeine Datenqualität zu verbessern, damit Sie qualitativ hochwertige Modelle trainieren können, und es beseitigt das undifferenzierte schwere Heben, indem es Ihnen ermöglicht, Daten auf der Benutzeroberfläche zu transformieren und automatisch Code für die Notebook-Zellen zu generieren. Sie können diesen Code dann in Ihren MLOps-Pipelines verwenden, um Reproduzierbarkeit aufzubauen, Zeitverschwendung durch sich wiederholende Aufgaben zu vermeiden und Kompatibilitätsprobleme zu reduzieren, indem Sie den Aufbau und die Bereitstellung von Data-Wrangling-Pipelines beschleunigen.

Wenn Sie neu bei SageMaker Data Wrangler oder Studio sind, finden Sie weitere Informationen unter Beginnen Sie mit SageMaker Data Wrangler. Wenn Sie Fragen zu diesem Beitrag haben, fügen Sie diese bitte im Kommentarbereich hinzu.


Über die Autoren

Teil Patel ist Lösungsarchitekt bei AWS in der San Francisco Bay Area. Parth leitet Kunden an, ihren Weg in die Cloud zu beschleunigen und ihnen dabei zu helfen, die AWS Cloud erfolgreich einzuführen und zu erweitern. Er konzentriert sich auf maschinelles Lernen, ökologische Nachhaltigkeit und Anwendungsmodernisierung.

Isha Dua ist ein Senior Solutions Architect mit Sitz in der San Francisco Bay Area. Sie hilft AWS Enterprise-Kunden beim Wachstum, indem sie ihre Ziele und Herausforderungen versteht und sie dabei anleitet, wie sie ihre Anwendungen auf Cloud-native Weise gestalten und gleichzeitig sicherstellen können, dass sie belastbar und skalierbar sind. Sie interessiert sich leidenschaftlich für maschinelle Lerntechnologien und ökologische Nachhaltigkeit.

Hariharan Suresh ist Senior Solutions Architect bei AWS. Seine Leidenschaft gilt Datenbanken, maschinellem Lernen und dem Entwerfen innovativer Lösungen. Bevor er zu AWS kam, war Hariharan Produktarchitekt, Core-Banking-Implementierungsspezialist und Entwickler und arbeitete über 11 Jahre lang mit BFSI-Organisationen zusammen. Außerhalb der Technik genießt er Gleitschirmfliegen und Radfahren.

Daniel Mitchell ist AI/ML Specialist Solutions Architect bei Amazon Web Services. Er konzentriert sich auf Computer Vision-Anwendungsfälle und hilft Kunden in ganz EMEA, ihre ML-Reise zu beschleunigen.

spot_img

Neueste Intelligenz

spot_img

Chat mit uns

Hallo! Wie kann ich dir helfen?