2.4 Vorverarbeitung

Der nächste Schritt in einem Data Science Projekt nach dem CRISP-DM-Modell ist die Datenaufbereitung (Data Preparation). Diese Phase nimmt in der Regel einen Großteil des zeitlichen Budgets ein und ist für das Ergebnis des Projektes nicht zu vernachlässigen. Häufig kann man das Ergebnis des Machine Learning Modells verbessern, in dem man mehr Aufwand und Zeit in die Vorverarbeitung und das Feature Engineering investiert.

Die Datenvorverarbeitung und -aufbereitung (Data Preparation) nimmt in Projekten häufig bis zu 80% des Gesamtaufwands in Anspruch. Gründe dafür sind, dass die Daten in der Regel aus unterschiedlichen Quellsystemen zusammengeführt werden müssen und die Datenqualität geprüft und sichergestellt werden muss. Liegen die Daten zum Teil oder gar vollständig bereits feingranular in einem Business-Intelligence-System mit einer hohen Datenqualität vor, so kann der Aufwand für die Data Preparation deutlich reduziert werden. Die Datenvorbereitung ist Aufgabe eines Data Engineers und erfolgt in Zusammenarbeit mit der Fachabteilung. Da zu Beginn eines Machine-Learning-Projekts nicht offensichtlich ist, welche Attribute zum Lernen des Modells verwendet werden sollen, empfiehlt es sich, dem Data Scientist eine möglichst umfangreiche Menge an Attributen zur Verfügung zu stellen. Im weiteren Vorgehen ermittelt der Data Scientist beispielsweise über eine Korrelationsanalyse oder Feature-Selection-Verfahren, welche Attribute notwendig und sinnvoll für das Lernen sind, und schränkt bis zum Deployment hin die Anzahl der Attribute ein. Es ist darauf zu achten, dass die notwendigen Attribute, die im historischen Datensatz zum Trainieren des Modells vorliegen, auch bei der Anwendung des Modells, der Prädikation, bereits vorhanden sind. Es kommt durchaus vor, dass Datensätze durch externe Services oder nachträgliche Verfahren angereichert werden, zum Zeitpunkt, an dem eine Entscheidung getroffen werden soll, diese zusätzlichen Informationen jedoch nicht vorliegen (Kaufman et al. 2012). Das Ergebnis der Data Preparation stellt die analytische Datenbasis dar, die für das eigentliche Lernen des Modells verwendet wird. Arbeiten, die hierbei stattfinden beschäftigen sich mit der Transformation und Skalierung der Daten.

2.4.1 Binning

Das Binning wird eingesetzt, um eine numerische Variable in eine kategoriale Variable zu transformieren. Zum einen erlaubt dies, die Verteilung der Daten über den Wertebereich festzustellen, in Abhängigkeit der gewählten Intervalle (Bins). Zum anderen können so auch für die Fragestellung sinnvolle Kategorien gebildet werden. Beispielsweise ist das Attribut Alter aus der Tabelle 2.1 einzeln betracht wenig aussagekräftig. Eine mögliche Einteilung kann in die Klassen sein. Ein weiteres Beispiel kann die Messwertaufzeichnung eines Temperatursensors darstellen. Der gesamte Messbereich ist dabei zwischen den Werten 0° und 100°C definiert und kann viele unterschiedliche Werte annehmen. Um eine (Häufigkeits-)Analyse durchführen zu können, ist eine Einteilung in definierte Temperaturintervalle vorzuziehen.

Eine der Herausforderungen beim Binning stellt dabei die Gestaltung der Bins dar, d.h. was sind die Intervalle die beim Binning genutzt werden. Zwei Varianten, die bei der Datenaufbereitung in diesem Fall anzutreffen sind:

Equal-width Binning

Die Merkmalswerte werden in Bins mit jeweils einer Größe von eingeteilt. Als Beispiel sei der Minimal- und der Maximalwert eines Merkmales wie folgt definiert: . Dieser soll in gleich Bereich unterteilt werden. Dies ergibt für den Wertebereich eine Breite von 10 Einheiten.

Equal-frequency Binning

Die Merkmalswerte werden in aufsteigender Reihenfolge sortiert und platziert. Die Anzahl an Instanzen pro Bin wird entsprechend durch gebildet.

2.4.2 One-Hot-Encoding

