Feature Engineering ist der entscheidende Prozess der Auswahl, Umwandlung und Erstellung von Merkmalen aus Rohdaten, um diese für Machine Learning (ML) -Modelle besser geeignet zu machen. Dabei werden Fachwissen und Datenanalysetechniken eingesetzt, um Eingaben zu erstellen, die das zugrundeliegende Problem besser abbilden und letztendlich die Leistung, Genauigkeit und Interpretierbarkeit des Modells verbessern. Stell dir vor, du bereitest die besten Zutaten für ein Rezept vor; selbst der beste Koch (oder das beste Modell) hat mit minderwertigen Zutaten(Trainingsdaten) zu kämpfen. Dieser Schritt wird oft als einer der kritischsten und zeitaufwändigsten Teile des ML-Workflows angesehen.
Warum ist Feature Engineering wichtig?
Rohdaten, die in der realen Welt erhoben werden, sind selten für die direkte Verwendung in ML-Algorithmen geeignet. Sie können fehlende Werte, Inkonsistenzen oder irrelevante Informationen enthalten oder in Formaten vorliegen, die für Modelle ungeeignet sind (z. B. Text oder kategorische Daten). Das Feature-Engineering geht auf diese Probleme ein:
- Verbesserung der Modellleistung: Gut durchdachte Merkmale heben die für das Problem relevanten Muster hervor und erleichtern es den Modellen, zu lernen und zu verallgemeinern.
- Verringerung der Komplexität: Sie kann Modelle vereinfachen, indem sie informativere Eingaben liefert und so manchmal den Bedarf an hochkomplexen Architekturen oder Algorithmen zur Objekterkennung verringert.
- Umgang mit verschiedenen Datentypen: Es bietet Methoden zur Umwandlung verschiedener Datentypen (Text, Bilder, kategorische Daten) in numerische Darstellungen, die Algorithmen verstehen. Weitere Informationen findest du unter Techniken zur Datenvorverarbeitung.
- Verbesserung der Interpretierbarkeit: Aussagekräftige Merkmale können es manchmal einfacher machen zu verstehen , warum ein Modell bestimmte Vorhersagen macht, und tragen so zu erklärbarer KI (XAI) bei.
Gängige Techniken der Merkmalstechnik
Unter dem Begriff "Feature Engineering" werden verschiedene Techniken zusammengefasst:
- Imputation: Behandlung fehlender Daten durch Auffüllen von Lücken mit geschätzten Werten (z. B. Mittelwert, Median oder komplexere Methoden). Der Umgang mit fehlenden Daten ist ein üblicher erster Schritt.
- Skalierung und Normalisierung: Anpassung des Bereichs oder der Verteilung von numerischen Merkmalen (z. B. Min-Max-Skalierung, Z-Score-Normalisierung), um zu verhindern, dass Merkmale mit größeren Werten den Lernprozess dominieren.
- Kodierung kategorialer Variablen: Konvertierung nicht-numerischer Daten (wie die Kategorien "rot", "grün", "blau") in numerische Formate (z. B. One-Hot Encoding, Label Encoding). Siehe Kodierung kategorialer Daten.
- Feature-Erstellung (Generierung): Ableitung neuer Merkmale aus bestehenden Merkmalen auf der Grundlage von Domänenwissen oder Interaktionsanalysen (z. B. Erstellung von "Alter" aus "Geburtsdatum", Kombination von "Größe" und "Gewicht" zu "BMI" oder Extraktion von Textmerkmalen mithilfe von TF).
- Binning (Diskretisierung): Gruppierung kontinuierlicher numerischer Daten in diskrete Bins oder Intervalle.
- Logarithmische Transformation: Die Anwendung einer logarithmischen Transformation, um schiefe Datenverteilungen zu behandeln. Erkunde Datenumwandlungen für weitere Details.
- Merkmalsauswahl: Identifizierung und Beibehaltung nur der relevantesten Merkmale, wobei überflüssige oder irrelevante Merkmale verworfen werden, um das Modell zu vereinfachen und möglicherweise die Leistung zu verbessern. Dies ist eng mit der Dimensionalitätsreduktion verbunden.
Anwendungen in der realen Welt
- Vorausschauende Wartung: In der Produktion können die rohen Sensordaten (Vibration, Temperatur, Druck) von Maschinen verrauscht und hochdimensional sein. Das Feature-Engineering könnte die Berechnung von gleitenden Durchschnitten, Standardabweichungen über Zeitfenster, Frequenzbereichsmerkmalen (wie FFT) oder die Erstellung von Merkmalen umfassen, die plötzliche Spitzen oder Veränderungen anzeigen. Mit diesen Merkmalen kann ein ML-Modell potenzielle Maschinenausfälle leichter vorhersagen, bevor sie auftreten, wie in KI in der Produktion beschrieben.
- Vorhersage der Kundenabwanderung: Um vorherzusagen, welche Kunden einen Dienst nicht mehr nutzen, werden Rohdaten wie Nutzungsprotokolle, demografische Daten, Support-Ticket-Verläufe und Kaufdatensätze verwendet. Bei der Entwicklung von Merkmalen können Merkmale wie "durchschnittliche Sitzungsdauer", "Zeit seit dem letzten Kauf", "Anzahl der Support-Tickets im letzten Monat", "Verhältnis von positivem zu negativem Feedback" oder "Customer Lifetime Value" erstellt werden. Diese abgeleiteten Merkmale liefern aussagekräftigere Signale für die Vorhersage der Abwanderung als die reinen Logs. Dies ist relevant für KI im Finanzwesen und im Einzelhandel.
Feature Engineering und Ultralytics
Während fortgeschrittene Modelle wie Ultralytics YOLO Aufgaben wie die Objekterkennung und Bildsegmentierung durch das automatische Erlernen relevanter visueller Merkmale mit Hilfe ihrer tiefen neuronalen Netzwerkarchitekturen(Rückgrat, Hals, Kopf) meistern, bleiben die Prinzipien der Merkmalstechnik weiterhin relevant. So ist zum Beispiel die Vorverarbeitung der Eingangsbilder (z. B. Histogrammausgleich bei unterschiedlichen Lichtverhältnissen, Rauschunterdrückung mithilfe von Bibliotheken wie OpenCV oder die Anwendung spezifischer, auf den Problembereich zugeschnittener Datenanreicherungen ), bevor sie in ein YOLO eingespeist werden, eine Form der Merkmalstechnik, die die Robustheit und Leistung des Modells verbessern kann. Darüber hinaus können die Ergebnisse von YOLO (z. B. Bounding-Box-Koordinaten, Objektklassen, Zählungen) in Features für nachgelagerte Aufgaben umgewandelt oder mit anderen Datenquellen für komplexere Analysen kombiniert werden, z. B. mit Plattformen wie Ultralytics HUB, die bei der Organisation von Datensätzen und Modellen helfen. In der Ultralytics und den Tutorials findest du weitere Informationen zur Modellnutzung, zum benutzerdefinierten Training und zur Vorverarbeitung von kommentierten Daten. Tools wie Featuretools können auch dabei helfen, Teile des Feature-Engineering-Prozesses zu automatisieren und sich an den Konzepten des Automated Machine Learning (AutoML) zu orientieren. Effektives Feature-Engineering ist auch neben leistungsfähigen Deep-Learning-Modellen ein wichtiger Aspekt erfolgreicher MLOps-Praktiken.