Du hast Fragen? Wir haben Antworten! - Bald findet unser nächster Tag der offenen Tür statt!

Logo site

Feature Engineering: Definition und Bedeutung in Machine Learning

-
7
 Minuten Lesezeit
-
feature engineering

Beim Feature Engineering geht es darum, Merkmale aus Rohdaten zu extrahieren, um mithilfe von Machine Learning branchenspezifische Probleme zu lösen. Hier erfährst du alles, was du wissen musst: Definition, Algorithmen, Anwendungsfälle, Schulungen..

Künstliche Intelligenz wird immer häufiger in allen Bereichen eingesetzt. Damit ein Modell zur vorausschauenden Analyse sein volles Potenzial entfalten kann, muss es jedoch die ihm zur Verfügung stehenden Daten vollständig nutzen.

Um dies zu erreichen, ist es wichtig, den richtigen Algorithmus auszuwählen und die Machine-Learning-Modelle zu trainieren. In Wirklichkeit ist es am wichtigsten, das „Feature Engineering“ oder Merkmalsengineering zu verwenden.

Denn die Merkmale der Daten haben einen direkten Einfluss auf die Vorhersagemodelle und ihre Ergebnisse. Je besser die Merkmale vorbereitet und je sorgfältiger sie ausgewählt werden, desto genauer sind die Ergebnisse. Sie müssen die den Daten innewohnende Struktur beschreiben.

Im Allgemeinen hängen die Ergebnisse von dem gewählten Modell, den verfügbaren Daten und den vorbereiteten Merkmalen ab. Der Rahmen des Problems und die zur Schätzung der Genauigkeit verwendeten Messungen spielen ebenfalls eine wichtige Rolle.

Auch wenn ein Modell nicht optimal ist, lassen sich mit ihm gute Ergebnisse erzielen. Wichtig ist, gute Eigenschaften zu verwenden, damit weniger komplexe Modelle verwendet werden können, die schneller ausgeführt werden können und einfacher zu verstehen und zu warten sind.

Ebenso führt ein gutes  Feature Engineering zu guten Ergebnissen, auch wenn die gewählten Parameter nicht optimal sind. Es ist also nicht notwendig, nach dem besten Modell und den optimiertesten Parametern zu suchen, solange man die richtigen Merkmale hat.

Diese ermöglichen es, sich dem zugrunde liegenden Problem anzunähern und die Daten genau darzustellen. Aber was ist dann Feature Engineering?

 

💡Auch interessant:

Die Top 3 Machine Learning Algorithmen
Aversarial Examples im Machine Learning
Microsoft Azure Kurs Machine Learning
Underfitting im Machine Learning
Machine Learning Definition

 

Was ist Feature Engineering ?

Feature Engineering ist ein Prozess, bei dem Rohdaten in Merkmale umgewandelt werden, die das Problem, das dem Vorhersagemodell zugrunde liegt, genauer darstellen.

Vereinfacht gesagt geht es darum, Domänenwissen anzuwenden, um analytische Darstellungen aus den Rohdaten zu extrahieren und sie für Machine Learning vorzubereiten.

Dies ist der erste Schritt bei der Entwicklung eines prädiktiven Machine-Learning-Modells. Dadurch kann die Genauigkeit des Modells bei neuen, unbekannten Daten erhöht werden.

Wir erinnern daran, dass Machine-Learning-Algorithmen eine Lösung für ein Problem anhand von Beispieldaten lernen. Feature Engineering hilft also dabei, die beste Darstellung der Beispieldaten zu finden, um die Lösung des Problems zu lernen.

Dies ist sehr wichtig, da der Erfolg eines Projekts im Bereich künstliche Intelligenz oder Machine Learning oft von der Darstellung der Daten abhängt. Die Algorithmen müssen in der Lage sein, die „Inputs“ zu verstehen.

Feature Engineering beruht auf einer Reihe von genau definierten Verfahren und Methoden. Die zu verwendenden Verfahren variieren je nach Daten, und erst durch Erfahrung und Übung lernt man, welche man kontextabhängig anwenden muss.

