Feature Engineering

Feature Engineering ist ein wichtiger Bestandteil im Preprocessing und dient der Aggregation bzw. Verdichtung von Daten auf ihre wesentlichen Eigenschaften. Je nach Art der Daten unterscheidet sich auch das Feature Engineering. In einigen Fällen können sogar die Rohdaten als Input-Feature für Machine Learning Modelle verwendet werden. Dieser Wiki Beitrag erklärt zunächst weitergehend die Wichtigkeit vom Feature Engineering und zeigt anschließend für ausgewählte Daten, wie Feature generiert werden können.

Wie bereits genannt, werden Daten im Feature Engineering auf ihre wesentlichen Eigenschaften bzw. aussagekräftigen Charakteristika reduziert. Dadurch wird zum einen die Datenmenge reduziert, was das Training von Modellen beschleunigt und den erforderlichen Speicherplatz reduziert, und zum anderen Redundanzen in den Daten beseitigt. Zudem wird bei komplexen Modellen, wie etwa großen Neuronalen Netzwerken, die Gefahr des Overfittings reduziert, da weniger Details zum Unterscheiden bzw. Lernen der Samples vorhanden sind. Nachfolgend wird beispielhaft für einige Daten gezeigt, wie Feature abgeleitet werden können.

Zeitreihen Daten #

Statistische Kennzahlen als Features #

Eine sehr simples Vorgehen zur Aggregation von Zeitreihen ist die Berechnung von statistischen Kennzahlen für einzelne Abschnitte in den Daten. Die Größe der Abschnitte kann je nach Problemstellung gewählt werden und bestimmt maßgeblich die Reduktion der Datengröße. Abschnitte können dabei zwischen 0.5s für etwa Beschleunigungsdaten und mehreren Stunden für Niederschläge oder Wasserstände liegen. Mögliche Kennzahlen sind dabei:

  • Lagemaße: Mittelwert, Median, Modus
  • Streumaße: Varianz, Standardabweichung, IQR
  • Weiteres: Maximum, Minimum, Range

Die nachfolgenden Abbildungen zeigen zunächst Beschleunigungsdaten, die als Input genutzt werden. Als Feature werden je Achse der Mittelwert sowie die Standardabweichung auf einem Fenster von 3s berechnet.

Beschleunigung auf drei Achsen als Rohdaten vor dem Feature Engineering.
Mittelwert und Standardabweichung je Achse als abgeleitete Features.

Frequenz Features #

Eine weitere Art von Features aus Zeitreihen Daten sind die sogenannten Frequenz-Features. Dabei wird auf Abschnitten in den Daten die Fourier Transformation genutzt, um die einzelnen Frequenz Bestandteile des Signals zu erhalten (s. Abbildung). Aus dem Frequenzspektrum können dann weitere Features abgeleitet werden:

  • Frequenz mit der höchsten Amplitude
  • (Gewichteter) Mittelwert
  • Anzahl Frequenzen über Grenzwert der Amplitude
Frequenzspektrum von Beschleunigungsdaten durch die Fast Fourier Transformation

Audio Daten #

Audiodaten sind an sich auch Zeitreihen – jedoch machen etwa statistische Kennzahlen relativ wenig Sinn. In den allermeisten Fällen werden aus Audio sogenannte Spektrogramme als Features abgeleitet. Diese stellen die Intensität verschiedener Frequenzbänder über die Zeit dar. Spektrogramme sind unter anderem:

  • MFCCs (Mel Frequency Cepstral Coefficients)
  • Melspectrogram
  • Chromagram (STFT oder CQT)

Bei Audiodaten besteht jedoch die Möglichkeit, die ursprüngliche Form beizubehalten und als Feature zu verwenden.

Ursprüngliches Audiosignal (oben) und die daraus generierten Spektrogram Features

Text Daten #

Text hat eine ganz andere Beschaffenheit als die bisher behandelten Daten – er lässt sich nicht direkt als Zahlen darstellen und ist daher von Machine Learning Modellen nicht zu quantifizieren. Daher spielen bei der Arbeit mit Sprache bzw. Text das Preprocessing und Feature Engineering eine wichtige Rolle. Genrell erfolgt die Umwandlung von Sprache in Zahlen, indem die Vorkommnisse von einzigartigen Wörtern in Sätzen ermittelt und in einem Vektor gespeichert werden. Solche Vektoren zählen an sich bereits als Features und können dann von Modellen bereits verarbeitet werden. Auf weitere Methoden der Spracheverarbeitung (Natural Language Processing) soll in diesem Artikel jedoch nicht weiter eingegangen werden.

Weiterführende Links:
– Was ist Feature Engineering?: https://www.alexanderthamm.com/de/data-science-glossar/feature-engineering/
– Feature Engineering for Machine Learning: https://towardsdatascience.com/feature-engineering-for-machine-learning-3a5e293a5114
– Learning Feature Engineering for Machine Learning: https://www.datascienceassn.org/sites/default/files/Learning_Feature_Engineering_for_Classification.pdf

Schreibe einen Kommentar