Gleichen Sie Ihre Daten für maschinelles Lernen mit Amazon SageMaker Data Wrangler aus

Quellknoten: 1600102

Amazon SageMaker Data Wrangler ist eine neue Fähigkeit von Amazon Sage Maker Dadurch können Data Scientists und Ingenieure Daten mithilfe einer visuellen Schnittstelle schneller für Anwendungen des maschinellen Lernens (ML) aufbereiten. Es enthält über 300 integrierte Datentransformationen, sodass Sie Funktionen schnell normalisieren, transformieren und kombinieren können, ohne Code schreiben zu müssen.

Wir freuen uns, heute neue Transformationen ankündigen zu können, mit denen Sie Ihre Datasets einfach und effektiv für das ML-Modelltraining ausgleichen können. Wie diese Transformationen funktionieren, demonstrieren wir in diesem Beitrag.

Neue Bilanzierer

Die neu gemeldeten Bilanzkreisbetreiber sind unter der zusammengefasst Saldodaten Transformationstyp in der TRANSFORMIEREN HINZUFÜGEN Feld.

Derzeit unterstützen die Transformationsoperatoren nur binäre Klassifizierungsprobleme. Bei binären Klassifikationsproblemen hat der Klassifikator die Aufgabe, jede Probe in eine von zwei Klassen zu klassifizieren. Wenn die Anzahl der Proben in der Mehrheitsklasse (größer) erheblich größer ist als die Anzahl der Proben in der Minderheitsklasse (kleiner) wird der Datensatz als unausgewogen betrachtet. Diese Verzerrung ist eine Herausforderung für ML-Algorithmen und -Klassifikatoren, da der Trainingsprozess tendenziell auf die Mehrheitsklasse ausgerichtet ist.

Um dieser Herausforderung zu begegnen, wurden Ausgleichsschemata vorgeschlagen, die die Daten vor dem Training des Klassifikators ausbalancierter ergänzen. Die einfachsten Ausgleichsmethoden sind entweder Oversampling der Minority-Klasse durch Duplizieren von Minority-Samples oder Undersampling der Majority-Klasse durch Entfernen von Majority-Samples. Die Idee, Tabellendaten synthetische Minderheitsstichproben hinzuzufügen, wurde erstmals in der Synthetic Minority Oversampling Technique (SMOTE) vorgeschlagen, bei der synthetische Minderheitsstichproben durch Interpolation von Paaren der ursprünglichen Minderheitspunkte erstellt werden. SMOTE und andere Ausgleichsschemata wurden ausgiebig empirisch untersucht und es wurde gezeigt, dass sie die Vorhersageleistung in verschiedenen Szenarien verbessern, so die Veröffentlichung SMOTE oder nicht SMOTE.

Data Wrangler unterstützt jetzt die folgenden Ausgleichsbetreiber als Teil der Saldodaten verwandeln:

  • Zufälliger Oversampler – Zufällig duplizierte Minderheitsproben
  • Zufälliger Undersampler – Mehrheitsproben nach dem Zufallsprinzip entfernen
  • SMOTEN – Generieren Sie synthetische Minderheitsstichproben durch Interpolation echter Minderheitsstichproben

Lassen Sie uns nun die verschiedenen Bilanzierungsoperatoren im Detail besprechen.

Zufälliges Oversample

Zufälliges Oversampling umfasst das Auswählen zufälliger Beispiele aus der Minderheitsklasse mit einem Ersatz und das Ergänzen der Trainingsdaten mit mehreren Kopien dieser Instanz. Daher ist es möglich, dass eine einzelne Instanz mehrmals ausgewählt wird. Mit dem Zufällig Überstichprobe Transformationstyp überabtastet Data Wrangler automatisch die Minderheitsklasse für Sie, indem die Minderheitsstichproben in Ihrem Datensatz dupliziert werden.

Zufälliges Undersample

