Feature Engineering
Entdecke Feature Engineering zur Verbesserung der Modellleistung. Erfahre, wie du mit Verfahren wie Skalierung und Augmentierung Ultralytics YOLO26 für höhere Genauigkeit optimierst.
Feature Engineering bezeichnet den Prozess, Rohdaten in aussagekräftige Eingaben umzuwandeln, die die Leistung von Machine-Learning-Modellen verbessern. Dabei wird Domänenwissen genutzt, um neue Variablen – sogenannte Features – auszuwählen, zu verändern oder zu erstellen, damit Algorithmen Muster in den Daten besser verstehen. Moderne Deep-Learning-Architekturen wie Faltungsneuronale Netze (CNNs) können Features zwar automatisch lernen, dennoch bleibt explizites Feature Engineering in vielen Arbeitsabläufen ein entscheidender Schritt, insbesondere bei strukturierten Daten oder wenn die Modelleffizienz auf Edge-Geräten optimiert werden soll. Durch die Verfeinerung der Eingabedaten können Entwickler häufig mit einfacheren Modellen eine höhere Genauigkeit erzielen und so den Bedarf an umfangreichen Rechenressourcen reduzieren.
Die Rolle von Feature Engineering in der KI#
Im Kontext der künstlichen Intelligenz (AI) sind Rohdaten nur selten sofort für die Verarbeitung geeignet. Bilder müssen möglicherweise in ihrer Größe angepasst werden, für Texte ist eventuell eine Tokenisierung erforderlich, und tabellarische Daten enthalten häufig fehlende Werte oder irrelevante Spalten. Feature Engineering schließt die Lücke zwischen Rohinformationen und den mathematischen Darstellungen, die Algorithmen benötigen. Effektives Feature Engineering kann wichtige Zusammenhänge hervorheben, die ein Modell andernfalls möglicherweise nicht erkennt, etwa indem „Entfernung“ und „Zeit“ zu einem „Geschwindigkeits“-Feature kombiniert werden. Dieser Prozess ist eng mit der Datenvorverarbeitung verbunden. Während sich die Vorverarbeitung jedoch auf das Bereinigen und Formatieren konzentriert, geht es beim Feature Engineering um eine kreative Erweiterung zur Verbesserung der Vorhersagekraft.
Im Bereich der Computer Vision hat sich Feature Engineering erheblich weiterentwickelt. Bei traditionellen Methoden wurden Deskriptoren wie die skaleninvariante Merkmalstransformation (SIFT) manuell erstellt, um Kanten und Ecken zu erkennen. Heute führen Deep-Learning-Modelle wie YOLO26 die automatische Merkmalsextraktion in ihren verborgenen Schichten durch. Dennoch spielt Feature Engineering weiterhin eine wichtige Rolle bei der Vorbereitung von Datensätzen, etwa beim Erzeugen synthetischer Daten oder beim Anwenden von Techniken zur Datenerweiterung wie Mosaiken und Mixups, um Modelle während des Trainings vielfältigeren und robusteren Merkmalen auszusetzen.
Gängige Techniken und Anwendungen#
Feature Engineering umfasst eine Vielzahl von Strategien, die auf das jeweilige Problem und den Datentyp zugeschnitten sind.
- Dimensionsreduktion: Techniken wie die Hauptkomponentenanalyse (PCA) reduzieren die Anzahl der Variablen und bewahren dabei wesentliche Informationen. Dadurch wird Überanpassung in hochdimensionalen Datensätzen verhindert.
- Kodierung kategorialer Variablen: Algorithmen benötigen in der Regel numerische Eingaben. Methoden wie die One-Hot-Kodierung wandeln kategoriale Bezeichnungen (z. B. „Rot“, „Blau“) in binäre Vektoren um, die Modelle verarbeiten können.
- Normalisierung und Skalierung: Durch die Skalierung von Features auf einen einheitlichen Wertebereich wird sichergestellt, dass Variablen mit größeren Größenordnungen (z. B. Hauspreise) nicht solche mit kleineren Wertebereichen (z. B. die Anzahl der Zimmer) dominieren. Dies ist für die gradientenbasierte Optimierung in neuronalen Netzen entscheidend.
- Gruppierung und Diskretisierung: Das Gruppieren kontinuierlicher Werte in Intervalle (z. B. Altersgruppen) kann Modellen helfen, Ausreißer effektiver zu verarbeiten und nichtlineare Zusammenhänge zu erfassen.
Beispiele aus der Praxis#
Feature Engineering wird in verschiedenen Branchen eingesetzt, um komplexe Probleme zu lösen.
-
Vorausschauende Instandhaltung in der Fertigung: In der intelligenten Fertigung erfassen Sensoren Rohdaten zu Vibrationen und Temperaturen von Maschinen. Ingenieure können Features erstellen, die beispielsweise die „Änderungsrate“ der Temperatur oder den „gleitenden Durchschnitt“ der Vibrationsintensität darstellen. Diese entwickelten Features ermöglichen es Modellen zur Anomalieerkennung, den Ausfall von Geräten Tage im Voraus vorherzusagen, anstatt nur auf aktuelle Sensormesswerte zu reagieren.
-
Bewertung des Kreditrisikos: Finanzinstitute nutzen Feature Engineering, um die Kreditwürdigkeit für Darlehen zu bewerten. Statt lediglich eine Rohgröße wie das „Einkommen“ zu betrachten, können sie beispielsweise eine „Schulden-Einkommens-Relation“ oder einen „Kreditauslastungsgrad“ ableiten. Diese abgeleiteten Features ermöglichen eine differenziertere Einschätzung der finanziellen Situation eines Kreditnehmers und damit eine genauere Risikoklassifizierung.
Codebeispiel: Benutzerdefinierte Merkmalserweiterung#
In der Computer Vision können wir Features durch die Erweiterung von Bildern so „entwickeln“, dass unterschiedliche Umgebungsbedingungen simuliert werden. Dadurch können Modelle wie YOLO26 besser verallgemeinern. Das folgende Beispiel zeigt, wie sich mit den Werkzeugen ultralytics eine einfache Graustufentransformation anwenden lässt. Dadurch wird das Modell gezwungen, strukturelle Merkmale zu lernen, statt sich ausschließlich auf Farben zu stützen.
import cv2
from ultralytics.data.augment import Albumentations
# Load an example image using OpenCV
img = cv2.imread("path/to/image.jpg")
# Define a transformation pipeline to engineer new visual features
# Here, we convert images to grayscale with a 50% probability
transform = Albumentations(p=1.0)
transform.transform = A.Compose([A.ToGray(p=0.5)])
# Apply the transformation to create a new input variation
augmented_img = transform(img)
# This process helps models focus on edges and shapes, improving robustnessAbgrenzung zu verwandten Begriffen#
Um Verwechslungen in Diskussionen über Arbeitsabläufe zu vermeiden, ist es hilfreich, Feature Engineering von ähnlichen Konzepten abzugrenzen.
- Feature Engineering vs. Merkmalsextraktion: Obwohl die Begriffe häufig synonym verwendet werden, gibt es einen feinen Unterschied. Feature Engineering bezeichnet einen manuellen, kreativen Prozess, bei dem auf Grundlage von Domänenwissen neue Eingaben erstellt werden. Merkmalsextraktion bezieht sich dagegen häufig auf automatisierte Methoden oder mathematische Projektionen (wie PCA), die hochdimensionale Daten in eine kompakte Darstellung überführen. Beim Deep Learning (DL) führen Schichten faltungsneuronaler Netze (CNNs) eine automatische Merkmalsextraktion durch, indem sie Filter für Kanten und Texturen lernen.
- Feature Engineering vs. Einbettungen: In der modernen Verarbeitung natürlicher Sprache (NLP) wurde die manuelle Erstellung von Features (z. B. das Zählen der Worthäufigkeit) größtenteils durch Einbettungen abgelöst. Einbettungen sind dichte Vektordarstellungen, die das Modell selbst lernt, um semantische Bedeutungen zu erfassen. Obwohl Einbettungen eine Form von Features sind, werden sie durch Verfahren des automatisierten maschinellen Lernens (AutoML) gelernt, statt manuell „entwickelt“ zu werden.
Wer Feature Engineering beherrscht, kann Modelle entwickeln, die nicht nur genauer, sondern auch effizienter sind und für eine hohe Leistung weniger Rechenleistung benötigen. Werkzeuge wie die Ultralytics Platform unterstützen diesen Prozess mit intuitiven Oberflächen für die Verwaltung von Datensätzen und das Training von Modellen, sodass du deine Feature-Strategien schnell iterieren kannst.









