Was versteht man unter Datenvorverarbeitung?
Bei der Datenvorverarbeitung (Data Preprocessing) werden die Rohdaten bereinigt und transformiert, um sie auf die Analyse und Modellierung vorzubereiten. Die Vorverarbeitungsschritte umfassen das Bereinigen, Normalisieren und Transformieren der Daten. Ziel der Datenvorverarbeitung ist es, die nachfolgende Analyse und Modellierung genauer und effizienter zu machen.
Rohdaten enthalten oft fehlende Werte und Ausreißer, was bei der Analyse zu fehlerhaften Schlussfolgerungen führen kann. Mit MATLAB® können Sie Datenvorverarbeitungsmethoden wie das Ergänzen fehlender Daten, das Entfernen von Ausreißern und die Datenglättung anwenden und so Attribute wie Größe, Häufigkeit und Art der Periodizität visualisieren.
Methoden der Datenvorverarbeitung
Datenvorverarbeitungsmethoden lassen sich in drei Hauptkategorien unterteilen: Datenbereinigung, Datentransformation und strukturelle Operationen. Diese Schritte können wiederholt und in beliebiger Reihenfolge ausgeführt werden.
Datenbereinigung
Datenbereinigung umfasst das Beheben von Anomalien in der Datenmenge mithilfe von Methoden wie:
- Ausreißer bearbeiten: Ausreißer ermitteln und dann entfernen oder durch statistische Schätzwerte ersetzen
- Fehlende Daten nachtragen: Fehlende oder ungültige Datenpunkte ermitteln und durch interpolierte Werte ersetzen
- Glättungen: Rauschen mit Techniken wie gleitender Mittelwert, lineare Regression und spezialisierten Filtermethoden ausfiltern
Datentransformation
Bei der Datentransformation wird eine Datenmenge durch folgende Operationen in ein bevorzugtes Format konvertiert:
- Normalisierung und Neuskalierung: Standardisierung von Datenmengen mit verschiedenen Maßstäben in einen einheitlichen Maßstab
- Trendbereinigung: Entfernung polynomialer Trends, um die Variationen besser in der Datenmenge sichtbar zu machen
Strukturelle Operationen
Strukturelle Operationen werden häufig zum Kombinieren, Neuorganisieren und Kategorisieren von Datenmengen verwendet und umfassen:
- Joining:Zwei Tabellen oder Zeittabellen zeilenweise mithilfe einer gemeinsamen Schlüsselvariablen kombinieren
- Stacking und Unstacking: Mehrdimensionale Arrays in eine neue Form bringen, um Daten innerhalb der Tabelle zu konsolidieren oder umzuverteilen; das erleichtert die Analyse
- Gruppieren und Binning: Die Datenmenge umorganisieren, um wertvolle Erkenntnisse zu gewinnen
- Berechnung von Pivot-Tabellen: Große Datenmengen in Tabellenform werden in Teiltabellen aufgeschlüsselt, um gezielte Informationen zu erhalten
Datenvorverarbeitung und Datentypen
Datenvorverarbeitungsschritte können sich je nach Datentyp unterscheiden. Hier sind drei Beispiele verschiedener Datenvorverarbeitungsmethoden, die für verschiedene Datentypen zur Verfügung stehen.
Zeitreihendaten | Tabellendaten | Bilddaten |
Sie können eine Reihe von Aufgaben zur Datenvorverarbeitung durchführen, beispielsweise fehlende Werte entfernen, filtern, glätten und Daten mit Zeitstempeln mit verschiedenen Zeitschritten synchronisieren. | Befinden sich ungeordnete Daten in einer Tabelle, können Sie verschiedene Datenvorverarbeitungstechniken anwenden, um die Tabelle zu bereinigen, indem Sie fehlende Werte ergänzen oder entfernen und die Tabellenzeilen und Variablen in einer anderen Reihenfolge anordnen. | Die Datenvorverarbeitung ist für Anwendungen mit Bildern nützlich, einschließlich KI. Sie können Ihre Daten vorverarbeiten, indem Sie Bilder in der Größe ändern oder beschneiden oder auch die Menge der Trainingsdaten für Deep-Learning-Modelle erhöhen. |
Daten mit Zeitstempel vorverarbeiten und erkunden | Ungeordnete und fehlende Daten in Tabellen | Vorverarbeitung von Bildern für Deep Learning |
Bewährte Praktiken bei der Datenvorverarbeitung
Bei der Datenvorverarbeitung gibt es keine Patentlösung. Es hängt von den Eigenschaften der Daten, dem Algorithmus für Machine Learning und dem zu lösenden Problem ab. Bewährte Praktiken können bei der Auswahl von Datenvorverarbeitungstechniken helfen:
- Individuelle Anpassung der Techniken an die jeweilige Anwendung: Die Auswahl geeigneter Datenvorverarbeitungstechniken ist entscheidend, um zuverlässige und genaue Ergebnisse zu erzielen. Effektive Datenvorverarbeitungstechniken müssen oft auf die Anforderungen der verschiedenen Anwendungen zugeschnitten werden. So unterscheiden sich beispielsweise die Techniken für medizinische Bildgebungsanwendungen erheblich von denen für den Finanzsektor. Durch die Anpassung der Datenvorverarbeitungstechniken an die jeweilige Anwendung können die wichtigsten Merkmale in den Eingabedaten hervorgehoben werden, wodurch individuell abgestimmte und äußerst genaue Modelle entstehen. Dieser benutzerdefinierte Ansatz stellt sicher, dass die Daten optimal für die Analyse oder Modellierung vorbereitet sind, was zu genaueren und effektiveren Ergebnissen führt.
- Evaluierung der Auswirkungen: Die richtigen Datenvorverarbeitungsmethoden können die Modellgenauigkeit, Effizienz und Interpretierbarkeit verbessern. Allerdings können sich in einigen Fällen auch Vorverarbeitungstechniken negativ auf die Modellgenauigkeit auswirken, weshalb es wichtig ist, die Modellperformance während des gesamten Prozesses der Modellerstellung zu bewerten. Eine regelmäßige Validierung der Auswirkungen einzelner Schritte zur Datenvorverarbeitung stellt sicher, dass alle Anpassungen einen positiven Beitrag zur gesamten Modellleistung leisten. Bei der Analyse von Gesundheitsdaten sind beispielsweise die Normalisierung der Labortestergebnisse von Patienten und die Eingabe fehlender Werte wichtige Schritte der Datenvorverarbeitung. Diese Techniken stellen sicher, dass jedes Testergebnis gleichermaßen zu den Vorhersagemodellen beiträgt und dass die Analysen nicht durch fehlende oder unverhältnismäßig skalierte Daten verzerrt werden, sodass genauere und umsetzbare Erkenntnisse gewonnen werden können.
Datenvorverarbeitung in Machine-Learning-Workflows
Die Datenvorverarbeitung ist ein wichtiger Schritt in der Pipeline des Machine Learning, der sicherstellt, dass der Datensatz sauber, relevant und bereit zur Modellierung ist. Richtig aufbereitete Daten können die Performance von Machine-Learning-Modellen erheblich verbessern, indem sie ihnen genaue, relevante und standardisierte Eingaben liefern.
Nachdem Sie Ihre Daten im Wesentlichen vorverarbeitet haben, müssen Sie möglicherweise einige weitere Schritte unternehmen, bevor Sie ein Machine-Learning-Modell erstellen und trainieren können. Das auf die Datenvorverarbeitung folgende Feature Engineering (Merkmalserkundung, -extraktion und -selektion) ist ein iterativer Prozess, bei dem Rohdaten in Merkmale umgewandelt werden, die vom Machine Learning verwendet werden können. Das umfasst Folgendes:
- Durch die Merkmalsextraktion werden Rohdaten in Informationen umgewandelt, die für Machine-Learning-Algorithmen geeignet sind, wodurch die Performance der Modelle verbessert wird, da wesentliche Informationen erhalten bleiben. Dieser Schritt kann manuell erfolgen, indem einschlägiges Wissen für bestimmte Datentypen wie Bilder, Signale und Text genutzt wird, oder er kann durch Algorithmen oder Deep-Learning-Netze automatisiert werden. Die Wavelet-Streuung beispielsweise ist eine automatisierte Methode zur Extraktion von Merkmalen aus Signalen oder Bildern, die den Übergang von Daten zur Modellentwicklung vereinfacht.
- Bei der Merkmalstransformation werden bestehende Merkmale in neue Merkmale (Prädiktorvariablen) umgewandelt, während weniger aussagekräftige Merkmale wegfallen. In MATLAB stehen mehrere Ansätze zur Verfügung, darunter die Hauptkomponentenanalyse (Principal Component Analysis, PCA), die Faktorenanalyse und die t-verteilte stochastische Nachbareinbettung (t-SNE), die bei der Erstellung aussagekräftigerer Merkmale für das Modell helfen.
- Die Merkmalsauswahl ist ein Verfahren zur Dimensionalitätsreduktion, bei dem eine Teilmenge von Merkmalen (Prädiktorvariablen) ausgewählt wird, die die beste Vorhersagekraft für die Modellierung bieten. MATLAB unterstützt verschiedene Methoden wie Nachbarschaftskomponentenanalyse (NCA), Minimum-Redundanz-Maximum-Relevanz (MRMR), F-Test und Chi-Quadrat-Merkmalsauswahl, um sicherzustellen, dass die relevantesten Merkmale im Modell verwendet werden.
Verschiedene Methoden der Datenvorverarbeitung sind auf unterschiedliche Arten von Machine-Learning-Algorithmen zugeschnitten. Diese Methoden sind grundlegend für die Vorbereitung von Daten für Machine-Learning-Modelle und zielen darauf ab, die Modellgenauigkeit, Effizienz und Verallgemeinerbarkeit verschiedener Arten von Algorithmen und Anwendungsfällen zu verbessern.
Vorverarbeitungsmethoden | Zweck | Anwendbarkeit auf Machine-Learning-Algorithmen |
Datenbereinigung | Umgang mit fehlenden Daten, Entfernung von Ausreißern und Korrektur von Fehlern | Alle Arten |
Standardisierung und Normalisierung von Daten | Skalierung der Merkmale zur Gewährleistung der Einheitlichkeit und Verbesserung der Modellleistung | Alle Arten, insbesondere Support-Vektor-Maschinen (SVMs) und neuronale Netze |
Kategorische Codierung | Umwandlung kategorischer Variablen zur Verwendung in Algorithmen | Neuronale Netze, Entscheidungsbäume, Wälder |
Skalierung von Merkmalen | Anpassen der Merkmalsskala für die Abstandsberechnung und Konvergenz | SVMs, neuronale Netze, k-nächster Nachbar (k-nearest neighbor, KNN) |
Merkmalsauswahl und -transformation | Reduzierung der Modellkomplexität, Verbesserung der Interpretierbarkeit und der Modellanpassung | Entscheidungsbäume, Wälder, Regressionsmodelle |
Reduzierung der Dimensionalität | Konzentration auf die informativsten Aspekte durch Reduzierung der Variablen | Clustering, PCA |
Datenvorverarbeitung mit MATLAB
Die Wahl des richtigen Ansatzes für die Datenvorverarbeitung ist nicht immer offensichtlich. MATLAB bietet sowohl interaktive Möglichkeiten (Apps und Live Editor-Tasks) als auch allgemeine Funktionen, die das Ausprobieren verschiedener Methoden und das Ermitteln der für Ihre Daten passenden erleichtern. Die verschiedenen Konfigurationen durchzuprobieren und die optimalen Einstellungen auszuwählen, hilft Ihnen bei der Vorbereitung Ihrer Daten auf weitere Analysen.
Interaktive Möglichkeiten
Mit der Data Cleaner-App können Sie Zeitreihen vorverarbeiten, ohne dafür Code schreiben zu müssen. Sie können Daten importieren und anschließend bereinigen, fehlende Daten nachtragen und Ausreißer entfernen. Sie können Ihre modifizierten Daten dann zwecks weiterer Analysen im MATLAB-Workspace speichern. Außerdem können Sie automatisch MATLAB-Code generieren, um Ihre Schritte zu dokumentieren und später nachzuvollziehen.
Live Editor-Tasks bestehen aus einer einfachen Point-and-Click-Oberfläche, die direkt in Skripte eingefügt werden kann, um eine bestimmte Folge von Operationen auszuführen. Diese Tasks können interaktiv konfiguriert werden, um sie mit verschiedenen Einstellungen durchzuprobieren und die optimale Konfiguration für Ihre Anwendung zu ermitteln. Wie mit der Data Cleaner-App können Sie auch hier automatisch MATLAB-Code generieren, um Ihre Arbeit nachzuvollziehen.
Sie können Daten interaktiv mit einer Abfolge von Live-Editor-Tasks wie Clean Missing Data, Clean Outlier Data und Normalize Data vorverarbeiten, indem Sie die Daten bei jedem Schritt visualisieren.
Toolbar für die Datenvorverarbeitung in MATLAB mit einer Sammlung von Live-Tasks.
Verwendung von MATLAB Funktionen
MATLAB bietet Tausende von generischen integrierten Funktionen für gängige mathematische, wissenschaftliche und ingenieurwissenschaftliche Berechnungen, darunter die Datenvorverarbeitung.
Visualisieren Sie Ihre Rohdatenmenge in MATLAB, um sie genauer anzusehen. So enthält beispielsweise ein Datensatz mit der an einem typischen Tag empfangenen Sonneneinstrahlung fehlende Werte und Ausreißer. Raue Witterungsbedingungen könnten der drahtlosen Telemetrieübertragung im Weg stehen und zu lückenhaften Rohdaten führen.
Fünf gängige Methoden der Datenvorverarbeitung können mit MATLAB auf diesen Rohdatensatz der Sonneneinstrahlung angewendet werden.
Datenvorverarbeitungsmethode | MATLAB-Diagramm |
---|---|
Umgang mit Ausreißern Anomalien in den Telemetriedaten werden als Ausreißer dargestellt. Die Ausreißer werden mit |
|
Ergänzung von fehlenden Daten Durch die Unterbrechung der Kommunikation kommt es bei der Telemetrie zu fehlenden Daten. Mit |
|
Glätten von Daten Rauschen in den Sonneneinstrahlungsdaten wird mit |
|
Normalisierung von Daten Mit der |
|
Gruppieren Mit |
|
Auch die Qualität ungeordneter Daten kann mit Datenvorverarbeitungsmethoden verbessert werden, um sie auf weitere Analysen vorzubereiten. Weitere Informationen finden Sie in den im Folgenden aufgeführten Quellen.
Beispiele und Erläuterungen
Software-Referenz
Siehe auch: Datenbereinigung, MATLAB für die Datenanalyse, MATLAB-Grafiken