Zufälliges Undersampling ist das Gegenteil von zufälligem Oversampling. Dieses Verfahren versucht, Stichproben zufällig auszuwählen und aus der Mehrheitsklasse zu entfernen, wodurch folglich die Anzahl von Beispielen in der Mehrheitsklasse in den transformierten Daten reduziert wird. Die Zufällig Unterabtastung Mit dem Transformationstyp kann Data Wrangler die Mehrheitsklasse automatisch für Sie unterabtasten, indem Mehrheitsstichproben in Ihrem Datensatz entfernt werden.

SMOTEN

In SMOTE werden den Daten synthetische Minority-Samples hinzugefügt, um das gewünschte Verhältnis zwischen Majority- und Minority-Samples zu erreichen. Die synthetischen Abtastwerte werden durch Interpolation von Paaren der ursprünglichen Minoritätspunkte erzeugt. Die SMOTEN transform unterstützt das Ausgleichen von Datensätzen einschließlich numerischer und nicht numerischer Merkmale. Numerische Merkmale werden durch den gewichteten Durchschnitt interpoliert. Sie können jedoch keine gewichtete Durchschnittsinterpolation auf nicht numerische Features anwenden – es ist unmöglich, einen Durchschnitt zu ermitteln “dog” und “cat” zum Beispiel. Stattdessen werden nicht-numerische Merkmale von beiden ursprünglichen Minoritätsstichproben gemäß der Durchschnittsgewichtung kopiert.

Betrachten Sie beispielsweise zwei Beispiele, A und B:

A = [1, 2, "dog", "carnivore"]
B = [0, 0, "cow", "herbivore"]

Angenommen, die Stichproben werden mit Gewichtungen von 0.3 für Stichprobe A und 0.7 für Stichprobe B interpoliert. Daher werden die numerischen Felder mit diesen Gewichtungen gemittelt, um 0.3 bzw. 0.6 zu ergeben. Das nächste Feld wird gefüllt mit “dog” mit Wahrscheinlichkeit 0.3 und “cow” mit Wahrscheinlichkeit 0.7. Ebenso ist der nächste gleich “carnivore” mit Wahrscheinlichkeit 0.3 und “herbivore” mit Wahrscheinlichkeit 0.7. Das zufällige Kopieren wird für jedes Feature unabhängig durchgeführt, daher ist Beispiel C unten ein mögliches Ergebnis:

C = [0.3, 0.6, "dog", "herbivore"]

Dieses Beispiel zeigt, wie der Interpolationsprozess zu unrealistischen synthetischen Proben führen könnte, wie z. B. einem pflanzenfressenden Hund. Dies ist häufiger bei kategorischen Merkmalen der Fall, kann aber auch bei numerischen Merkmalen auftreten. Auch wenn einige synthetische Proben unrealistisch sind, könnte SMOTE die Klassifikationsleistung dennoch verbessern.

Um realistischere Stichproben heuristisch zu generieren, interpoliert SMOTE nur Paare, die im Merkmalsraum nahe beieinander liegen. Technisch gesehen wird jedes Sample nur mit seinen k-nächsten Nachbarn interpoliert, wobei ein gemeinsamer Wert für k 5 ist. In unserer Implementierung von SMOTE werden nur die numerischen Merkmale verwendet, um die Entfernungen zwischen Punkten zu berechnen (die Entfernungen werden verwendet, um die Nachbarschaft zu bestimmen). jeder Probe). Es ist üblich, die numerischen Merkmale zu normalisieren, bevor Entfernungen berechnet werden. Beachten Sie, dass die numerischen Merkmale nur zum Zweck der Entfernungsberechnung normalisiert werden; Die resultierenden interpolierten Features werden nicht normalisiert.