Die meisten Machine Learning Verfahren können nur numerische Werte verarbeiten und und sind nicht in der Lage, textuelle Attribute wie beispielsweise Geschlecht {männlich, weiblich} oder Farbe {rot, grün, blau} zu verwenden. Ein Ansatz zur Transformation kategorialer Werte in numerische Daten ist die Erstellung von Dummy-Variablen mit One-Hot-Encoding. Dies transformiert nominale Daten so, dass diese im Machine Learning Verfahren als numerische Eingabe verwendet werden können. Beispielsweise wird in der Klassifikation mit Deep Learning Methoden die Zielklasse kodiert, um ein Klassifikationsergebnis zu berechnen.

In vielen Datensätzen spielen Wochentage eine wichtige Rolle. Sollen sieben Wochentage in numerische Werte codiert werden, so werden sechs (!) Dummy-Variablen erzeugt.

Tabelle 2.3: Beispiel One-Hot Encoding
Ursprünglicher Wert Mo-Dummy Di-Dummy Mi-Dummy Do-Dummy Fr-Dummy Sa-Dummy
Montag 1 0 0 0 0 0
Dienstag 0 1 0 0 0 0
Mittwoch 0 0 1 0 0 0
Donnerstag 0 0 0 1 0 0
Freitag 0 0 0 0 1 0
Samstag 0 0 0 0 0 1
Sonntag 0 0 0 0 0 0

Wenn ein nominales Attribut mit Ausprägungen codiert werden soll, so werden üblicherweise Dummy-Variablen erzeugt. Sind die Werte der Dummy-Variablen bekannt, kann direkt auf den Wert geschlossen werden.

2.4.3 Distanzmaße / (Abstandsmaße)

Viele Anwendungen im Machine Learning Bereich beruhen darauf, dass man Daten vergleichen kann. Bei numerischen Merkmalen vergleicht man die Werte mit einem Distanz- bzw. Abstandsmaß. Hierbei existiert eine Vielzahl von Metriken, die zur Bestimmung der Distanz zwischen zwei Punkten (Quelle) genutzt werden können. Die am häufigsten anzutreffende Metriken sind die - und -Metrik und sind wie folgt definiert. Eine geometrische Interpretation beider Funktionen ist der Abbildung 2.7 zu entnehmen.

  • L1-Distanz (Manhattan Distanz, Schachbrettmuster-Distanz)
  • L2-Distanz (Euklidische Distanz)
Geometrische Interpretation von $L_1$ (blaue Linie) und $L_2$ (gelbe Linie)

Abbildung 2.7: Geometrische Interpretation von (blaue Linie) und (gelbe Linie)

An den Beispieldaten aus der Tabelle 2.1 soll nun die die -Distanze für die Datenpunkte und bestimmt werden. Aus diesem einfachen Beispielrechnung ist deutlich zu erkennen, dass das Merkmal Alter keinen wesentlichen Einfluss auf die Distanz hat.

Um diesem Problem entgegenzuwirken, müssen numerische Daten, wie im nachfolgenden Abschnitt beschrieben, normiert werden.

2.4.4 Normierung von Daten

Ein essenzieller Schritt in der Datenaufbereitung ist die Transformation des Datenbestandes in einen definierten Bereich. Viele Algorithmen des maschinellen Lernens setzten einen normierten Datensatz voraus da sonst, wie in dem aufgezeigten Rechnungsbeispiel, Merkmale mit einem großen Wertebereich die internen Berechnungen dominieren. Dies verfälscht das Ergebnis eines Models deutlich und führt dazu, dass entsprechende Merkmale mit kleinem Wertebereich bedeutungslos für das Ergebnis sind. Für die Normalisierung von numerischen Daten existiert eine Vielfalt von unterschiedlichen Funktionen, wie eine Normalisierung der Daten durchgeführt werden kann. Im nachfolgenden sind die beiden häufigsten anzutreffenden Vertreter näher aufgelistet und erläutert:

  • Normalisierung in das Einheitsintervall
    • Normalisierung in ein beliebiges Intervall :
  • z-Transformation (Standardisierung).
      • Mittelwert der Daten
      • : Standardabweichung

References

Kaufman, Shachar, Saharon Rosset, Claudia Perlich, and Ori Stitelman. 2012. “Leakage in Data Mining: Formulation, Detection, and Avoidance.” ACM Trans. Knowl. Discov. Data 6 (4): 15:1–15:21. https://doi.org/10.1145/2382577.2382579.