Entfernen doppelter Zeilen

Wichtig

Der Support für Machine Learning Studio (klassisch) endet am 31. August 2024. Es wird empfohlen, bis zu diesem Datum auf Azure Machine Learning umzustellen.

Ab dem 1. Dezember 2021 können Sie keine neuen Ressourcen in Machine Learning Studio (klassisch) mehr erstellen. Bis zum 31. August 2024 können Sie die vorhandenen Ressourcen in Machine Learning Studio (klassisch) weiterhin verwenden.

Die Dokumentation zu ML Studio (klassisch) wird nicht mehr fortgeführt und kann künftig nicht mehr aktualisiert werden.

Entfernt doppelte Zeilen aus einem Dataset

Kategorie: Datentransformation/-bearbeitung

Hinweis

Gilt für: Machine Learning Studio (klassisch)

Ähnliche Drag & Drop-Module sind im Azure Machine Learning-Designer verfügbar.

Modulübersicht

In diesem Artikel wird beschrieben, wie Sie das Modul Remove Duplicate Rows (Doppelte Zeilen entfernen) in Machine Learning Studio (klassisch) verwenden, um potenzielle Duplikate aus einem Dataset zu entfernen.

Angenommen beispielsweise, Ihre Daten sehen wie die folgenden aus und stellen mehrere Datensätze für Patienten dar.

Patienten-ID Initialen Geschlecht Age Aufgenommen
1 W.M. M 53 Jan
2 W.J.M. M 53 Jan
3 W.J.M. M 24 Jan
3 W.M. M 24 Feb
4 W.M. M 23 Feb
W.M. M 23
5 W.J.M. M 53

Wie zu sehen ist, enthält dieses Beispiel mehrere Spalten mit möglicherweise doppelten Daten. Ob es sich dabei tatsächlich um Duplikate handelt, hängt von Ihrer Kenntnis der Daten ab.

  • So wissen Sie beispielsweise, dass viele Patienten denselben Namen haben. Deshalb würden Sie Duplikate nicht anhand einer der Namensspalten entfernen, sondern dafür ausschließlich die Spalte ID verwenden. Auf diese Weise werden nur die Zeilen mit doppelten ID-Werten ausgefiltert – unabhängig davon, ob die Patienten denselben Namen haben oder nicht.

  • Alternativ können Sie auch Duplikate im FELD ID zulassen und eine andere Kombination von Datensätzen verwenden, um eindeutige Datensätze wie Vorname, Nachname, Alter und Geschlecht zu finden.

Wenn Sie die Kriterien dafür festlegen möchten, ob eine Zeile doppelt ist oder nicht, geben Sie eine einzelne Spalte oder eine Gruppe von Spalten an, die als Schlüssel verwendet werden soll. Zwei Zeilen werden nur dann als Duplikate betrachtet, wenn die Werte in allen Schlüsselspalten gleich sind.

Wenn Sie das Modul ausführen, erstellt es ein Kandidaten-Dataset und gibt eine Gruppe von Zeilen zurück, die in der gesamten von Ihnen angegebenen Gruppe von Spalten keine Duplikate enthalten.

Wichtig

Das Quelldataset wird nicht geändert; dieses Modul erstellt ein neues Dataset, das gefiltert wird, um Duplikate auszuschließen. Grundlage dafür sind die von Ihnen angegebenen Kriterien.

Verwenden von „Remove Duplicate Rows“

  1. Fügen Sie das Modul zu Ihrem Experiment hinzu. Sie finden das Modul Remove Duplicate Rows unter Datentransformation, Bearbeitung.

  2. Verbinden Sie das Dataset, das Sie auf doppelte Zeilen überprüfen möchten.

  3. Klicken Sie im Bereich Eigenschaften unter Key column selection filter expression (Filterausdruck aus Schlüsselspaltenauswahl) auf Launch column selector (Spaltenauswahl starten), um die Spalten auszuwählen, die bei der Identifizierung von Duplikaten verwendet werden sollen.

    In diesem Kontext steht Schlüssel nicht für einen eindeutigen Bezeichner. Alle Spalten, die Sie mit der Spaltenauswahl auswählen, werden als Schlüsselspalten bezeichnet. Alle nicht ausgewählten Spalten werden als Nichtschlüsselspalten betrachtet. Die Kombination aus Spalten, die Sie als Schlüssel auswählen, legt die Eindeutigkeit der Datensätze fest. (Stellen Sie sich dies als eine SQL-Anweisung vor, die mehrere Gleichheits joins verwendet.)

    Beispiele:

    • „Ich möchte sicherstellen, dass IDs eindeutig sind“: Wählen Sie nur die ID-Spalte aus.
    • „Ich möchte sicherstellen, dass die Kombination des Vornamens, des Nachnamens und der ID eindeutig ist“: Wählen Sie alle drei Spalten aus.
  4. Geben Sie mithilfe des Kontrollkästchens Retain first duplicate row (Erste doppelte Zeile beibehalten) an, welche Zeile zurückgegeben werden soll, wenn Duplikate gefunden werden:

    • Wenn das Kontrollkästchen aktiviert ist, wird die erste Zeile zurückgegeben, und die anderen Zeilen werden verworfen.
    • Wenn Sie das Kontrollkästchen deaktivieren, wird die letzte doppelte Zeile in den Ergebnissen beibehalten, und die anderen Zeilen werden verworfen.

    Informationen zur Handhabung von falschen Werten finden Sie im Abschnitt Technische Hinweise.

  5. Führen Sie das Experiment aus, oder klicken Sie auf das Modul, und wählen Sie Ausgewählte ausführen aus.

  6. Um die Ergebnisse zu überprüfen, klicken Sie mit der rechten Maustaste auf das Modul, wählen Sie Results dataset (Ergebnisdataset) aus, und klicken Sie auf Visualize (Visualisieren).

