Skip to Content

Was ist Datenvorverarbeitung für maschinelles Lernen?

Datenvorverarbeitung für maschinelles Lernen (ML) bezieht sich auf die Vorbereitung und Transformation von Rohdaten in ein Format, das für das Training von ML-Modellen geeignet ist. Dies ist ein wesentlicher Schritt in einer ML-Pipeline (oder AI da es sich direkt auf die Performance und Genauigkeit der Modelle auswirkt.

Die Datenvorverarbeitung umfasst mehrere Techniken wie das Bereinigen der Daten, um fehlende Werte zu verarbeiten, das Entfernen von Ausreißern, das Skalieren von Funktionen, das Codieren kategorischer Variablen und das Aufteilen der Daten in Trainings- und Testsätze. Diese Techniken sind entscheidend, um sicherzustellen, dass die Daten in einem konsistenten und nutzbaren Format für die ML-Algorithmen vorliegen.

Dieser Artikel behandelt alles, was Sie über die Datenvorverarbeitung für maschinelles Lernen wissen müssen, einschließlich dessen, was es ist, seiner Vorteile, Schritte und Beispiele. 

Was ist Datenvorverarbeitung? 

Datenvorverarbeitung ist die Transformation von Rohdaten in ein Format, das für Analysen und Modellschulungen besser geeignet und sinnvoller ist. Die Datenvorverarbeitung spielt eine wichtige Rolle bei der Verbesserung der Qualität und Effizienz von ML-Modellen, indem sie Probleme wie fehlende Werte, Störungen, Inkonsistenzen und Ausreißer in den Daten angeht.

Vorteile der Datenvorverarbeitung für maschinelles Lernen

Datenvorverarbeitung für maschinelles Lernen hat viele Vorteile, und diese Vorteile sind dieselben wie die Schritte, die bei der Datenvorverarbeitung erforderlich sind. Werfen wir einen Blick darauf. 

1. Datenreinigung

Datenreinigung ist ein wesentlicher Bestandteil der Datenvorverarbeitungspipeline beim maschinellen Lernen. Dabei werden Fehler oder Inkonsistenzen im Datensatz identifiziert und korrigiert, um sicherzustellen, dass die Daten von hoher Qualität sind und für Analysen oder Modellschulungen geeignet sind. 

Datenreinigung umfasst in der Regel:

Umgang mit fehlenden Werten

Fehlende Werte sind ein häufiges Problem in realen Datensätzen und können die Performance von ML-Modellen beeinträchtigen. So identifizieren und bewältigen Sie fehlende Werte:

  • Verwenden Sie beschreibende Statistiken oder Visualisierungen, um Spalten/Funktionen mit fehlenden Werten zu identifizieren. Häufige Indikatoren für fehlende Werte sind NaN- (keine Zahl) oder NULL-Werte.
  • Bestimmen Sie die Auswirkungen fehlender Werte auf Ihre Analyse oder Ihr Modell. Berücksichtigen Sie den Prozentsatz fehlender Werte in jeder Spalte und ihre Bedeutung für den gesamten Datensatz.
  • Wenn der Prozentsatz der fehlenden Werte gering ist und diese Zeilen oder Spalten nicht kritisch sind, können Sie sie mithilfe von Methoden wie dropna() in Pandas oder ähnlichen Funktionen in anderen Tools entfernen.
  • Bei numerischen Merkmalen können Sie fehlende Werte mit Techniken wie Mittelwert, Median oder Modusimputation (Fillna()-Methode in Pandas) imputieren. Für kategorische Funktionen können Sie mit der häufigsten Kategorie imputieren.

Sie können auch erweiterte Imputationsmethoden wie Regressionsimputation, k-nächste Nachbarimputation oder die Verwendung von ML-Modellen zur Vorhersage fehlender Werte basierend auf anderen Funktionen in Betracht ziehen.

Umgang mit Ausreißern

Ausreißer sind Datenpunkte, die sich erheblich von anderen Beobachtungen im Datensatz unterscheiden und statistische Analysen oder maschinelle Lernmodelle verzerren können. 

So erkennen und handhaben Sie Ausreißer:

  • Verwenden Sie Box-Plots, Histogramme oder Streudiagramme, um die Verteilung numerischer Merkmale zu visualisieren und potenzielle Ausreißer visuell zu identifizieren.
  • Berechnen Sie zusammenfassende Statistiken wie Mittelwert, Standardabweichung, Quartile und Interquartilbereich (IQR). Ausreißer werden oft als Datenpunkte definiert, die unter Q1 – 1,5 * IQR oder über Q3 + 1,5 * IQR fallen.
  • In einigen Fällen kann das Entfernen von Ausreißern angemessen sein, insbesondere wenn sie auf Dateneingabefehler oder Anomalien zurückzuführen sind. Verwenden Sie Filtertechniken basierend auf statistischen Schwellenwerten, um Ausreißer zu entfernen.
  • Wenden Sie Transformationen wie Protokolltransformation, Quadratwurzeltransformation oder Box-Cox-Transformation an, um die Daten normal zu verteilen und die Auswirkungen von Ausreißern zu reduzieren.
  • Erwägen Sie die Verwendung robuster Modelle für maschinelles Lernen, die weniger empfindlich auf Ausreißer reagieren, z. B. Support-Vektormaschinen (SVM), zufällige Forsten oder Ensemble-Methoden.

Umgang mit Duplikaten

Doppelte Datensätze können die Analyse und das Modelltraining verzerren, indem sie bestimmte Muster oder Verzerrungen aufblähen. 

So erkennen und bearbeiten Sie Duplikate:

  • Verwenden Sie Funktionen wie duplicated() in Pandas, um doppelte Zeilen basierend auf bestimmten Spalten oder der gesamten Zeile zu identifizieren.
  • Wenn doppelte Datensätze redundant sind und keine zusätzlichen Informationen enthalten, können Sie sie mit der Funktion drop_duplicates() in Pandas oder ähnlichen Methoden in anderen Tools entfernen.
  • In einigen Fällen können Duplikate aufgrund mehrerer Einträge auftreten, aber eindeutige Kennungen haben. Stellen Sie sicher, dass Sie eindeutige Kennungen oder Schlüsselspalten aufbewahren, die zwischen doppelten Datensätzen unterscheiden.

Wenn Sie diese Schritte befolgen und geeignete Techniken anwenden, können Sie Ihre Daten für Aufgaben des maschinellen Lernens effektiv bereinigen und vorverarbeiten und so die Qualität und Zuverlässigkeit der Vorhersagen Ihrer Modelle verbessern.

2. Datennormalisierung

Normalisierung ist eine Datenvorverarbeitungstechnik, die zum Skalieren und Standardisierung der Werte von Merkmalen innerhalb eines Datensatzes verwendet wird. Das Hauptziel der Normalisierung besteht darin, alle Merkmalswerte in einen ähnlichen Bereich zu bringen, ohne die Unterschiede in den Wertebereichen zu verzerren. Dies ist wichtig, da viele Algorithmen für maschinelles Lernen besser funktionieren oder schneller konvergieren, wenn die Eingabefunktionen in einem ähnlichen Umfang sind und eine ähnliche Verteilung aufweisen.

Zu den Vorteilen der Normalisierung gehören:

  • Verhindert, dass Funktionen mit großen Skalierungen während des Modelltrainings diejenigen mit kleineren Skalierungen dominieren. 
  • Algorithmen wie Gradientenabfälle konvergieren schneller, wenn Funktionen normalisiert werden, was zu schnelleren Trainingszeiten führt. 
  • Reduzierung der Auswirkungen von Ausreißern, indem alle Werte in einen begrenzten Bereich gebracht werden. Normalisierte Daten können über verschiedene Funktionen hinweg einfacher zu interpretieren und zu vergleichen sein.

Normalisierungstechniken

Min-Max-Skalierung 

  • Formel:Xnorm =Xmax −Xmin /Xmax −Xmin
  • Bereich: Verwandelt Werte in einen Bereich zwischen 0 und 1.

 

Beispiel:

Z-Score-Normalisierung (Standardisierung):

  • Formel: Xstd =σX/μ
  • Bereich: Verwandelt Werte in einen Mittelwert von 0 und eine Standardabweichung von 1.

 

Beispiel:

Richtlinien für die Anwendung der Normalisierung

Min-Max-Skalierung: Die Min-Max-Skalierung eignet sich für Algorithmen, bei denen Eingabefunktionen innerhalb eines bestimmten Bereichs liegen müssen, z. B. neuronale Netzwerke und unterstützende Vektormaschinen. Stellen Sie sicher, dass Ausreißer angemessen gehandhabt werden, da sie die Skalierung beeinträchtigen können.

Normalisierung des Z-Scores: Dies eignet sich für Algorithmen wie k-Means-Clustering, lineare Regression und logistische Regression. Dies führt zu einer Verteilung, die um 0 mit einer Standardabweichung von 1 zentriert ist, was sie ideal für Algorithmen macht, die normal verteilte Daten annehmen.

Sparse-Daten: Für spärliche Datensätze (wobei die meisten Werte null sind) sollten Sie Techniken wie MaxAbsScaler oder RobustScaler für die Normalisierung in Betracht ziehen.

Kategorische Daten: Bei kategorischen Funktionen sollten Sie vor der Normalisierung Techniken wie One-Hot-Codierung in Betracht ziehen, um eine sinnvolle Skalierung sicherzustellen.

Es ist wichtig zu beachten, dass die Wahl der Normalisierungstechnik von den spezifischen Eigenschaften Ihrer Daten und den Anforderungen des von Ihnen geplanten maschinellen Lernalgorithmus abhängt. Experimente und das Verständnis der Auswirkungen auf die Modell-Performance sind wichtige Aspekte bei der effektiven Anwendung der Normalisierung.

3. Funktionsskalierung

Die Funktionsskalierung ist eine Datenvorverarbeitungstechnik, die verwendet wird, um den Bereich unabhängiger Variablen oder Funktionen eines Datensatzes zu standardisieren. Das Ziel der Funktionsskalierung ist es, alle Funktionen in eine ähnliche Größenordnung oder einen ähnlichen Bereich zu bringen, um zu vermeiden, dass eine Funktion während des Modelltrainings oder der Modellanalyse gegenüber anderen dominiert. Die Funktionsskalierung kann die Konvergenzgeschwindigkeit von Optimierungsalgorithmen verbessern und verhindern, dass bestimmte Funktionen übermäßigen Einfluss auf das Modell haben.

Die Rolle der Funktionsskalierung bei der Datenvorverarbeitung

Die Skalierungsfunktionen stellen sicher, dass ML-Algorithmen alle Funktionen gleich behandeln und so Verzerrungen gegenüber Funktionen mit größeren Skalierungen verhindern. Es verbessert auch Konvergenzen, da viele Optimierungsalgorithmen (z. B. Gradientenabstieg) schneller konvergieren, wenn Funktionen skaliert werden, was zu einem schnelleren Modelltraining führt. Es kann auch numerische Instabilitätsprobleme verhindern, die aufgrund großer Unterschiede in den Funktionsgrößen auftreten können. Und schließlich kann die Skalierung die Interpretation der Auswirkungen von Funktionen auf die Vorhersagen des Modells erleichtern.

Skalierungsmethoden für Funktionen

Neben der oben beschriebenen Min-Max-Skalierung und der Normalisierung des Z-Scores gibt es auch:

MaxAbsScaler: Dadurch wird jedes Merkmal nach seinem maximalen absoluten Wert skaliert, sodass die resultierenden Werte zwischen -1 und 1 liegen. Es eignet sich für spärliche Daten, bei denen es wichtig ist, null Einträge zu speichern, z. B. in Textklassifizierungs- oder Empfehlungssystemen.

RobustScaler: Hierbei werden Statistiken verwendet, die für Ausreißer wie den Median und den Interquartilbereich (IQR) robust sind, um Funktionen zu skalieren. Es eignet sich für Datensätze, die Ausreißer oder verzerrte Verteilungen enthalten.

Richtlinien für die Anwendung von Funktionsskalierung

So wenden Sie die Funktionsskalierung an:

  • Wenden Sie Standardisierung (Z-Score-Normalisierung) an, wenn die Daten einer normalen Verteilung folgen oder wenn Sie Algorithmen wie lineare Regression, logistische Regression oder K-Means-Clustering verwenden.
  • Wenden Sie Normalisierung (Min-Max-Skalierung) an, wenn Sie möchten, dass die Daten innerhalb eines bestimmten Bereichs liegen, z. B. neuronale Netzwerke oder unterstützende Vektormaschinen.
  • Verwenden Sie MaxAbsScaler, wenn Sie mit spärlichen Daten wie Textdaten oder hochdimensionalen spärlichen Funktionen umgehen.
  • Verwenden Sie RobustScaler beim Umgang mit Datensätzen, die Ausreißer oder nicht normal verteilte Funktionen enthalten.

Denken Sie daran, dass kategorische Funktionen möglicherweise eine Codierung (z. B. One-Hot-Codierung) erfordern, bevor Sie die Funktionsskalierung anwenden, insbesondere wenn sie nominal sind (ungeordnete Kategorien).

4. Umgang mit kategorischen Daten

Kategorische Variablen stellen Gruppen oder Kategorien dar und sind oft nicht-numerischer Natur, was während des Modelltrainings Herausforderungen mit sich bringt, darunter:

  • Nichtnumerische Darstellung: Kategorische Variablen werden in der Regel durch Zeichenfolgen oder Bezeichnungen dargestellt, die die meisten Algorithmen für maschinelles Lernen nicht direkt verarbeiten können. Algorithmen erfordern numerische Eingaben für Training und Vorhersagen.
  • Ordinale vs. nominale Variablen: Kategorische Variablen können entweder ordinal (mit einer sinnvollen Reihenfolge) oder nominal (ohne eine bestimmte Reihenfolge) sein. Die Behandlung von Ordinalvariablen als nominal oder umgekehrt kann zu falschen Modellinterpretationen oder verzerrten Vorhersagen führen.
  • Fluch der Dimensionalität: Eine One-Hot-Codierung, eine gängige Technik für den Umgang mit kategorischen Daten, kann zu einer Zunahme der Dimensionalität des Datensatzes führen, insbesondere bei einer Vielzahl von eindeutigen Kategorien. Dies kann die Modell-Performance beeinträchtigen und die Rechenkomplexität erhöhen.

Techniken zum Codieren kategorischer Variablen

Zu den Techniken zum Codieren kategorischer Variablen gehören:

Kennzeichnungscodierung: Die Kennzeichnungscodierung weist jeder Kategorie in einer kategorischen Variable eine eindeutige numerische Kennzeichnung zu. Es eignet sich für ordinale Variablen, bei denen es eine sinnvolle Reihenfolge zwischen den Kategorien gibt.

Hier ist ein Beispiel für Pythons wissenschaftliches Wissen:

von sklearn.preprocessing import LabelEncoder

le = LabelEncoder()

coded_labels = le.fit_transform(['cat', 'dog', 'kanbit', 'dog'])

Einmalige Codierung: One-Hot-Codierung erstellt binäre Spalten für jede Kategorie in einer kategorischen Variable, wobei jede Spalte das Vorhandensein oder Nichtvorhandensein dieser Kategorie angibt. Es eignet sich für nominale Variablen ohne eine bestimmte Reihenfolge zwischen den Kategorien.

Hier ist ein Beispiel für Pandas:

Pandas als PD importieren

df = pd.DataFrame({'category': ['A', 'B', 'C', 'A']})

one_hot_encoded = pd.get_dummies(df['category'], prefix='category')

Dummy-Codierung: Die Dummy-Codierung ähnelt der One-Hot-Codierung, lässt jedoch eine der binären Spalten fallen, um Multikollinearitätsprobleme in linearen Modellen zu vermeiden. Sie wird häufig in Regressionsmodellen verwendet, bei denen eine Kategorie als Referenzkategorie dient.

Hier ist ein Beispiel für Pandas:

dummy_encoded = pd.get_dummies(df['category'], prefix='category', drop_first=True)

Richtlinien für den Umgang mit kategorischen Daten

Um kategorische Daten korrekt zu verarbeiten, sollten Sie:

Variable Typen verstehen: Bestimmen Sie, ob kategorische Variablen ordinal oder nominal sind, um die geeignete Codierungstechnik auszuwählen.

Vermeiden Sie ordinale Fehlinterpretationen: Seien Sie vorsichtig, wenn Sie die Kennzeichnungscodierung für nominale Variablen verwenden, da dies zu unbeabsichtigter Ordinalität in den Daten führen kann.

Umgang mit hoher Kardinalität: Bei kategorischen Variablen mit einer Vielzahl von eindeutigen Kategorien sollten Techniken wie Frequenzcodierung, Zielcodierung oder Dimensionalitätsreduktionstechniken wie PCA berücksichtigt werden.

Dies alles ist zusätzlich zu der bereits erwähnten Handhabung fehlender Werte und der Normalisierung numerischer Daten. 

5. Umgang mit unausgewogenen Daten

Der Umgang mit unausgeglichenen Daten ist eine häufige Herausforderung beim maschinellen Lernen, insbesondere bei Klassifizierungsaufgaben, bei denen die Anzahl der Instanzen in einer Klasse (Minderheitsklasse) deutlich geringer ist als in den anderen Klassen (Mehrheitsklassen). Unausgewogene Daten können einen tiefgreifenden Einfluss auf das Modelltraining und die Bewertung haben, was zu voreingenommenen Modellen führt, die die Mehrheitsklasse bevorzugen und in Minderheitsklassen schlecht abschneiden. 

Hier sind einige wichtige Punkte in Bezug auf unausgewogene Daten und Techniken für deren Handhabung:

Auswirkungen unausgewogener Daten auf die Modell-Performance

Modelle, die auf unausgewogenen Daten trainiert werden, neigen dazu, die Genauigkeit in der Mehrheitsklasse zu priorisieren und dabei die Minderheitsklasse zu vernachlässigen. Dies kann zu einer schlechten Performance bei den Vorhersagen der Minderheitsklasse führen. Außerdem können Metriken wie Genauigkeit in unausgewogenen Datensätzen irreführend sein, da eine hohe Genauigkeit dadurch entstehen kann, dass die Mehrheitsklasse richtig vorhergesagt und die Minderheitsklasse ignoriert wird. Bewertungskennzahlen wie Präzision, Erinnerung, F1-score und Fläche unter der ROC-Kurve (AUC-ROC) sind für unausgewogene Datensätze aussagekräftiger als für die Genauigkeit allein.

Techniken für den Umgang mit unausgewogenen Daten

Die häufigsten Techniken für den Umgang mit unausgewogenen Daten sind Über- und Unterbemusterung. Bei einer Überbemusterung wird die Anzahl der Instanzen in der Minderheitsklasse erhöht, um sie mit der Mehrheitsklasse in Einklang zu bringen. Unterbemusterung umfasst die Reduzierung der Anzahl der Instanzen in der Mehrheitsklasse, um sie mit der Minderheitsklasse in Einklang zu bringen. Sie können auch einen hybriden Ansatz verfolgen, indem Sie Über- und Unterbemusterung kombinieren.

Es gibt auch eine Klassengewichtung, bei der Sie die Klassengewichtungen während des Modelltrainings anpassen, um Fehler in der Minderheitsklasse mehr als Fehler in der Mehrheitsklasse zu bestrafen. Dies ist nur für Algorithmen nützlich, die Klassengewichtung unterstützen, wie z. B. logistische Regression oder Vektormaschinen.

Richtlinien für den Umgang mit unausgewogenen Daten

Um mit unausgewogenen Daten umzugehen, sollten Sie:

Datenverteilung verstehen: Analysieren Sie die Klassenverteilung in Ihrem Datensatz, um den Schweregrad des Ungleichgewichts zu bestimmen.

Wählen Sie die geeignete Technik aus: Wählen Sie die Überproben-, Unterproben- oder Hybridtechnik basierend auf Ihrer Datensatzgröße, Ihrem Ungleichgewichtsverhältnis und Ihren Rechenressourcen aus.

Metriken bewerten: Verwenden Sie geeignete Bewertungskennzahlen wie Präzision, Rückruf, F1-score oder AUC-ROC-Kurve, um die Modellleistung in beiden Klassen zu bewerten.

Kreuzvalidieren: Wenden Sie Techniken in validierungsübergreifenden Faltungen an, um Datenlecks zu vermeiden und zuverlässige Schätzungen der Modell-Performance zu erhalten.

Fazit

Die Datenvorverarbeitung trägt dazu bei, sicherzustellen, dass ML-Modelle auf qualitativ hochwertige, ordnungsgemäß formatierte Daten trainiert werden, was sich direkt auf die Performance, Genauigkeit und Verallgemeinerungsfähigkeit des Modells auswirkt. Durch die Behebung von Problemen wie fehlenden Werten, Ausreißern, kategorischen Variablen und Klassenungleichgewicht ermöglicht die Datenvorverarbeitung Modellen, fundiertere und genauere Vorhersagen zu treffen, was zu einer besseren Entscheidungsfindung in realen Anwendungen führt.

Mit der richtigen Datenvorverarbeitung können ML-Praktiker das volle Potenzial ihrer Daten ausschöpfen und genauere und zuverlässigere Vorhersagemodelle für verschiedene Anwendungen in verschiedenen Domänen erstellen.

Um dies jedoch in der Praxis wirklich zu erreichen, benötigen Sie zunächst eine flexible Daten-Storage-Lösung wie Pure Storage, die Ihnen hilft, AI und maschinelles Lernen zu beschleunigen und Ihre KIAIInitiativen in Unternehmen voranzubringen.

09/2024
Seven Key Storage Considerations for Digital Pathology
Explore 7 key considerations your organization should consider when choosing data storage for digital pathology.
White Paper
4 Seiten
KONTAKTIEREN SIE UNS
Fragen, Kommentare?

Haben Sie eine Frage oder einen Kommentar zu Produkten oder Zertifizierungen von Pure?  Wir helfen Ihnen gerne!

Termin für Demo vereinbaren

Vereinbaren Sie einen Termin für eine Live-Demo und sehen Sie selbst, wie Pure Ihnen helfen kann, Ihre Daten in überzeugende Ergebnisse zu verwandeln. 

Rufen Sie uns an: +49 89 26200662
Presse:
 pr@purestorage.com

 

Pure Storage Germany GmbH

Mies-van-der-Rohe-Straße 6

80807 München

Deutschland

info@purestorage.com

SCHLIESSEN
Ihr Browser wird nicht mehr unterstützt!

Ältere Browser stellen häufig ein Sicherheitsrisiko dar. Um die bestmögliche Erfahrung bei der Nutzung unserer Website zu ermöglichen, führen Sie bitte ein Update auf einen dieser aktuellen Browser durch.