Dieser Artikel ist Teil einer Reihe von Artikeln zur Automatisierung Datenreinigung Für einen tabulären Datensatz.

Sie können die in diesem Artikel beschriebene Funktion in Ihrem eigenen Datensatz mithilfe dessen testen CleanMyexcel.io Service, der kostenlos ist und keine Registrierung erfordert.

Ordentliche und unordentliche Beispiele für eine Tabelle

Beginnen Sie mit dem Warum

Eine Tabelle mit Informationen zu Auszeichnungen für Filme

Betrachten wir diese Excel -Tabelle, die Informationen zu den Filmen enthält. Es stammt aus dem Buch Reinigungsdaten für effektive Datenwissenschaft und ist verfügbar Hier.

Dies ist eine typische und gemeinsame Tabelle, die jeder in ihren täglichen Aufgaben besitzt und mit denen sich erledigt. Aber was ist daran los?

Um diese Frage zu beantworten, erinnern wir uns zunächst an das Endziel der Verwendung von Daten: um Erkenntnisse abzuleiten, die unsere Entscheidungen in unserem persönlichen oder geschäftlichen Leben leiten. Dieser Prozess erfordert mindestens zwei wichtige Dinge:

  • Zuverlässige Daten: saubere Daten ohne Probleme, Inkonsistenzen, Duplikate, fehlende Werte usw. reinigen.
  • Tidy-Daten: Ein intestine gerüsteter Datenrahmen, der die Verarbeitung und Manipulation erleichtert.

Der zweite Punkt ist die Hauptgrundlage für jede Analyse, einschließlich des Umgangs mit der Datenqualität.

Stellen Sie sich vor, wir möchten die folgenden Aktionen ausführen:

1. Für jeden Movie, der an mehreren Auszeichnungen beteiligt ist, hear Sie die Auszeichnung auf und das Jahr, mit dem er verbunden ist.

2. Für jeden Schauspieler/jede Schauspielerin, die mehrere Auszeichnungen gewinnen, hear Sie den Movie auf und die Auszeichnung, mit denen sie verbunden sind.

3. Überprüfen Sie, ob alle Namen der Schauspieler/Schauspielerin korrekt und intestine standardisiert sind.

Natürlich ist dieser Beispiel -Datensatz klein genug, um diese Erkenntnisse nach Auge oder von Hand abzuleiten, wenn wir ihn strukturieren (so schnell wie Codierung). Aber stellen Sie sich jetzt vor, dass der Datensatz die gesamte Auszeichnungsgeschichte enthält. Dies wäre zeitaufwändig, schmerzhaft und fehleranfällig ohne Automatisierung.

Es ist schwierig, diese Tabelle zu lesen und ihre Struktur direkt durch eine Maschine zu verstehen, da sie keine guten Praktiken der Datenanordnung folgt. Deshalb ist das Aufräumen von Daten so wichtig. Indem wir sicherstellen, dass Daten auf maschinenfreundliche Weise strukturiert sind, können wir die Parsen vereinfachen, Qualitätsprüfungen automatisieren und die Geschäftsanalyse verbessern-ohne den tatsächlichen Inhalt des Datensatzes zu ändern.

Beispiel für eine Umgestaltung dieser Daten:

Beispiel für eine Umgestaltung der Daten aus der vorherigen Tabelle:

Jetzt kann jeder Low-/No-Code-Instruments oder codebasierte Abfragen (SQL, Python usw.) verwenden, um einfach mit diesem Datensatz zu interagieren und Erkenntnisse abzuleiten.

Die größte Herausforderung besteht darin, wie man eine glänzende und menschlich-lehende Tabelle in eine maschinenlesbare ordentliche Model verwandelt.

Was sind ordentliche Daten? Ein intestine geformter Datenrahmen?

Der Begriff aufgeräumte Daten wurde in einem bekannten Artikel namens beschrieben Aufgeräumte Daten Von Hadley Wickham und im Jahr 2014 im Journal of Statistical Software program veröffentlicht. Im Folgenden sind die wichtigsten Zitate aufgeführt, die erforderlich sind, um die zugrunde liegenden Konzepte besser zu verstehen.

Datenaufräume

„Strukturieren von Datensätzen, um Manipulation, Visualisierung und Modellierung zu erleichtern.“

