Data-Science- und Data-Engineering-Teams verbringen einen erheblichen Teil ihrer Zeit in der Datenvorbereitungsphase eines Machine-Learning-Lebenszyklus (ML) mit der Durchführung von Datenauswahl-, -bereinigungs- und -transformationsschritten. Dies ist ein notwendiger und wichtiger Schritt jedes ML-Workflows, um aussagekräftige Erkenntnisse und Vorhersagen zu generieren, da schlechte oder qualitativ minderwertige Daten die Relevanz der gewonnenen Erkenntnisse erheblich verringern.
Data-Engineering-Teams sind traditionell für die Aufnahme, Konsolidierung und Umwandlung von Rohdaten für den nachgelagerten Verbrauch verantwortlich. Datenwissenschaftler müssen häufig zusätzliche Datenverarbeitung für domänenspezifische ML-Anwendungsfälle wie natürliche Sprache und Zeitreihen durchführen. Beispielsweise können bestimmte ML-Algorithmen empfindlich auf fehlende Werte, spärliche Merkmale oder Ausreißer reagieren und erfordern besondere Berücksichtigung. Selbst in Fällen, in denen der Datensatz in einem guten Zustand ist, möchten Datenwissenschaftler möglicherweise die Merkmalsverteilungen ändern oder neue Merkmale erstellen, um die aus den Modellen gewonnenen Erkenntnisse zu maximieren. Um diese Ziele zu erreichen, müssen sich Datenwissenschaftler auf Datenentwicklungsteams verlassen, um die gewünschten Änderungen umzusetzen, was zu Abhängigkeiten und Verzögerungen im Modellentwicklungsprozess führt. Alternativ können sich Data-Science-Teams dafür entscheiden, die Datenaufbereitung und das Feature-Engineering intern unter Verwendung verschiedener Programmierparadigmen durchzuführen. Es erfordert jedoch einen Zeit- und Arbeitsaufwand für die Installation und Konfiguration von Bibliotheken und Frameworks, was nicht ideal ist, da diese Zeit besser für die Optimierung der Modellleistung verwendet werden kann.
Amazon SageMaker Data Wrangler vereinfacht den Datenvorbereitungs- und Feature-Engineering-Prozess und reduziert die Zeit, die zum Aggregieren und Vorbereiten von Daten für ML benötigt wird, von Wochen auf Minuten, indem Datenwissenschaftlern eine einzige visuelle Schnittstelle zum Auswählen, Bereinigen und Erkunden ihrer Datensätze bereitgestellt wird. Data Wrangler bietet über 300 integrierte Datentransformationen, um Funktionen zu normalisieren, zu transformieren und zu kombinieren, ohne Code schreiben zu müssen. Sie können Daten aus mehreren Datenquellen importieren, z Amazon Simple Storage Service (Amazon S3), Amazonas Athena, Amazon RedShift und Schneeflocke. Sie können jetzt auch verwenden Databricks als Datenquelle in Data Wrangler, um Daten einfach für ML vorzubereiten.
Die Databricks Lakehouse-Plattform kombiniert die besten Elemente von Data Lakes und Data Warehouses, um die Zuverlässigkeit, starke Governance und Leistung von Data Warehouses mit der Offenheit, Flexibilität und maschinellen Lernunterstützung von Data Lakes zu bieten. Mit Databricks als Datenquelle für Data Wrangler können Sie jetzt schnell und einfach eine Verbindung zu Databricks herstellen, in Databricks gespeicherte Daten interaktiv mithilfe von SQL abfragen und vor dem Import eine Vorschau der Daten anzeigen. Darüber hinaus können Sie Ihre Daten in Databricks mit in Amazon S3 gespeicherten Daten und über Amazon Athena, Amazon Redshift und Snowflake abgefragten Daten verknüpfen, um den richtigen Datensatz für Ihren ML-Anwendungsfall zu erstellen.
In diesem Beitrag transformieren wir den Lending Club Loan-Datensatz mit Amazon SageMaker Data Wrangler für die Verwendung im ML-Modelltraining.
Lösungsüberblick
Das folgende Diagramm zeigt unsere Lösungsarchitektur.
Der Lending Club Loan-Datensatz enthält vollständige Kreditdaten für alle zwischen 2007 und 2011 vergebenen Kredite, einschließlich des aktuellen Kreditstatus und der neuesten Zahlungsinformationen. Es verfügt über 39,717 Zeilen, 22 Feature-Spalten und 3 Zielbezeichnungen.
Um unsere Daten mit Data Wrangler zu transformieren, führen wir die folgenden allgemeinen Schritte aus:
- Laden Sie den Datensatz herunter und teilen Sie ihn auf.
- Erstellen Sie einen Data Wrangler-Flow.
- Importieren Sie Daten von Databricks in Data Wrangler.
- Importieren Sie Daten von Amazon S3 in Data Wrangler.
- Verknüpfen Sie die Daten.
- Wenden Sie Transformationen an.
- Exportieren Sie den Datensatz.
Voraussetzungen:
In dem Beitrag wird davon ausgegangen, dass Sie über einen laufenden Databricks-Cluster verfügen. Wenn Ihr Cluster auf AWS ausgeführt wird, überprüfen Sie, ob Folgendes konfiguriert ist:
Databricks-Setup
- An Instanzprofil mit den erforderlichen Berechtigungen für den Zugriff auf einen S3-Bucket
- A Bucket-Richtlinie mit den erforderlichen Berechtigungen für den Ziel-S3-Bucket
Folgen Sie uns Sicherer Zugriff auf S3-Buckets mithilfe von Instanzprofilen für das erforderliche AWS Identity and Access Management and (IAM)-Rollen, S3-Bucket-Richtlinie und Databricks-Clusterkonfiguration. Stellen Sie sicher, dass der Databricks-Cluster richtig konfiguriert ist Instance Profile
, ausgewählt unter den erweiterten Optionen, um auf den gewünschten S3-Bucket zuzugreifen.
Nachdem der Databricks-Cluster mit dem erforderlichen Zugriff auf Amazon S3 betriebsbereit ist, können Sie ihn abrufen JDBC URL
von Ihrem Databricks-Cluster, der von Data Wrangler zum Herstellen einer Verbindung verwendet werden soll.
Rufen Sie die JDBC-URL ab
Führen Sie die folgenden Schritte aus, um die JDBC-URL abzurufen:
- Navigieren Sie in Databricks zur Cluster-Benutzeroberfläche.
- Wählen Sie Ihren Cluster.
- Auf dem Konfiguration Tab, wählen Sie Erweiterte Optionen.
- Der Erweiterte Optionen, wählen Sie das JDBC/ODBC Tab.
- Kopieren Sie die JDBC-URL.
Stellen Sie sicher, dass Sie Ihren persönlichen Zugang ersetzen Zeichen in der URL.
Data Wrangler-Setup
Bei diesem Schritt wird davon ausgegangen, dass Sie Zugriff auf Amazon SageMaker haben, eine Instanz von Amazon SageMaker-Studiound ein Studio-Benutzer.
Um den Zugriff auf die Databricks-JDBC-Verbindung von Data Wrangler aus zu ermöglichen, benötigt der Studio-Benutzer die folgende Berechtigung:
secretsmanager:PutResourcePolicy
Führen Sie die folgenden Schritte aus, um die IAM-Ausführungsrolle zu aktualisieren, die dem Studio-Benutzer mit der oben genannten Berechtigung als IAM-Administratorbenutzer zugewiesen ist.
- Wählen Sie in der IAM-Konsole Rollen im Navigationsbereich.
- Wählen Sie die Rolle aus, die Ihrem Studio-Benutzer zugewiesen ist.
- Auswählen Berechtigungen hinzufügen.
- Auswählen Erstellen Sie eine Inline-Richtlinie.
- Wählen Sie für Service die Option aus Geheimnis-Manager.
- On Aktionen, wählen Zugriffsebene.
- Auswählen Rechteverwaltung.
- Auswählen PutResourcePolicy.
- Aussichten für Downloads, wählen spezifische und wählen Sie Alle in diesem Konto.
Laden Sie den Datensatz herunter und teilen Sie ihn auf
Sie können durch zu starten Herunterladen des Datensatzes. Zu Demonstrationszwecken teilen wir den Datensatz auf, indem wir die Feature-Spalten kopieren id
, emp_title
, emp_length
, home_owner
und annual_inc
eine Sekunde zu schaffen Darlehen_2.csv Datei. Wir entfernen die oben genannten Spalten aus der ursprünglichen Kreditdatei mit Ausnahme der id
Spalte und benennen Sie die Originaldatei in um Darlehen_1.csv. Laden Sie die hoch Darlehen_1.csv Datei auf Databricks um eine Tabelle zu erstellen loans_1
und Darlehen_2.csv in einem S3-Bucket.
Erstellen Sie einen Data Wrangler-Flow
Informationen zu den Voraussetzungen für Data Wrangler finden Sie unter Erste Schritte mit Data Wrangler.
Beginnen wir mit der Erstellung eines neuen Datenflusses.
- Auf der Studio-Konsole auf der Reichen Sie das Menü, wählen Sie Neu.
- Auswählen Data Wrangler-Fluss.
- Benennen Sie den Flow wie gewünscht um.
Alternativ können Sie über den Launcher einen neuen Datenfluss erstellen.
- Wählen Sie in der Studio-Konsole aus Amazon SageMaker-Studio im Navigationsbereich.
- Auswählen
Neuer Datenfluss.
Das Erstellen eines neuen Flows kann einige Minuten dauern. Nachdem der Flow erstellt wurde, wird das angezeigt Daten importieren
Importieren Sie Daten aus Databricks in Data Wrangler
Als nächstes richten wir Databricks (JDBC) als Datenquelle in Data Wrangler ein. Um Daten aus Databricks zu importieren, müssen wir zunächst Databricks als Datenquelle hinzufügen.
- Auf dem Daten importieren Wählen Sie auf der Registerkarte Ihres Data Wrangler-Flows die Option aus Datenquelle hinzufügen.
- Wählen Sie im Dropdown-Menü die Option Datenbausteine (JDBC).
Auf dem Importieren Sie Daten aus Databricks Auf der Seite geben Sie Ihre Clusterdetails ein.
- Aussichten für DatensatznameGeben Sie einen Namen ein, den Sie in der Flow-Datei verwenden möchten.
- Aussichten für LED Treiber, wählen Sie den Treiber
com.simba.spark.jdbc.Driver
. - Aussichten für JDBC-URLGeben Sie die zuvor erhaltene URL Ihres Databricks-Clusters ein.
Die URL sollte dem folgenden Format ähneln jdbc:spark://<serve- hostname>:443/default;transportMode=http;ssl=1;httpPath=<http- path>;AuthMech=3;UID=token;PWD=<personal-access-token>
.
- Geben Sie im SQL-Abfrageeditor die folgende SQL-SELECT-Anweisung an:
Wenn Sie beim Hochladen von Daten in Databricks einen anderen Tabellennamen gewählt haben, ersetzen Sie „credits_1“ in der obigen SQL-Abfrage entsprechend.
Im SQL-Abfrage Im Abschnitt „Data Wrangler“ können Sie jede mit der JDBC Databricks-Datenbank verbundene Tabelle abfragen. Die Vorauswahl Probenahme aktivieren Die Einstellung ruft standardmäßig die ersten 50,000 Zeilen Ihres Datensatzes ab. Abhängig von der Größe des Datensatzes kann die Auswahl aufgehoben werden Probenahme aktivieren kann zu einer längeren Importzeit führen.
- Auswählen Führen Sie.
Durch das Ausführen der Abfrage erhalten Sie eine Vorschau Ihres Databricks-Datensatzes direkt in Data Wrangler.
Data Wrangler bietet die Flexibilität, bei Bedarf mehrere gleichzeitige Verbindungen zu einem Databricks-Cluster oder mehreren Clustern einzurichten und so die Analyse und Vorbereitung kombinierter Datensätze zu ermöglichen.
Importieren Sie die Daten von Amazon S3 in Data Wrangler
Als nächstes importieren wir die loan_2.csv
Datei von Amazon S3.
- Wählen Sie auf der Registerkarte „Importieren“ die Option Amazon S3 als Datenquelle.
- Navigieren Sie zum S3-Bucket für
loan_2.csv
Datei.
Wenn Sie die CSV-Datei auswählen, können Sie eine Vorschau der Daten anzeigen.
- Im Details Fenster, wählen Sie Erweiterte Konfiguration sichergehen Probenahme aktivieren ausgewählt ist und ABSATZ ist gewählt für Trennzeichen.
- Auswählen
Import.
Nach dem loans_2.csv
Nachdem der Datensatz erfolgreich importiert wurde, zeigt die Datenflussschnittstelle sowohl die Databricks JDBC- als auch die Amazon S3-Datenquellen an.
Verknüpfen Sie die Daten
Nachdem wir nun Daten aus Databricks und Amazon S3 importiert haben, verbinden wir die Datensätze mithilfe einer gemeinsamen Spalte mit eindeutigen Bezeichnern.
- Auf dem Datenfluss Registerkarte, für Datentypen, wählen Sie das Pluszeichen für
loans_1
. - Auswählen
Bewirb dich bei uns!.
- Wähle die
loans_2.csv
Datei als Rechts Datensatz. - Auswählen
Einrichtung um die Join-Kriterien festzulegen.
- Aussichten für Name und VornameGeben Sie einen Namen für den Join ein.
- Aussichten für Join-Typ, wählen Innere für diesen Beitrag.
- Wähle die
id
Spalte zum Mitmachen. - Auswählen Bewerbung , um eine Vorschau des verbundenen Datensatzes anzuzeigen.
- Auswählen
Speichern um es dem Datenfluss hinzuzufügen.
Wenden Sie Transformationen an
Data Wrangler verfügt über über 300 integrierte Transformationen, die keine Codierung erfordern. Lassen Sie uns integrierte Transformationen verwenden, um den Datensatz vorzubereiten.
Spalte löschen
Zuerst löschen wir die redundante ID-Spalte.
- Wählen Sie auf dem verbundenen Knoten das Pluszeichen aus.
- Auswählen
Transformation hinzufügen.
- Der Verwandelt, wählen + Schritt hinzufügen.
- Auswählen Spalten verwalten.
- Aussichten für Transformieren, wählen Spalte löschen.
- Aussichten für Spalten zum Ablegen, wähle die Spalte
id_0
. - Auswählen
Vorspann.
- Auswählen Speichern.
Zeichenfolge formatieren
Wenden wir eine Zeichenfolgenformatierung an, um das Prozentzeichen aus dem zu entfernen int_rate
und revol_util
Säulen.
- Auf dem Daten-Management Registerkarte unter Verwandelt sich, wählen + Schritt hinzufügen.
- Auswählen Zeichenfolge formatieren.
- Aussichten für Transformieren, wählen Zeichen von rechts entfernen.
Mit Data Wrangler können Sie die von Ihnen gewählte Transformation auf mehrere Spalten gleichzeitig anwenden.
- Aussichten für Eingabespalten, wählen
int_rate
undrevol_util
. - Aussichten für Zu entfernende Zeichen, eingeben
%
. - Auswählen
Vorspann.
- Auswählen Speichern.
Text hervorheben
Lassen Sie uns nun vektorisieren verification_status
, eine Text-Feature-Spalte. Wir konvertieren die Textspalte in TF-IDF-Vektoren (Term Frequency–Inverse Document Frequency), indem wir den Zählvektorisierer und einen Standard-Tokenisierer wie unten beschrieben anwenden. Data Wrangler bietet bei Bedarf auch die Möglichkeit, Ihren eigenen Tokenizer mitzubringen.
- Der Transformatoren, wählen + Schritt hinzufügen.
- Auswählen Text hervorheben.
- Aussichten für Transformieren, wählen Vektorisieren.
- Aussichten für Eingabespalten, wählen
verification_status
. - Auswählen
Vorspann.
- Auswählen Speichern.
Exportieren Sie den Datensatz
Nachdem wir mehrere Transformationen auf verschiedene Spaltentypen angewendet haben, einschließlich Text, kategorial und numerisch, können wir den transformierten Datensatz für das ML-Modelltraining verwenden. Der letzte Schritt besteht darin, den transformierten Datensatz nach Amazon S3 zu exportieren. In Data Wrangler haben Sie mehrere Optionen zur Auswahl für die nachgelagerte Nutzung der Transformationen:
- Auswählen Exportschritt um automatisch ein Jupyter-Notebook mit SageMaker-Verarbeitungscode für die Verarbeitung zu generieren und den transformierten Datensatz in einen S3-Bucket zu exportieren. Weitere Informationen finden Sie unter Starten Sie Verarbeitungsaufträge mit wenigen Klicks mit Amazon SageMaker Data Wrangler.
- Exportieren Sie ein Studio-Notizbuch, das ein erstellt SageMaker-Pipeline mit Ihrem Datenfluss oder ein Notizbuch, das einen erstellt Amazon SageMaker Feature Store Feature-Gruppe und fügt Features zu einem Offline- oder Online-Feature-Store hinzu.
- Auswählen Datenexport zum direkten Export nach Amazon S3.
In diesem Beitrag machen wir uns das zunutze Datenexport Option in der Transformieren Ansicht, um den transformierten Datensatz direkt nach Amazon S3 zu exportieren.
- Auswählen
Datenexport.
- Aussichten für S3 Standort, wählen Entdecken und wählen Sie Ihren S3-Bucket aus.
- Auswählen
Datenexport.
Aufräumen
Wenn Ihre Arbeit mit Data Wrangler abgeschlossen ist, Fahren Sie Ihre Data Wrangler-Instanz herunter um zusätzliche Gebühren zu vermeiden.
Zusammenfassung
In diesem Beitrag haben wir erläutert, wie Sie Databricks schnell und einfach als Datenquelle in Data Wrangler einrichten und verbinden, in Databricks gespeicherte Daten mithilfe von SQL interaktiv abfragen und vor dem Import eine Vorschau der Daten anzeigen können. Darüber hinaus haben wir untersucht, wie Sie Ihre Daten in Databricks mit in Amazon S3 gespeicherten Daten verbinden können. Anschließend haben wir Datentransformationen auf den kombinierten Datensatz angewendet, um eine Datenvorbereitungspipeline zu erstellen. Weitere Informationen zu den Analysefunktionen von Data Wrangler, einschließlich der Erstellung von Ziellecks und Bias-Berichten, finden Sie im folgenden Blogbeitrag Beschleunigen Sie die Datenaufbereitung mit Amazon SageMaker Data Wrangler für die Vorhersage der Wiederaufnahme von Diabetikerpatienten.
Informationen zu den ersten Schritten mit Data Wrangler finden Sie unter Vorbereiten von ML-Daten mit Amazon SageMaker Data Wrangler, und sehen Sie sich die neuesten Informationen zum Data Wrangler an zur Produktseite.
Über die Autoren
Roop-Bains ist ein Lösungsarchitekt bei AWS mit Schwerpunkt auf KI/ML. Er ist leidenschaftlich daran interessiert, Kunden dabei zu helfen, Innovationen zu entwickeln und ihre Geschäftsziele mithilfe von künstlicher Intelligenz und maschinellem Lernen zu erreichen. In seiner Freizeit liest und wandert Roop gerne.
Igor Alekseev ist Partner Solution Architect bei AWS im Bereich Data and Analytics. Igor arbeitet mit strategischen Partnern zusammen und hilft ihnen beim Aufbau komplexer, AWS-optimierter Architekturen. Bevor er zu AWS kam, implementierte er als Data/Solution Architect viele Projekte in Big Data, darunter mehrere Data Lakes im Hadoop-Ökosystem. Als Data Engineer war er an der Anwendung von KI/ML zur Betrugserkennung und Büroautomatisierung beteiligt. Igors Projekte fanden in einer Vielzahl von Branchen statt, darunter Kommunikation, Finanzen, öffentliche Sicherheit, Fertigung und Gesundheitswesen. Zuvor arbeitete Igor als Full Stack Engineer/Tech Lead.
Huong Nguyen ist Senior Product Manager bei AWS. Sie leitet die Benutzererfahrung für SageMaker Studio. Sie verfügt über 13 Jahre Erfahrung in der Entwicklung von kundenbesessenen und datengesteuerten Produkten für Unternehmen und Verbraucher. In ihrer Freizeit liest sie gerne, ist in der Natur und verbringt viel Zeit mit ihrer Familie.
Henry Wang ist Softwareentwicklungsingenieur bei AWS. Nach seinem Abschluss an der UC Davis ist er kürzlich dem Data Wrangler-Team beigetreten. Er interessiert sich für Datenwissenschaft und maschinelles Lernen und betreibt 3D-Druck als Hobby.
- Coinsmart. Europas beste Bitcoin- und Krypto-Börse.
- Platoblockkette. Web3-Metaverse-Intelligenz. Wissen verstärkt. DEN FREIEN ZUGANG.
- CryptoHawk. Altcoin-Radar. Kostenlose Testphase.
- Quelle: https://aws.amazon.com/blogs/machine-learning/prepare-data-from-databricks-for-machine-learning-using-amazon-sagemaker-data-wrangler/
- "
- 000
- 100
- 39
- 3d
- Über Uns
- Zugang
- unterbringen
- Zusätzliche
- advanced
- Vorteil
- Algorithmen
- Alle
- Amazon
- Analyse
- Analytik
- Anwendung
- Architektur
- künstlich
- künstliche Intelligenz
- Künstliche Intelligenz und maschinelles Lernen
- zugewiesen
- Automation
- AWS
- Sein
- BESTE
- Big Data
- Blog
- Grenze
- bauen
- eingebaut
- Geschäft
- Fähigkeiten
- Fälle
- Auswählen
- Reinigung
- Club
- Code
- Programmierung
- Kolonne
- kombiniert
- gemeinsam
- Kommunikation
- Komplex
- Konfiguration
- Sie
- Verbindung
- Verbindungen
- Berücksichtigung
- Konsul (Console)
- Festigung
- Verbraucher
- Verbrauch
- enthält
- erstellt
- schafft
- Erstellen
- Strom
- Kunden
- technische Daten
- Datenwissenschaft
- Datenbase
- verzögern
- Abhängig
- Entdeckung
- Entwicklung
- anders
- Direkt
- Displays
- nach unten
- Fahrer
- Drop
- leicht
- Ökosystem
- Herausgeber
- ermöglichen
- ermöglichen
- Ingenieur
- Entwicklung
- Enter
- Unternehmen
- Beispiel
- Außer
- Ausführung
- ERFAHRUNGEN
- ERKUNDEN
- Familie
- Merkmal
- Eigenschaften
- Honorare
- Finanzen
- Vorname
- Flexibilität
- Fluss
- Folgende
- Format
- Betrug
- voller
- erzeugen
- Generation
- gut
- Governance
- Gruppe an
- Gesundheitswesen
- Hilfe
- Ultraschall
- HTTPS
- Identitätsschutz
- umgesetzt
- wichtig
- Einfuhr
- Einschließlich
- Branchen
- Information
- Einblicke
- Intelligenz
- Interesse
- Schnittstelle
- Investition
- beteiligt
- IT
- Jobs
- join
- beigetreten
- Etiketten
- Sprache
- neueste
- führen
- führenden
- lernen
- Darlehen
- Kredite
- sah
- Maschine
- Maschinelles Lernen
- Manager
- Herstellung
- ML
- Modell
- für
- mehr
- mehrere
- Natürliche
- Natur
- Menü
- Neue Funktionen
- Notizbuch
- Angebote
- Offline-Bereich.
- Online
- Option
- Optionen
- Auftrag
- besitzen
- Partner
- leidenschaftlich
- Zahlung
- Prozentsatz
- Leistung
- persönliche
- Phase
- Plattform
- Datenschutzrichtlinien
- Prognosen
- Vorspann
- Prozessdefinierung
- Produkt
- Produkte
- Programmierung
- Projekte
- bietet
- Bereitstellung
- Öffentlichkeit
- Zwecke
- schnell
- Roh
- Lesebrillen
- Reduzierung
- berichten
- erfordern
- falls angefordert
- für ihren Verlust verantwortlich.
- Laufen
- Sicherheit
- Wissenschaft
- Wissenschaftler
- ausgewählt
- Modellreihe
- kompensieren
- Einstellung
- signifikant
- Einfacher
- Größe
- Software
- Software-Entwicklung
- Lösung
- Lösungen
- Räume
- verbringen
- Ausgabe
- gespalten
- Stapel
- Standard
- Anfang
- begonnen
- Erklärung
- Status
- Lagerung
- speichern
- Strategisch
- stark
- Studio Adressen
- Erfolgreich
- Support
- Target
- Team
- Durch
- Zeit
- Ausbildung
- Transformieren
- Transformation
- ui
- einzigartiges
- Aktualisierung
- -
- Vielfalt
- verschiedene
- während
- ohne
- Arbeiten
- gearbeitet
- Werk
- Schreiben