Feature Engineering, so weit so gut.. Aber was ist eigentlich ein Feature ?

Daten werden in Tabellen in Zeilen dargestellt, während ihre Attribute und Variablen in Spalten dargestellt werden. Ein Attribut kann ein Merkmal sein.

Im Zusammenhang mit einem Problem ist ein Merkmal jedoch ein Attribut, das in Bezug auf dieses Problem nützlich oder relevant ist. Es ist ein wichtiger Teil einer Beobachtung, die darauf abzielt, mehr über die Struktur des modellierten Problems zu erfahren.

Wenn wir als Beispiel ein Problem der Computervision nehmen, ist ein Bild eine Beobachtung, während ein Merkmal eine Linie in diesem Bild sein könnte.

Bei der natürlichen Sprachverarbeitung könnte die Beobachtung ein Dokument sein, während ein Merkmal ein Satz oder ein Wort in diesem Dokument sein könnte. Bei der Spracherkennung kann eine vollständige Rede eine Beobachtung sein, während ein einzelnes Wort ein Merkmal sein kann.

Die verschiedenen Ansätze des Feature Engineering

Feature Engineering ist kein einheitlicher Prozess. Es gibt viele verschiedene Ansätze, und welcher Ansatz der richtige ist, hängt von dem spezifischen Teilproblem ab, das man zu lösen versucht.

Bei der „Feature Importance“ geht es darum, den Nutzen eines Merkmals objektiv einzuschätzen. Dies kann bei der Auswahl von Merkmalen hilfreich sein. Jedes Merkmal erhält eine Punktzahl, so dass sie entsprechend ihrer Punktzahl eingestuft werden können.

Diejenigen mit der höchsten Punktzahl können ausgewählt werden, um in den Datensatz aufgenommen zu werden.

Diese Wichtigkeitsbewertung kann auch verwendet werden, um neue Merkmale zu extrahieren oder zu konstruieren, die ähnlich sind, sich aber von den bereits als nützlich eingestuften unterscheiden. Im Allgemeinen kann ein Merkmal als wichtig eingestuft werden, wenn es hoch mit der abhängigen Variablen, d. h. dem vorherzusagenden Element, korreliert ist.

Normalerweise werden Korrelationskoeffizienten verwendet, um die Wichtigkeit eines Merkmals zu messen. Einige komplexere Algorithmen für prädiktive Modellierung nehmen diese Auswahl intern vor, während sie das Modell erstellen. Dies ist der Fall bei MARS-Algorithmen oder Random Forests.

Feature Extraction oder Merkmalsextraktion ermöglicht es, automatisch neue Merkmale aus den Rohdaten zu konstruieren. Dies ist sehr nützlich, wenn die Beobachtungen in ihrer Rohform zu umfangreich sind, um direkt durch prädiktive Algorithmen modelliert zu werden.

Als Beispiele können Text-, Audio- und Bilddaten genannt werden. Dies gilt auch für tabellarische Daten, die mit Millionen von Attributen versehen sind.

Das Ziel der Feature Extraction ist es, die Dimensionalität dieser Arten von Beobachtungen automatisch auf eine kleinere Menge zu reduzieren, um sie modellieren zu können. Dabei können Methoden wie die Hauptkomponentenanalyse oder das unüberwachte Clustering für tabellarische Daten oder die Kantenerkennung für Bilder verwendet werden.

Feature Selection oder Merkmalsauswahl ist eine weitere Methode, um Datenattribute zu entfernen, die im Kontext des zu lösenden Problems unnötig oder redundant sind. Bei diesem Ansatz wird automatisch die Teilmenge ausgewählt, die für die Lösung des Problems am nützlichsten ist.

Die Algorithmen können eine Methode wie Korrelation oder andere Feature-Importance-Methoden verwenden, um die Merkmale zu klassifizieren und auszuwählen. Eine andere, fortgeschrittenere Technik besteht darin, Modelle automatisch zu erstellen und zu bewerten, bis das für die Vorhersage am besten geeignete Modell gefunden ist.