„Tidy -Datensätze bieten eine standardisierte Möglichkeit, die Struktur eines Datensatzes (sein physisches Format) mit seiner Semantik (seine Bedeutung) zu verbinden.“

Datenstruktur

„Die meisten statistischen Datensätze sind rechteckige Tabellen aus Zeilen und Spalten. Die Säulen sind quick immer beschriftet und die Zeilen werden manchmal gekennzeichnet. “

Datensemantik

„Ein Datensatz ist eine Sammlung von Werten, normalerweise entweder Zahlen (wenn quantitativ) oder Zeichenfolgen (falls qualitativ). Die Werte werden auf zwei Arten organisiert. Jeder Wert gehört sowohl zu einer Variablen als auch zu einer Beobachtung. Eine Variable enthält alle Werte, die das gleiche zugrunde liegende Attribut (z. B. Höhe, Temperatur oder Dauer) über Einheiten messen. Eine Beobachtung enthält alle Werte, die an derselben Einheit (z. B. einer Individual, einem Tag oder einer Rasse) über Attribute hinweg gemessen wurden. “

„In einer bestimmten Analyse kann es mehrere Beobachtungsstufen geben. In einem Versuch mit einem neuen Allergie -Medikament könnten wir beispielsweise drei Arten von Beobachtungen haben:

  • Demografische Daten von jeder Individual gesammelt (Alter, Geschlecht, Rasse),
  • Medizinische Daten An jedem Tag von jeder Individual gesammelt (Anzahl der Niesen, Rötung der Augen) und
  • Meteorologische Daten An jedem Tag gesammelt (Temperatur, Pollenzahl). “

Aufgeräumte Daten

„Tidy -Daten sind eine Standardmethode, um die Bedeutung eines Datensatzes für seine Struktur abzubilden. Ein Datensatz gilt als chaotisch oder ordentlich, je nachdem, wie seine Zeilen, Spalten und Tabellen Beobachtungen, Variablen und Typen entsprechen. In ordentlichen Daten:

  • Jede Variable bildet eine Spalte.
  • Jede Beobachtung bildet eine Reihe.
  • Jede Artwork von Beobachtungseinheit bildet eine Tabelle. “

Häufige Probleme mit unordentlichen Datensätzen

Spaltenüberschriften können eher Werte als Variablennamen sein.

  • Unordentliches Beispiel: Eine Tabelle, in der die Säulenheader Jahre (2019, 2020, 2021) anstelle einer „Jahr“ -Spalte sind.
  • Auf ordentliche Model: Eine Tabelle mit einer „Jahr“ -Spalte und jede Zeile, die eine Beobachtung für ein bestimmtes Jahr darstellt.

Mehrere Variablen können in einer Spalte gespeichert werden.

  • Unordentliches Beispiel: Eine Spalte mit dem Namen „AGE_GENDER“, das Werte wie 28_Female enthält
  • Auf ordentliche Model: Trennende Spalten für „Alter“ und „Geschlecht“

Variablen können sowohl in Zeilen als auch in Spalten gespeichert werden.

  • Unordentliches Beispiel: Ein Dataset -Monitoring -Pupil -Take a look at -Scores, bei dem Fächer (Mathematik, Naturwissenschaften, Englisch) als Spaltenkopfzeile gespeichert und in Zeilen wiederholt werden, anstatt eine einzelne Spalte „Subjekt“ zu verwenden.
  • Auf ordentliche Model: Eine Tabelle mit Spalten für „Schüler -ID“, „Fach“ und „Rating“, in der jede Zeile die Punktzahl eines Schülers für ein Thema darstellt.

In derselben Tabelle können mehrere Arten von Beobachtungseinheiten gespeichert werden.

  • Unordentliches Beispiel: Ein Verkaufsdatensatz, der sowohl Kundeninformationen als auch das Lagerbestand in derselben Tabelle enthält.
  • Auf ordentliche Model: Trennende Tabellen für „Kunden“ und „Inventar“.

Eine einzige Beobachtungseinheit kann in mehreren Tabellen gespeichert werden.

  • Unordentliches Beispiel: Die medizinischen Unterlagen eines Patienten werden über mehrere Tabellen (Diagnosetabelle, Medikationstabelle) aufgeteilt, ohne dass eine häufige Patienten -ID miteinander verbindet.
  • Auf ordentliche Model: Eine einzelne Tabelle oder ordnungsgemäß verknüpfte Tabellen mit einer eindeutigen „Patienten -ID“.