Tipp

Wenn die Ergebnisse schwer zu verstehen sind oder wenn Sie einige Spalten nicht berücksichtigen möchten, können Sie Spalten mithilfe des Moduls Select Columns in Dataset (Spalten im Dataset auswählen) entfernen.

Beispiele

Beispiele für die Verwendung dieses Moduls finden Sie in den folgenden Azure KI-Katalog:

  • Erkennung von Viruszellen: Remove Duplicate Rows (Doppelte Zeilen entfernen) wird verwendet, um die Trainings- und Test-Datasets nach dem Hinzufügen von Featurespalten zu konsolidieren.

  • Filmempfehlung: Verwendet "Doppelte Zeilen entfernen" , um sicherzustellen, dass pro Film nur eine Benutzerbewertung vorhanden ist.

  • Twitter-Stimmungsanalyse: "Doppelte Zeilen entfernen" wird nur auf die Spalten "ID" und "Beliebtheit" angewendet, um sicherzustellen, dass pro Film nur ein Ordinalwert für die Rangfolge vorhanden ist. Anders ausgedrückt: Ein Film kann nicht sowohl der 1. als auch der dritte Sein. Daher wird auch dann ein einzelner Wert verwendet, wenn Benutzer den Film anders bewertet haben.

Technische Hinweise

Dieser Abschnitt enthält Implementierungsdetails, Tipps und Antworten auf häufig gestellte Fragen.

Details zur Implementierung

Das Modul funktioniert so, dass es alle Zeilen des Eingabedatasets durchlaufen. In einem Kandidatenausgabe-Dataset werden alle Zeilen erfasst, in denen die eindeutige Kombination der Schlüsselspaltenwerte zum ersten Mal angezeigt wird.

Der Spaltenarraytyp wird unabhängig von den Ergebnissen der Zeilenfilterung beibehalten. Das heißt, Sie können für das Array keinen bestimmten Datentyp erzwingen, indem Sie ungültige Werte herausfiltern; der Spaltenarraytyp basiert auf allen Werten in der Spalte. Diese Einschränkung gilt auch beim Filtern fehlender Werte.

Der zum Vergleichen von Datenwerten verwendete Algorithmus wird über Hashfunktion erzwungen.

Fehlende Werte

Im Eingabe-Dataset fehlen möglicherweise Werte in Nichtschlüsselspalten und Schlüsselspalten. Diese Regeln gelten für fehlende Werte:

  • Ein fehlender Wert wird in Schlüsselspalten als gültiger Wert betrachtet. Fehlende Werte können in beiden Schlüsseln vorhanden sein.

  • In einem Sparse-Dataset wird der fehlende Wert nur dann als gleich betrachtet, wenn er der Standarddarstellung eines Sparsewerts entspricht.

  • In Schlüsselspalten wird ein fehlender Wert als „gleich“ mit anderen fehlenden Werten, aber als „ungleich“ mit nicht fehlenden Werten betrachtet.

Erwartete Eingabe

Name Type Beschreibung
Dataset Datentabelle Eingabedataset

Modulparameter

Name Range type Standard Beschreibung
Key column selection filter expression any ColumnSelection Wählen Sie die Schlüsselspalten aus, die bei der Suche nach Duplikaten verwendet werden sollen.
Retain first duplicate row any Boolean true Geben Sie an, ob Sie die erste Zeile eines Satzes von Duplikaten beibehalten und die anderen Zeilen verwerfen möchten. Bei „False“ wird die letzte doppelte Zeile beibehalten.

Output

Name Type Beschreibung
Ergebnisdataset Datentabelle Gefiltertes Dataset

Ausnahmen

Ausnahme Beschreibung
Fehler 0003 Eine Ausnahme tritt auf, wenn mindestens eine Eingabe NULL oder leer ist.
Fehler 0020 Eine Ausnahme tritt auf, wenn die Anzahl der Spalten in einigen Datasets, die an das Modul übergeben wurden, zu klein ist.
Fehler 0017 Eine Ausnahme tritt auf, wenn eine oder mehrere angegebene Spalten einen Typ aufweisen, der im aktuellen Modul nicht unterstützt wird.

Eine Liste der Fehler, die für Studio-Module (klassisch) spezifisch sind, finden Sie unter Machine Learning Fehlercodes.

Eine Liste der API-Ausnahmen finden Sie unter Machine Learning REST-API-Fehlercodes.

Siehe auch

Manipulation
Modulliste von A bis Z