Bei der Merkmalskonstruktion oder Feature Construction werden neue Merkmale manuell aus den Rohdaten konstruiert. Dazu ist es notwendig, die Probendaten zu strukturieren und sie den Algorithmen für die prädiktive Modellierung entsprechend dem zu lösenden Problem auszusetzen.

Bei tabellarischen Daten wird es z. B. darum gehen, Merkmale zu aggregieren und zu kombinieren, um neue Merkmale zu schaffen, oder umgekehrt, sie zu zerlegen. Diese Aufgabe erfordert viel Zeit und Überlegung, macht aber den Unterschied in der Leistung eines Machine-Learning-Modells aus.

Beim Feature Learning geht es darum, Merkmale in den Rohdaten automatisch zu identifizieren und zu verwenden, um die Notwendigkeit zu vermeiden, Merkmale manuell zu konstruieren oder zu extrahieren.

Dies wird durch die modernsten Methoden des Deep Learning ermöglicht. Beispiele hierfür sind Auto-Encoder oder eingeschränkte Boltzmann-Maschinen. Diesen Techniken gelingt es, abstrakte Darstellungen von Merkmalen auf unüberwachte oder halbüberwachte Weise automatisch zu erlernen.

Diese komprimierten Merkmalsdarstellungen können dann für die Spracherkennung, die Bildklassifizierung oder die Objekterkennung verwendet werden. Leider funktioniert dieser Ansatz als „Blackbox“ und erlaubt es nicht zu verstehen, wie die Repräsentationen gelernt wurden. Feature Engineering kann daher nicht vollständig automatisiert werden.

Der Prozess des Feature Engineering

Feature Engineering ist Teil des Machine-Learning-Prozesses. Nachdem ein Problem definiert wurde, geht es um die Auswahl und Aufbereitung der Daten. Die Daten werden gesammelt, aggregiert, bereinigt und formatiert, damit sie verwendet werden können.

Feature Engineering tritt während des Schritts auf, in dem die Daten von ihrem Rohzustand in einen für die Modellierung geeigneten Zustand umgewandelt werden. Vor diesem Schritt befinden sich die Daten in einem Format, das ihre Bearbeitung nicht zulässt.

Im weiteren Verlauf des Machine-Learning-Prozesses werden die Daten modelliert, indem Modelle erstellt, bewertet und konfiguriert werden. Der letzte Schritt ist die Präsentation der Ergebnisse. Jedes Mal, wenn neue Perspektiven in den Daten identifiziert werden, muss dieser Prozess in der gleichen Reihenfolge wiederholt werden.

Der Prozess des Feature Engineering ist also nicht unabhängig. Es handelt sich um einen iterativen Prozess, der eng mit der Datenauswahl und der Modellbewertung verbunden ist.

Je nach dem zu lösenden Problem werden die verschiedenen Methoden des Feature Engineering eingesetzt. Nach der Auswahl der geeigneten Merkmale wird die Genauigkeit des Modells bewertet, indem es anhand der gewählten Merkmale an neuen Daten getestet wird.

Es ist sehr wichtig, das Problem genau zu definieren, damit du verschiedene Modelle, Konfigurationen und Modellsätze ausprobieren kannst. Die Testmethode muss eine genaue Leistungsmessung ermöglichen.

Wozu dient das Feature Engineering ?

Feature Engineering kann für viele Zwecke eingesetzt werden. Es wird z. B. verwendet, um Attribute von Kategorien zu zerlegen, eine Date-Time zu zerlegen oder numerische Mengen zu beschneiden.

Hier sind einige konkrete Anwendungsbeispiele zum besseren Verständnis. Beim Machine-Learning-Wettbewerb KDD Cup 2010 mussten die Teilnehmer modellieren, wie Schüler lernen.