Jetzt, da wir ein besseres Verständnis dafür haben, was ordentliche Daten sind, lassen Sie uns sehen, wie ein unordentlicher Datensatz in einen ordentlichen.

Denken Sie über das Wie nach

„Tidy -Datensätze sind alle gleich, aber jeder unordentliche Datensatz ist auf seine eigene Weise chaotisch.“ Hadley Wickham (vgl. Leo Tolstoy)

Obwohl diese Richtlinien theoretisch klar klingen, bleiben sie in der Praxis für jegliche Artwork von Datensatz schwer zu verallgemeinern. Mit anderen Worten, beginnend mit den unordentlichen Daten gibt es keinen einfachen oder deterministischen Prozess oder Algorithmus, um die Daten zu formen. Dies wird hauptsächlich durch die Singularität jedes Datensatzes erklärt. In der Tat ist es überraschend schwierig, Variablen und Beobachtungen im Allgemeinen genau zu definieren und dann Daten automatisch zu transformieren, ohne den Inhalt zu verlieren. Aus diesem Grund werden die Datenreinigung und Formatierung trotz massiver Verbesserungen der Datenverarbeitung im letzten Jahrzehnt die meiste Zeit immer noch „manuell“ durchgeführt.

Wenn komplexe und kaum aufrechterhaltenen Regeln basierende Systeme nicht geeignet sind (dh genau, um alle Kontexte durch die Beschreibung von Entscheidungen im Voraus genau umzugehen), bieten maschinelle Lernmodelle möglicherweise einige Vorteile. Dies gewährt dem System mehr Freiheit, sich an Daten anzupassen, indem sie das verallgemeinert, was es während des Trainings gelernt hat. Viele Großsprachenmodelle (LLMs) wurden zahlreiche Datenverarbeitungsbeispiele ausgesetzt, sodass sie Eingabedaten analysieren und Aufgaben wie die Analyse der Tabellenstruktur, die Tabellenschemasschätzung und die Codeerzeugung ausführen können.

Beschreiben wir dann einen Workflow aus Code- und LLM-basierten Modulen neben der Geschäftslogik, um jede Tabelle neu zu gestalten.

Diagramm eines Workflows aus Code- und LLM-basierten Modulen neben der Geschäftslogik, um eine Tabelle neu zu formen

Tabellenkalkulationscodierer

Dieses Modul ist so konzipiert, dass sie die wichtigsten Informationen, die aus den Tabellenkalkulationsdaten benötigt werden, in Textual content serialisieren. Nur die notwendige Teilmenge von Zellen, die zum Tabellenlayout beitragen, wird beibehalten, wodurch nicht essentielle oder übermäßig sich wiederholende Formatierungsinformationen entfernt werden. Indem dieser Schritt nur die erforderlichen Informationen beibehält Tabellenkalkulelle: Codierung von Tabellenkalkulationen für große Sprachmodellewas auf Heuristiken beruht. Weitere Particulars dazu sind das Thema eines nächsten Artikels.

Analyse der Tabellenstruktur

Bevor Sie sich vorwärts bewegen, ist es ein entscheidender Schritt, die nächsten Aktionen zu erstellen, bevor Sie eine LLM zum Extrahieren der Tabellenkalkulationsstruktur bitten. Hier sind Beispiele für Fragen: Fragen:

  • Wie viele Tabellen sind vorhanden und welche Standorte (Regionen) in der Tabelle?
  • Was definiert die Grenzen jeder Tabelle (z. B. leere Zeilen/Spalten, spezifische Marker)?
  • Welche Zeilen/Säulen dienen als Header und haben Tabellen mehrstufe Header?
  • Gibt es Metadatenabschnitte, aggregierte Statistiken oder Notizen, die separat herausgefiltert oder verarbeitet werden müssen?
  • Gibt es zusammengeführte Zellen, und wenn ja, wie sollten sie behandelt werden?

Tabellenschemaschätzung