Lassen Sie uns nun das Gleichgewicht halten Datensatz für Erwachsene (auch bekannt als Census Income Dataset) unter Verwendung der integrierten SMOTE-Transformation, die von Data Wrangler bereitgestellt wird. Dieses multivariate Dataset enthält sechs numerische Merkmale und acht Zeichenfolgenmerkmale. Das Ziel des Datensatzes ist eine binäre Klassifizierungsaufgabe, um auf der Grundlage von Volkszählungsdaten vorherzusagen, ob das Einkommen einer Person 50,000 USD pro Jahr übersteigt oder nicht.

Sie können die Verteilung der Klassen auch visuell sehen, indem Sie mithilfe von ein Histogramm erstellen Histogrammanalysetyp in Data Wrangler. Die Zielverteilung ist unausgewogen und das Verhältnis der Datensätze mit >50K zu <=50K ist etwa 1:4.

Wir können diese Daten mit dem ausgleichen SMOTEN Operator gefunden unter der Saldodaten transformieren Sie in Data Wrangler mit den folgenden Schritten:

  1. Auswählen income als Zielspalte.

Wir möchten, dass die Verteilung dieser Spalte ausgewogener ist.

  1. Stellen Sie das gewünschte Verhältnis auf ein 0.66.

Daher beträgt das Verhältnis zwischen der Anzahl der Minderheits- und Mehrheitsproben 2:3 (anstelle des Rohverhältnisses von 1:4).

  1. Auswählen SMOTEN als zu verwendende Transformation.
  2. Belassen Sie die Standardwerte für Anzahl der Nachbarn zu mitteln und ob zu normalisieren oder nicht.
  3. Auswählen Vorspann , um eine Vorschau der angewendeten Transformation zu erhalten, und wählen Sie aus Speichern um die Transformation zu Ihrem Datenfluss hinzuzufügen.

Jetzt können wir ähnlich wie zuvor ein neues Histogramm erstellen, um die neu ausgerichtete Verteilung der Klassen zu sehen. Die folgende Abbildung zeigt das Histogramm der income Spalte nach dem Ausgleich des Datensatzes. Die Probenverteilung beträgt nun wie vorgesehen 3:2.

Wir können diese neuen ausgewogenen Daten jetzt exportieren und einen Klassifikator darauf trainieren, was zu einer besseren Vorhersagequalität führen könnte.

Zusammenfassung

In diesem Beitrag haben wir gezeigt, wie unausgeglichene binäre Klassifizierungsdaten mit Data Wrangler ausgeglichen werden. Data Wrangler bietet drei Ausgleichsoperatoren: zufälliges Undersampling, zufälliges Oversampling und SMOTE, um Daten in Ihren unausgeglichenen Datensätzen neu auszugleichen. Alle drei von Data Wrangler angebotenen Methoden unterstützen multimodale Daten, einschließlich numerischer und nicht numerischer Merkmale.

Als nächsten Schritt empfehlen wir Ihnen, das Beispiel in diesem Beitrag in Ihrem Data Wrangler-Datenfluss zu replizieren, um zu sehen, was wir in Aktion besprochen haben. Wenn Sie neu bei Data Wrangler sind oder SageMaker-Studio, beziehen auf Erste Schritte mit Data Wrangler. Wenn Sie Fragen zu diesem Beitrag haben, fügen Sie diese bitte im Kommentarbereich hinzu.


Über die Autoren

Yotam Elor ist Senior Applied Scientist bei Amazon SageMaker. Seine Forschungsinteressen liegen im maschinellen Lernen, insbesondere für tabellarische Daten.

Arunprasath Shankar ist ein auf AWS spezialisierter Lösungsarchitekt für künstliche Intelligenz und maschinelles Lernen (AI / ML), der globalen Kunden hilft, ihre KI-Lösungen effektiv und effizient in der Cloud zu skalieren. In seiner Freizeit sieht Arun gerne Science-Fiction-Filme und hört klassische Musik.

Quelle: https://aws.amazon.com/blogs/machine-learning/balance-your-data-for-machine-learning-with-amazon-sagemaker-data-wrangler/

Zeitstempel:

Mehr von AWS-Blog für maschinelles Lernen