Einheit 3 / 11

Datenbereinigung und Vorverarbeitung: Fehlender Wert, Ausreißer und Typkonvertierung

Gewinne:

  • Fähigkeit, die Ursache fehlender Werte (zufällig, systematisch, aussagekräftig) zu erkennen, die geeignete Strategie auszuwählen und den Füllwert allein aus dem Training zu berechnen
  • Möglichkeit, Ausreißer vor dem Löschen zu untersuchen und zwischen einem Datenfehler und einem wirklich seltenen Ereignis zu unterscheiden
  • Möglichkeit, stillen Verlust zu verhindern, indem die Auswirkungen jedes Schritts auf die Anzahl der Zeilen/Leerzeichen überwacht und gleichzeitig Typ- und Formatinkonsistenzen in den Standard aufgenommen werden

Ungefähr 60–80 Prozent der Zeit eines Datenwissenschaftlers entfällt auf die Reinigung; In der Branche wird dies halb im Scherz „Data Wrangling“ (Datenwrangling oder Datenbereinigung) genannt. Denn reale Daten stehen fast nie für eine Analyse bereit: Datumsangaben liegen in gemischten Formaten vor, Zahlen werden als Text gespeichert, einige Zellen sind leer, ein Kunde erscheint dreimal in derselben Tabelle mit zwei unterschiedlichen Schreibweisen. In dieser Einheit behandeln wir drei grundlegende Aspekte der Bereinigung: fehlende Werte, Ausreißer und Typ-/Formatkonvertierung. Künstliche Intelligenz ist bei dieser Arbeit ein außerordentlich schneller Assistent; Aber Sie entscheiden, was und wie gereinigt werden soll, denn jede Reinigungsentscheidung verändert die Analyse.

Die goldene Regel beim Putzen: Jede Veränderung ist eine Entscheidung

Eine Zelle löschen, einen fehlenden Wert mit dem Mittelwert ergänzen, einen Ausreißer kürzen – all das sind keine „neutralen“ Vorgänge. Jeder ändert die Daten und beeinflusst das Ergebnis. Also die goldene Regel der Bereinigung: Schreiben Sie jede Änderung in den Code, notieren Sie sich die Begründung, überschreiben Sie niemals die Originaldaten. Die KI gibt Ihnen schnellen Bereinigungscode, aber es liegt in Ihrer Verantwortung, zu verstehen, was dieser Code tut; Führen Sie es nicht aus, ohne zu sehen, wie viele Zeilen weg sind, wenn Sie „Leere Zeilen löschen“ sagen.

Achtung: Ändern Sie niemals die ursprünglichen Rohdaten. Schreiben Sie die bereinigte Version in eine separate Datei/Tabelle. Auf diese Weise können Sie, wenn Sie einen Fehler entdecken, von vorne beginnen und die Reproduzierbarkeit aufrechterhalten.

Fehlende Werte: Warum ist es leer, was ist zu tun?

Ein fehlender Wert (normalerweise als NaN – „Keine Zahl“ in Pandas) liegt vor, wenn eine Zelle leer ist. Aber die Ursache der Lücke bestimmt die Lösung. Es gibt drei typische Situationen. Zufälliges Fehlen: Der Sensor funktionierte einen Moment lang nicht. Es kann sinnvoll sein, es auszufüllen. Systematisches Fehlen: Ein Formularfeld wird nur für bestimmte Kunden abgefragt; Die Lücke hier besteht eigentlich aus Informationen. Erhebliches Fehlen: Wenn „Rückgabedatum“ leer ist, ist der Kunde nicht zurückgekehrt; Dieses Leerzeichen bedeutet 0 oder „keine“, es ist nicht gefüllt.

Hauptstrategien:

Strategie

Wann ist es angemessen?

Risiko

Zeile löschen

Die fehlende Rate ist sehr niedrig (<5 %) und zufällig

Daten- und Darstellungsverlust

Eine Spalte löschen

Der größte Teil der Spalte ist leer (>60 %).

Informationsverlust

Durchschnittliche/mittlere Füllung

Numerisch, fehlt zufällig

Es verringert die Varianz und verzerrt die Verteilung

Kategorie „unbekannt“

Kategorisches, systematisches Fehlen

Erzeugt zusätzliche Kategorien

Vorhersage mit Modell

Komplexe, kostbare Säule

Leckrisiko, Komplexität

Kritischer Punkt: Der Imputationswert sollte nur aus den Trainingsdaten berechnet werden und derselbe Wert sollte auf die Testdaten angewendet werden. Wenn Sie den Durchschnitt der Testdaten einbeziehen, entsteht eine Leckage (Einheit 10). Der Median (der Mittelwert ordinaler Daten) wird häufig dem Mittelwert vorgezogen, da er gegenüber Ausreißern robuster ist als der Mittelwert.

Ausreißer: Fehler oder real?

