Numerische Daten: Wie ein Modell Daten mithilfe von Featurevektoren aufnimmt

Bisher haben wir den Eindruck erweckt, dass ein Modell direkt auf die Zeilen eines Datensatzes wirkt. Tatsächlich nehmen Modelle Daten jedoch etwas anders auf.

Angenommen, ein Dataset enthält fünf Spalten, aber nur zwei davon (b und d) sind Funktionen im Modell. Erfasst das Modell bei der Verarbeitung des Beispiels in Zeile 3 einfach den Inhalt der beiden markierten Zellen (3b und 3d) wie unten dargestellt?

Abbildung 1: Ein Modell, das ein Beispiel direkt aus einem Dataset aufnimmt.
            Die Spalten b und d von Zeile 3 sind hervorgehoben.
Abbildung 1. So erhalten Modelle ihre Beispiele nicht genau.

Tatsächlich nimmt das Modell ein Array von Gleitkommawerten auf, das als Featurevektor bezeichnet wird. Sie können sich einen Feature-Vektor als die Gleitkommawerte vorstellen, die ein Beispiel bilden.

Abbildung 2. Der Feature-Vektor ist ein Vermittler zwischen dem Datensatz und dem Modell.
Abbildung 2. Näher an der Wahrheit, aber nicht realistisch.

Für Featurevektoren werden jedoch selten die Rohwerte des Datensatzes verwendet. Stattdessen müssen Sie die Werte des Datensatzes in Darstellungen verarbeiten, aus denen Ihr Modell besser lernen kann. Ein realistischerer Merkmalsvektor könnte also so aussehen:

Abbildung 3: Der Featurevektor enthält zwei Gleitkommawerte: 0,13 und 0,47. Einen realistischeren Featurevektor.
Abbildung 3. Einen realistischeren Featurevektor.

Würde ein Modell nicht bessere Vorhersagen liefern, wenn es anhand der tatsächlichen Werte im Datensatz trainiert wird, als anhand von geänderten Werten? Die Antwort ist überraschenderweise „Nein“.

Sie müssen die beste Methode ermitteln, um Rohdatensatzwerte als trainierbare Werte im Featurevektor darzustellen. Dieser Prozess wird als Feature Engineering bezeichnet und ist ein wichtiger Bestandteil des Machine Learning. Die gängigsten Techniken für das Feature Engineering sind:

  • Normalisierung: Umwandlung von numerischen Werten in einen Standardbereich.
  • Binning (auch Bucketing genannt): Numerische Werte in Buckets von Bereichen umwandeln.

In diesem Modul geht es um Normalisierung und Binarisierung. Im nächsten Modul Mit kategorischen Daten arbeiten werden andere Formen der Vorverarbeitung behandelt, z. B. die Umwandlung nicht numerischer Daten wie Strings in Gleitkommawerte.

Jeder Wert in einem Featurevektor muss ein Gleitkommawert sein. Viele Merkmale sind jedoch Strings oder andere nicht numerische Werte. Daher besteht ein großer Teil des Feature-Engineerings darin, nicht numerische Werte als numerische Werte darzustellen. In späteren Modulen werden wir uns damit ausführlich beschäftigen.