Sobald die Analyse der Tabellenstruktur abgeschlossen ist, ist es jetzt an der Zeit, über das ideale Zieltabellenschema nachzudenken. Dies beinhaltet, dass das LLM iterativ nach:

  • Identifizieren Sie alle potenziellen Spalten (Multi-Reihen-Header, Metadaten usw.)
  • Vergleich von Spalten für Domänenähnlichkeiten basierend auf Spaltennamen und Datensemantik
  • Gruppierungsrahmen Spalten

Das Modul gibt ein endgültiges Schema mit Namen und eine kurze Beschreibung für jede zurückgehaltene Spalte aus.

Code -Erzeugung, um die Tabelle zu formatieren

In Anbetracht der vorherigen Strukturanalyse und des Tabellenschemas sollte dieses letzte LLM-basierte Modul Code einbeziehen, mit dem die Tabelle in ein ordnungsgemäßes Datenrahmen umwandelt, das dem Tabellenschema entspricht. Darüber hinaus darf kein nützlicher Inhalt weggelassen werden (z. B. aggregierte oder berechnete Werte dürfen weiterhin von anderen Variablen abgeleitet werden).

Da bei der ersten Iteration Code generiert wird, die von Grund auf neu funktionieren, werden zwei interne iterative Prozesse hinzugefügt, um den Code bei Bedarf zu überarbeiten:

  • Codeprüfung: Wenn der Code nicht kompiliert oder ausgeführt werden kann, wird dem Modell der Hint -Fehler zur Aktualisierung seines Codes bereitgestellt.
  • Datenrahmenvalidierung: Die Metadaten des erstellten Datenrahmens – wie Spaltennamen, erste und letzte Zeilen sowie Statistiken zu jeder Spalte – werden überprüft, ob die Tabelle den Erwartungen entspricht. Andernfalls wird der Code entsprechend überarbeitet.

Umwandeln Sie den Datenrahmen in eine Excel -Datei

Wenn alle Daten ordnungsgemäß in eine einzelne Tabelle passen, wird aus diesem Datenrahmen ein Arbeitsblatt erstellt, um das tabellarische Format zu respektieren. Das abschließende Asset ist eine Excel -Datei, deren aktive Blatt die ordentlichen Tabellenkalkulationsdaten enthält.

Et voilà! Der Himmel ist die Grenze für das Beste aus Ihrem neu ordentlichen Datensatz.

Testen Sie es mit dem eigenen Datensatz mit dem eigenen Datensatz CleanMyexcel.io Service, der kostenlos ist und keine Registrierung erfordert.

Endgültige Anmerkung zum Workflow

Warum wird ein Workflow anstelle eines vorgeschlagen? Agent Zu diesem Zweck?

Zum Zeitpunkt des Schreibens sind wir der Ansicht, dass ein Workflow, der auf LLMs für präzise Unteraufgaben basiert, robuster, stabil, iterbar und wartbar ist als ein autonomerer Agent. Ein Agent kann Vorteile bieten: mehr Freiheit und Freiheit in Aktionen, um Aufgaben auszuführen. Trotzdem können sie in der Praxis immer noch schwer zu bewältigen sein; Zum Beispiel können sie schnell abweichen, wenn das Ziel nicht klar genug ist. Ich glaube, dies ist unser Fall, aber das bedeutet nicht, dass dieses Modell in Zukunft nicht auf die gleiche Weise anwendbar ist wie Swe-Agent Zum Beispiel wird die Codierung durchgeführt.

Nächste Artikel in der Serie

In den kommenden Artikeln planen wir, verwandte Themen zu erkunden, darunter:

  • Eine detaillierte Beschreibung des zuvor erwähnten Tabellenkalkulations -Encoders.
  • Datengültigkeit: Stellen Sie sicher, dass jede Spalte die Erwartungen erfüllt.
  • Dateneinheitlichkeit: Verhinderung doppelter Entitäten innerhalb des Datensatzes.
  • Daten Vollständigkeit: Fehlende Werte effektiv bearbeiten.
  • Bewertung der Datenumformung, Gültigkeit und anderer Schlüsselaspekte der Datenqualität.

Bleiben Sie dran!

Vielen Dank an Marc Hobballah für die Überprüfung dieses Artikels und für das Suggestions.

Alle Bilder, sofern nicht anders angegeben, werden vom Autor.

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert