Da ein Modell nur so gut ist wie die Daten, auf denen es basiert, verbringen Data Scientists einen großen Teil ihrer Zeit mit der data preparation und der Erstellung von Funktionen, um qualitativ hochwertige Modelle zu erstellen. Abhängig von der Komplexität der Rohdaten und dem gewünschten Vorhersagemodell kann die Funktionsentwicklung viel Versuch und Irrtum erfordern.
Manche Quellen und Online-Tutorials gliedern die Funktionsentwicklung in einzelne Schritte, deren Anzahl und Namen in der Regel variieren. Diese Schritte können das Verstehen von Funktionen, die Strukturierung oder Konstruktion, Transformation, Bewertung, Optimierung und vieles mehr umfassen.4 Eine solche Schichtung kann zwar nützlich sein, um einen allgemeinen Überblick über die mit der Funktionsentwicklung verbundenen Aufgaben zu erhalten, aber sie suggeriert, dass die Funktionsentwicklung ein linearer Prozess ist. Tatsächlich ist die Entwicklung von Funktionen ein iterativer Prozess.
Die Funktionsentwicklung ist kontextabhängig. Es erfordert umfangreiche Datenanalysen und Fachkenntnisse. Denn die effektive Codierung für Funktionen kann durch die Art des verwendeten Modells, die Beziehung zwischen Prädiktoren und Output sowie durch das Problem, das ein Modell adressieren soll, bestimmt werden.5 Weil verschiedene Arten von Datensätzen, zum Beispiel Text im Vergleich zu Bildern, möglicherweise besser für verschiedene Funktionsentwicklungs-Techniken geeignet sind.6 Daher kann es schwierig sein, konkrete Aussagen darüber zu treffen, wie die Funktionsentwicklung am besten innerhalb eines bestimmten Algorithmus für maschinelles Lernen implementiert werden kann.