Ein Korpus von Schülerergebnissen zu Algebraproblemen wurde bereitgestellt und sollte verwendet werden, um die zukünftige Leistung dieser Schüler vorherzusagen. Die Gewinner des Wettbewerbs waren eine Gruppe von Studenten der National Taiwan University, denen es gelang, die Struktur des Problems mithilfe von Feature Engineering zu vereinfachen, indem sie Millionen von binären Merkmalen erzeugten.

Diese Struktur ermöglichte es dem Team, sehr einfache, aber hochleistungsfähige lineare Methoden zu verwenden, um das beste Vorhersagemodell zu erstellen. Nichtlineare Elemente wie die Zeitlichkeit wurden auf binäre Indikatoren reduziert. Eine Demonstration der Möglichkeiten, die binäre Indikatoren bieten.

Ein weiteres Beispiel ist der heritage health prize: Ein Preisgeld von drei Millionen US-Dollar für das Team, das vorhersagen kann, welche Patienten im nächsten Jahr ins Krankenhaus eingeliefert werden. Viele der Teilnehmer haben Feature Engineering verwendet.

 

Warum sollte man das Feature Engineering automatisieren ?

Feature Engineering ist ein iterativer Prozess, der viel Zeit, Ressourcen und technisches Fachwissen erfordert. Ein Data-Science-Team muss auch mit Experten aus dem Fachbereich zusammenarbeiten, um ihnen ML-Modelle zu liefern, die auf ihre Bedürfnisse zugeschnitten sind.

Die Automatisierung dieses Prozesses hat das Potenzial, die Data Science umzukrempeln. Sie vereinfacht den Zugang zu Machine Learning, macht die manuelle Erstellung von SQL-Abfragen überflüssig und beschleunigt Data-Science-Projekte auch ohne Fachkenntnisse. Dank der Automatisierung können Millionen von Hypothesen in wenigen Stunden erforscht werden.

Mit den AutoML-Produkten ist die Automatisierung des Feature Engineering nun möglich. Mit AutoML 2.0 kann die Dauer des gesamten Zyklus von den Rohdaten bis zur Entwicklung des Machine-Learning-Modells von mehreren Monaten auf wenige Tage reduziert werden. So können Data Science-Teams viele ML-Modelle liefern.

Wie kann man das Feature Engineering lernen ?

Feature Engineering ist das Herzstück der Data Science und des Machine Learning. Wenn du dich für einen DataScientest-Kurs entscheidest, kannst du lernen, diese Disziplin genauso zu beherrschen wie alle anderen Techniken und Werkzeuge der Datenwissenschaft.

Machine Learning ist ein wesentlicher Bestandteil unserer Programme für Data Scientists, Data Analysts und ML Engineers. Du lernst auch Python-Programmierung, Techniken zur Datenbankmanipulation, Deep Learning oder Data Visualization.

Unsere Kurse werden von Fachleuten konzipiert und gehen direkt auf die Bedürfnisse der Unternehmen ein. Die Lernenden erhalten ein von der Universität Sorbonne zertifiziertes Diplom, und 93 % von ihnen finden sofort einen Job.

Jeder unserer Kurse verfolgt einen innovativen Blended-Learning-Ansatz, der Fernunterricht und Präsenzveranstaltungen miteinander verbindet. Diese Kurse können als Weiterbildung oder im intensiven BootCamp-Modus absolviert werden.

Unsere Kurse können über deinen Bildungsgutschein finanziert werden. Entdecke jetzt unsere Data Science-Kurse!

DataScientest News

Melde Dich jetzt für unseren Newsletter an, um unsere Guides, Tutorials und die neuesten Entwicklungen im Bereich Data Science direkt per E-Mail zu erhalten.

Möchtest Du informiert bleiben?

Schreib uns Deine E-Mail-Adresse, damit wir Dir die neuesten Artikel zum Zeitpunkt der Veröffentlichung zusenden können!
icon newsletter

DataNews

Starte Deine Karriere im Bereich Data: Erhalte regelmäßig Insiderwissen und wertvolle Karrieretipps in Deinem Posteingang.