Ein Ausreißer kann eines von zwei Dingen sein: ein Datenfehler (999 in der Altersspalte) oder ein reales, aber seltenes Ereignis (die Bestellung eines Kunden im Wert von 2 Millionen US-Dollar). Die beiden zu verwechseln ist katastrophal: Wenn Sie einen echten Ausreißer löschen, verwerfen Sie wichtige Informationen; Wenn Sie einen Fehler begehen, werden Ihre Durchschnittswerte darunter leiden. Daher ist es notwendig, den Ausreißer zunächst zu untersuchen und nicht automatisch zu löschen.

Gängige Erkennungsmethoden: IQR-Methode (Interquartilbereich; Werte, die mehr als das 1,5-fache der Differenz zwischen den 25 %- und 75 %-Quintilen der Daten betragen, gelten als Ausreißer) und Z-Score (die Anzahl der Standardabweichungen vom Mittelwert eines Werts; normalerweise ein Ausreißer, wenn er größer als 3 ist). AI schreibt den Code für diese Berechnungen in Sekundenschnelle; Aber bevor Sie „Löschen“ sagen, überprüfen Sie, was diese Werte sind.

Typ- und Formatkonvertierung: Stille Fehlerquelle

Eines der größten Probleme ist die Verwirrung der Datentypen. Wenn eine „Betrag“-Spalte als Text gespeichert ist, können Sie sie nicht hinzufügen. Das Programm liest fälschlicherweise eine türkisch formatierte Zahl wie „1.250,50“ anstelle von „eintausendzweihundertfünfzig“. Datumsangaben („01.03.2024“ Tag-Monat oder Monat-Tag?), Kategorien („Männlich“/„männlich“/„M“ sind dasselbe?) und Einheiten (TL oder kuruş?) führen stillschweigend zu falschen Ergebnissen. Ein großer Teil der Bereinigung besteht darin, diese Inkonsistenzen in den Standard zu übernehmen: Datumsangaben in einem Format, Kategorien in einer Schreibweise, Zahlen in einer Einheit.

drei Mini-Koffer

Fall 1 – Die durchschnittliche Falle. Ein Team hat die 320 fehlenden Werte in der Einkommensspalte mit dem Durchschnitt (48.500 $) ergänzt. Aber die Mängel waren systematischer Natur: Es handelte sich um das einkommensschwache Segment, das nie ein Einkommen angegeben hatte. Die durchschnittliche Besetzung machte diese Gruppe künstlich reich und das Kreditmodell war falsch. Lektion: Fragen Sie „Warum ist es leer?“, bevor Sie es ausfüllen.

Fall 2 – Ausreißer, der nicht gelöscht werden sollte. Ein Einzelhandelsanalyst löschte 4 Großbestellungen (jeweils 1,8 Millionen TL) aus den Verkaufsdaten und hielt sie für „Fehler“. Dabei handelte es sich jedoch um echte Firmenaufträge, die 22 % des Gesamtumsatzes ausmachten. Das Post-Deletion-Prognosemodell verfehlte die institutionelle Nachfrage völlig. Lektion: Untersuchen Sie den Ausreißer, bevor Sie ihn löschen.

Fall 3 – Datumsformat-Katastrophe. In einer CSV-Datei wurden die Daten sowohl in „01.03.2024“ als auch in „01.03.2024“ gemischt. Als der von YZ geschriebene Code gemäß dem ersten Format analysiert wurde, wurden 6.400 Zeilen als „ungültiges Datum“ zu NaT und wurden stillschweigend von der Analyse ausgeschlossen. Dies bemerkte der Analyst erst, als die Anzahl der Zeilen abnahm. Lektion: Überprüfen Sie nach der Konvertierung immer die Anzahl der Zeilen und Leerzeichen.

Vier kopierbare Vorlagen

1) Karte fehlender Werte:

Ich habe Pandas df. Schreiben Sie Code, der eine Tabelle mit der Anzahl und dem Prozentsatz der fehlenden Elemente (NaN) für jede Spalte erstellt. Listen Sie dann getrennt die Spalten mit einer fehlenden Rate von mehr als 40 % und die Spalten mit einer fehlenden Rate unter 5 % auf. Generieren Sie einfach diesen Diagnosecode und nicht die von Ihnen vorgeschlagene Strategie. Ich werde die Entscheidung treffen.

2) Ausreißerprüfung (keine Löschung):

Schreiben Sie mithilfe der IQR-Methode Code, der Ausreißer für meine Spalte „Betrag“ ERKENNT (nicht löscht!). Platzieren Sie die Randzeilen in einem separaten DF, damit ich sie manuell untersuchen kann. Drucken Sie außerdem die Anzahl der Ausreißer und deren Anteil an der Gesamtsumme aus.

3) Typ-/Formatstandardisierung:

Schreiben Sie Code, der die folgenden Spalten standardisiert: - „Datum“: können gemischte Formate sein („2024-03-01“ und „01.03.2024“); Konvertieren Sie sie alle in Datum/Uhrzeit, zählen Sie die nicht übersetzbaren und melden Sie sie (wirf sie stillschweigend weg). - „Geschlecht“: „Männlich“/„männlich“/„M“ -> „M“, „Weiblich“/„weiblich“/„F“ -> „K“. - „Betrag“: Türkisch formatierter Text („1.250,50“) -> Dezimalzahl. Drucken Sie nach jeder Konvertierung aus, wie viele Zeilen betroffen sind.

