Da immer mehr Daten erfasst und systematisch verarbeitet werden, haben sich Machine-Learning-Methoden durchgesetzt, die viele Daten benötigen, um zu laufen und zu trainieren. Obwohl man naiv annehmen könnte, dass eine große Anzahl von Daten ausreicht, um einen leistungsfähigen Algorithmus zu haben, sind die uns zur Verfügung stehenden Daten meistens nicht geeignet und müssen meistens vorab bearbeitet werden, um sie dann verwenden zu können: das ist der Schritt des Data Preprocessing.
Fehler bei der Datenerfassung, die auf menschliche oder technische Fehler zurückzuführen sind, können unser Dataset verfälschen und das Training verzerren. Zu diesen Fehlern gehören unvollständige Informationen, fehlende oder falsche Werte oder Störgeräusche, die mit der Datenerfassung zusammenhängen.
Daher ist es oft notwendig, eine Strategie der Datenvorverarbeitung – auch Data Preprocessing genannt – aus unseren Rohdaten zu erstellen, um zu verwertbaren Daten zu gelangen, die uns ein besseres Modell liefern. Wir werden die wichtigsten Schritte des Data Preprocessing, ihre Bedeutung und ihre Implementierung in Python untersuchen.
Data Cleaning für das Data Preprocessing
Der erste Schritt ist die Bereinigung von falschen, unvollständigen oder fehlenden Daten. Es gibt verschiedene Möglichkeiten, mit diesen Problemen umzugehen, die wir im Folgenden besprechen.
Wenn Daten im Dataset fehlen, kannst du sie ignorieren, wenn die Datenbank gut gefüllt ist und viele Daten in einer Zeile fehlen.
Du kannst auch entscheiden, die fehlenden Daten auf verschiedene Arten zu füllen:
Du kannst sie durch den Mittelwert, den Median oder z. B. bei kategorialen Variablen durch die häufigste Modalität (auch Modus genannt) ersetzen.
Pandas stellt uns Methoden zur Verfügung, mit denen wir diese Bearbeitungen wie folgt durchführen können:
Es kann vorkommen, dass Daten unter störendem Rauschen bei der Erfassung leiden, in diesem Fall können sie von einem Computer nicht richtig verarbeitet werden. Eine Möglichkeit, dieses Problem zu lösen, ist das Binning der (vorsortierten) Daten.
Die Daten werden in Gruppen gleicher Größe aufgeteilt und jede Gruppe wird unabhängig verarbeitet. Innerhalb einer Gruppierung können alle Daten durch ihren Mittelwert, Median oder die Extremwerte ersetzt werden.
Eine andere Möglichkeit, mit verrauschten Daten umzugehen, ist die Verwendung einer Regression oder eines Clusters, die automatisch Gruppen von Daten bilden und es uns ermöglichen, Ausreißer zu erkennen und sie aus der Datenbank zu entfernen.
Data Transformation im Rahmen des Data Preprocessing
Diese Vorverarbeitungsstufe umfasst die Veränderungen, die an der eigentlichen Struktur der Daten vorgenommen werden.
Diese Veränderungen stehen im Zusammenhang mit den mathematischen Definitionen der Algorithmen und der Art und Weise, wie diese die Daten verarbeiten, um die Leistung zu optimieren. Zu diesen Techniken gehören z. B.:
- Die Glättung von Daten, wenn sie verrauscht sind.
- Die Aggregation von Daten aus vielen verschiedenen Quellen.
- Die Diskretisierung von kontinuierlichen Variablen (mit Hilfe der Intervallisierung), die es ermöglicht, die Anzahl der Modalitäten eines Deskriptors zu verringern, und schließlich.
- Normalisierung und Standardisierung von Daten, die numerische Daten auf eine kleinere Skala (z. B. zwischen -1 und 1) bringen, den Mittelwert zentrieren und die Varianz verringern können.
Hier ist ein Beispiel für die Normalisierung, die in diesem Teil der Datenumwandlung am häufigsten erforderlich ist:
Data Reduction
Obwohl es intuitiv erscheint, sich vorzustellen, dass eine sehr große Datenmenge die Leistung eines Modells verbessert, kann es sein, dass eine zu große Datenmenge die Analyse komplizierter machen kann. Daher kann es manchmal sinnvoll sein, die Menge oder Größe der Daten zu reduzieren, um die Speicherkapazität zu verbessern und die Kosten für die Analyse zu senken, ohne dabei an Leistung zu verlieren (oder in manchen Fällen sogar zu gewinnen).
Es gibt verschiedene Techniken zur Datenreduktion. Wir können z. B. eine bestimmte Anzahl von Variablen auswählen, die wir lieber behalten und andere weglassen. Die Auswahl der relevanten Variablen kann durch die Analyse des p-Wertes der Variablen oder durch Entscheidungsbaumtechniken erfolgen, die uns eine Schätzung der Wichtigkeit der verschiedenen Deskriptoren geben.
Eine weitere Technik, die im Zusammenhang mit der Idee der Datenreduktion häufig verwendet wird, ist die Dimensionsreduktion. Diese Methode reduziert die Dimension der Daten durch genau definierte Kodierungsmechanismen.
Es gibt zwei Arten:
- verlustbehaftete
- und verlustfreie.
Wenn man die genauen Daten aus den reduzierten rekonstruieren kann, spricht man von verlustfreier Reduktion. Andernfalls wird die Reduktion verlustbehaftet durchgeführt.
Es gibt zwei bevorzugte Methoden, um auf diese Weise auf die Daten einzuwirken, eine Wavelet-Transformation oder eine PCA (Principal Component Analysis).
Data Integration
Dieser Schritt der Data Preprocessing-Strategie besteht darin, mehrere Quellen in einem einzigen Datenbestand zu kombinieren. Er wird im Rahmen eines Datenmanagements durchgeführt, um nutzbare Datenbanken zu erstellen (wie z. B. die Erstellung von Bilddatenbanken, Querschnitten des Abdomens, MRTs oder Röntgenaufnahmen für diagnostische Hilfsprobleme). Dennoch könnten einige Probleme auftreten, wie z. B. die Inkompatibilität bestimmter Formate oder die Redundanz bestimmter Daten.
Der Schritt der vorläufigen Datenverarbeitung ist daher einer der wichtigsten in der Datenverarbeitung und -analyse. Es gibt keine perfekte Methode, die bei jeder Modellerstellung angewendet werden muss, aber wir haben zusammen die bewährten Verfahren gesehen, die in einer Strategie zur Datenvorverarbeitung eingesetzt werden sollten.
Die hier vorgestellten Methoden werden in unseren verschiedenen Kursen weiter erforscht: Die grundlegenden mathematischen Konzepte sowie gute Praktiken der Datenvorverarbeitung je nach Kontext und Situation werden erläutert.
Um unsere Fortbildungen im Detail zu entdecken und alle Best Practices des Data Preprocessing zu lernen, informiere Dich noch heute !