Feature Engineering ist der Prozess der Erstellung relevanter Features (Inputvariablen), die dann zum Training eines Modells verwendet werden. Das Ziel von Feature Engineering ist es solche Faktoren zu identifizieren, die einen Einfluss auf die Zielvariable haben. Die Qualität der Inputvariablen hat einen maßgeblichen Einfluss auf die Leistung und die Qualität der Machine Learning Modelle. Es gibt mehrere Wege neue Inputvariablen zu erstellen, dazu gehören: 

  • Die einfache Erstellung/Hinzufügung einer vollständig neuen Variable 
  • Die Modifizierung bestehender Variablen 
  • Ziehung von Schlüssen und Informationen aus bestehenden Variablen 
  • Zusammenführen bestehender Variablen 

Während eines Machine Learning Projekts können eine Vielzahl der Schritte automatisiert oder von einem Computer durchgeführt werden. Das trifft auf Feature Engineering nicht zu, das im Kern ein kreativer Prozess ist. Es setzt Wissen und Scharfsinn in Bezug auf das vorliegende Themengebiet voraus. Daher ist es die Phase eines Machine Learning Projekts, dass die meiste Expertise und das meiste Wissen voraussetzt. 

Feature Engineering spielt eine Schlüsselrolle bei Machine Learning und hat einen maßgeblichen Einfluss auf die Qualität des Modells und seiner Voraussagen. Die Qualität der genutzten Features hat normalerweise einen größeren Einfluss auf die Ergebnisse eines Modells als die Auswahl des Modelltyps.

Features stechen die Komplexität des Modells. Grundsätzlich bedeutet das, dass man mit sehr guten Features selbst mit einem nur mittelmäßigen Modell noch akzeptable Ergebnisse erzielen kann, während das Gegenteil nicht zutrifft. Tatsächlich ist die Phase des Feature Engineering als derart wichtig anerkannt, dass angewandtes Machine Learning oft als im Wesentlichen aus Feature Engineering bestehend bezeichnet wird, da der Rest eines Projekts, wie die Datenvorbereitung und die Berechnung der Modelle eine, zwar kleinteilige, aber eben Routinearbeit ist. 

Auswahl der Features 

Die Auswahl der Features ist der Prozess, während dem diejenigen Features ausgewählt werden, die für die Nutzung in einem bestimmten Modell relevant sind. Im Gegensatz zu Feature Engineering, bei dem Features hergestellt werden, geht es bei der Auswahl von Features darum, herauszufinden welche der verfügbaren Features die relevan(tes)ten sind und daher Teil des Modells werden sollten. Das Ziel der Auswahl von Features ist es nicht relevante Features nicht in das Modell einzubeziehen. Das kann sowohl manuell als auch mit der Hilfe von Algorithmen geschehen, die automatisch die relevantesten Variablen auswählen.  

Nur weil man eine große Zahl von Variablen hat, heißt das nicht, dass man sie auch alle benutzen muss. Tatsächlich hat das Hinzufügen von mehr Variablen häufig eher einen abschlägigen als einen positiven Effekt auf die Funktion eines Modells. Wenn man sich auf die relevantesten Variablen beschränkt senkt dies die Wahrscheinlichkeit ein Modell zu überfrachten, von Kollinearität und davon Probleme mit dem Fluch der Dimension zu bekommen; es steigert auch die Interpretierbarkeit eines Modells.