4) Kontrolle vor/nach der Reinigung:

Schreiben Sie Code, der df.shape, fehlende Anzahl und zusammenfassende Statistiken (Mittelwert, Median, Min., Max.) ausgewählter Spalten vor und nach einem Bereinigungsschritt vergleicht. Zweck: Sehen, welche Reinigungsänderungen sich ergeben.

Schwache Eingabeaufforderung / Starke Eingabeaufforderung

Schwache Eingabeaufforderung:

Löschen Sie diese Daten.

„Klar“ ist mehrdeutig; Die KI weiß nicht, welche fehlenden Teile gelöscht werden sollen, was ausgefüllt werden soll, welche Spalte verarbeitet werden soll und wie. Die Folge: blinde, irreversible Veränderungen.

Kraftvolle Aufforderung:

Ihre Rolle: Datenbereinigungsassistent. df-Spalten: customer_id (int), Registration_date (Text im gemischten Format), Revenue_tl (Text, „1.200,00“), Stadt (Text, inkonsistente Schreibweise). Regeln: - Original-DF ändern; Arbeiten Sie an der Kopie mit dem Namen df_clean. – Konvertieren Sie „income_tl“ in „number“, zählen Sie, was nicht übersetzt werden kann. – Ändern Sie „record_date“ in „datetime“, und melden Sie den Fehler. – Löschen Sie keine Zeilen ohne meine Zustimmung. Zeigen Sie die Kandidaten separat an. Geben Sie nach jedem Schritt df_temiz.shape und die fehlende Zahl aus.

Hier ist die Quelle geschützt, jede Transformation wird gezählt, die Löschung bleibt dem Menschen überlassen.

Häufige Fehler

  • Die Lücken füllen, ohne zu fragen: „Warum ist es leer?“ Das Ersetzen systematischer/signifikanter Fehlmengen mit dem Mittelwert führt zu einer Verzerrung der Daten.
  • Den Ausreißer löschen, ohne ihn zu untersuchen. Das Verwerfen realer, aber seltener Ereignisse zerstört wichtige Informationen.
  • Berechnen des Füllwerts aus allen Daten. Das Einbeziehen von Testdaten führt zu Lecks; Berechnen Sie einfach aus dem Training.
  • Die Anzahl der Zeilen/Leerzeichen wird nach der Konvertierung nicht überprüft. Zeilen, die stillschweigend NaT/NaN sind, werden von der Analyse ausgeschlossen.
  • Überschreiben der Originaldaten. Rendite und Reproduzierbarkeit gehen verloren.
Tipp: Führen Sie die Bereinigung mit einem „Vorher-Nachher“-Vergleich durch. Drucken Sie df.shape, fehlende Anzahl und zusammenfassende Statistiken kritischer Spalten nach jedem Schritt. Sie sehen also sofort, dass ein Schritt unerwartet 6.000 Zeilen zerstört.

Zusammenfassend

Die Bereinigung ist die zeitaufwändigste und entscheidungsintensivste Phase der Datenwissenschaft. Jede Änderung verändert die Daten, jede einzelne ist also eine bewusste Entscheidung. Bei fehlenden Werten fragen Sie: „Warum ist es leer?“ Überprüfen Sie alle Ausreißer, bevor Sie sie löschen. Bringen Sie Typ und Format auf den Standard. Berechnen Sie den Füllwert nur anhand der Trainingsdaten, behalten Sie das Original bei und verfolgen Sie die Auswirkung jedes Schritts, indem Sie ihn zählen. KI ist ein enormer Beschleuniger in diesem Geschäft, aber der Mensch entscheidet, was Sie reinigen und warum.

Anwendungsaufgabe

Nehmen Sie eine kleine Tabelle (oder erstellen Sie sie) und fügen Sie absichtlich drei Probleme darin ein: ein Tupel mit fehlenden Werten, einen Ausreißer und ein gemischtes Datumsformat. Fordern Sie mit den oben genannten Vorlagen Diagnose- und Standardisierungscode von AI an; Vergleichen Sie die Anzahl der Zeilen und Leerzeichen vor/nach jedem Schritt. Versuchen Sie, mindestens einen „stillen Verlust“ aufzufangen und notieren Sie, wie Sie ihn bemerkt haben.

Checkliste

  • [ ] Habe ich die ursprünglichen Rohdaten behalten und an der Kopie gearbeitet?
  • [ ] Habe ich für jede fehlende Spalte die Frage „Warum ist sie leer“ gestellt?
  • [ ] Habe ich Ausreißer überprüft, bevor ich sie gelöscht habe?
  • [ ] Habe ich den Füllwert nur anhand der Trainingsdaten berechnet?
  • [ ] Überprüfe ich die Anzahl der Zeilen/Leerzeichen nach jedem Schritt und eliminiere ich stille Verluste?