Entdecken Sie Feature Engineering, um die Modellleistung zu steigern. Lernen Sie Techniken wie Skalierung und Augmentation kennen, um Ultralytics für eine höhere Genauigkeit zu optimieren.
Feature Engineering ist der Prozess der Umwandlung von Rohdaten in aussagekräftige Eingaben, die die Leistung von Maschinellen Lernmodellen verbessern. Dabei wird Domänenwissen genutzt, um neue Variablen – sogenannte Features – auszuwählen, zu modifizieren oder zu erstellen, die Algorithmen dabei helfen, Muster in den Daten besser zu verstehen. Während moderne Deep-Learning-Architekturen wie Convolutional Neural Networks (CNNs) in der Lage sind, Merkmale automatisch zu lernen, bleibt explizites Feature Engineering in vielen Workflows ein wichtiger Schritt, insbesondere bei der Arbeit mit strukturierten Daten oder bei der Optimierung der Modelleffizienz auf Edge-Geräten. Durch die Verfeinerung der Eingabedaten können Entwickler oft mit einfacheren Modellen eine höhere Genauigkeit erzielen, wodurch der Bedarf an massiven Rechenressourcen reduziert wird.
Im Zusammenhang mit künstlicher Intelligenz (KI) sind Rohdaten selten sofort verarbeitungsfähig. Bilder müssen möglicherweise in ihrer Größe angepasst werden, Text muss möglicherweise tokenisiert werden, und tabellarische Daten enthalten oft fehlende Werte oder irrelevante Spalten. Feature Engineering schließt die Lücke zwischen Rohdaten und den für Algorithmen erforderlichen mathematischen Darstellungen. Effektives Engineering kann wichtige Zusammenhänge hervorheben, die einem Modell sonst möglicherweise entgehen würden, wie beispielsweise die Kombination von „Entfernung” und „Zeit” zur Erstellung einer „Geschwindigkeits”-Funktion. Dieser Prozess ist eng mit der Datenvorverarbeitung verbunden, aber während sich die Vorverarbeitung auf die Bereinigung und Formatierung konzentriert, geht es beim Feature Engineering um kreative Verbesserungen zur Steigerung der Vorhersagekraft.
Für Computer-Vision-Aufgaben hat sich das Feature Engineering erheblich weiterentwickelt. Bei herkömmlichen Methoden wurden manuell Deskriptoren wie Scale-Invariant Feature Transform (SIFT) erstellt, um Kanten und Ecken zu identifizieren. Heute führen Deep-Learning-Modelle wie YOLO26 eine automatisierte Merkmalsextraktion innerhalb ihrer verborgenen Schichten durch. Dennoch spielt das Engineering nach wie vor eine wichtige Rolle bei der Vorbereitung von Datensätzen, beispielsweise bei der Generierung synthetischer Daten oder der Anwendung von Datenvergrößerungstechniken wie Mosaiken und Mixups, um Modelle während des Trainings robusteren Merkmalsvariationen auszusetzen.
Feature Engineering umfasst eine Vielzahl von Strategien, die auf das jeweilige Problem und den Datentyp zugeschnitten sind.
Feature Engineering wird in verschiedenen Branchen eingesetzt, um komplexe Probleme zu lösen.
In der Bildverarbeitung können wir Merkmale „konstruieren“, indem wir Bilder ergänzen, um verschiedene Umgebungsbedingungen zu simulieren
. Dies hilft Modellen wie YOLO26 besser verallgemeinern.
Das folgende Beispiel zeigt, wie eine einfache Graustufentransformation mit
ultralytics Werkzeuge, die das Modell zwingen, strukturelle Merkmale zu lernen, anstatt sich ausschließlich auf
Farben zu verlassen.
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 robustness
Es ist hilfreich, Feature-Engineering von ähnlichen Konzepten zu unterscheiden, um Verwirrung in Workflow-Diskussionen zu vermeiden.
Durch die Beherrschung des Feature Engineering können Entwickler Modelle erstellen, die nicht nur genauer, sondern auch effizienter sind und weniger Rechenleistung benötigen, um eine hohe Leistung zu erzielen. Tools wie die Ultralytics erleichtern dies durch intuitive Schnittstellen für die Datenverwaltung und das Modelltraining, sodass Benutzer ihre Feature-Strategien schnell iterieren können.