vchalup - stock.adobe.com
Datenaufbereitung für maschinellen Lernen in sechs Schritten
Zuverlässige Analyseergebnisse hängen von den richtigen Daten ab. Datenwissenschaftler sollten folgende Schritte gehen, wenn sie Daten für maschinelles Lernen aufbereiten.
Die richtige Datenaufbereitung ist der erste Schritt in jedem KI- oder Machine-Learning-Projekt – und dieser ist oft zeitaufwendiger und komplexer als die Entwicklung der Machine-Learning-Algorithmen selbst. Eine vorausschauende Planung zur Rationalisierung und Verbesserung der Datenaufbereitung beim maschinellen Lernen kann im Nachhinein viel Arbeit ersparen. Sie kann außerdem zu genaueren und anpassungsfähigeren Algorithmen führen.
„Bei der Datenaufbereitung geht es darum, die benötigten Daten zu sammeln, sie in ein für den Computer lesbares und verständliches Format zu bringen und sie auf Vollständigkeit und Verzerrungen zu prüfen“, sagt Eli Finkelshteyn, Gründer und CEO von Constructor.io, einem Anbieter einer KI-gesteuerten Suchmaschine für Produkt-Websites.
Es ist verlockend, sich nur auf die Daten selbst zu konzentrieren, aber es ist eine gute Idee, zuerst das Problem zu betrachten, das man zu lösen versucht. Dies kann dazu beitragen, die Überlegungen darüber zu vereinfachen, welche Art von Daten zu sammeln sind, wie sichergestellt werden kann, dass sie für den beabsichtigten Zweck geeignet sind, und wie sie in das geeignete Format für einen bestimmten Algorithmus umgewandelt werden können.
Eine gute Datenaufbereitung kann zu präziseren und effizienteren Algorithmen führen und erleichtert es, sich neuen Analyseproblemen zuzuwenden, sich anzupassen, wenn die Modellgenauigkeit abweicht, und Datenwissenschaftlern und Geschäftsanwendern auf lange Sicht viel Zeit und Mühe zu sparen.
Die Bedeutung der Datenaufbereitung beim maschinellen Lernen
„Ein großartiger Datenwissenschaftler zu sein ist wie ein großartiger Koch“, sagt Donncha Carroll, Partner bei der Beratungsfirma Axiom Consulting Partners. „Um ein außergewöhnliches Gericht zu kreieren, muss man ein detailliertes Verständnis für jede einzelne Zutat entwickeln und überlegen, wie sie sich gegenseitig ergänzen, um ein ausgewogenes und unvergessliches Gericht zu kreieren.
Für einen Datenwissenschaftler schafft dieser Entdeckungsprozess das Wissen, das er braucht, um komplexere Beziehungen zu verstehen, um zu erkennen, was wichtig ist und was nicht, und um den Ansatz für die Datenaufbereitung zu entwickeln, der notwendig ist, um die Grundlage für ein großartiges ML-Modell zu schaffen.“
Manager müssen sich darüber im Klaren sein, dass Daten die Entwicklung von Anwendungen für maschinelles Lernen anders gestalten als die herkömmliche Softwareentwicklung. „Im Gegensatz zur traditionellen regelbasierten Programmierung besteht maschinelles Lernen aus zwei Teilen, die den endgültigen ausführbaren Algorithmus ausmachen: dem ML-Algorithmus selbst und den Daten, aus denen gelernt werden soll“, erklärt Felix Wick, Corporate Vice President of Data Science beim Anbieter der Supply-Chain-Management-Plattform Blue Yonder. „Aber die Rohdaten sind oft nicht bereit für die Verwendung in ML-Modellen. Daher ist die Datenaufbereitung das Herzstück von ML.“
Die Datenaufbereitung besteht aus mehreren Schritten, die mehr Zeit in Anspruch nehmen als andere Aspekte der Entwicklung von Machine-Learning-Anwendungen. Eine Studie von Anaconda, einem Anbieter von Data-Science-Plattformen, zeigt, dass Datenwissenschaftler durchschnittlich 22 Prozent ihrer Zeit für die Datenaufbereitung aufwenden, was mehr ist als die durchschnittliche Zeit, die für andere Aufgaben wie die Bereitstellung von Modellen, das Modelltraining und die Erstellung von Datenvisualisierungen aufgewendet wird.
Obwohl es sich um einen zeitintensiven Prozess handelt, müssen Datenwissenschaftler bei der Aufbereitung von Daten für maschinelles Lernen verschiedene Aspekte beachten. Nachfolgend sind sechs wichtige Schritte aufgeführt, die Teil des Prozesses sind.
1. Problemformulierung
Die Datenaufbereitung für die Entwicklung von Machine-Learning-Modellen ist weit mehr als nur das Bereinigen und Strukturieren von Daten. In vielen Fällen ist es hilfreich, sich zunächst von den Daten zu lösen und über das zugrunde liegende Problem nachzudenken, das man zu lösen versucht. „Um ein erfolgreiches ML-Modell zu erstellen“, rät Carroll, „müssen Sie ein detailliertes Verständnis des Problems entwickeln, damit Sie wissen, was Sie tun und wie Sie es tun.“
Beginnen Sie damit, Zeit mit den Menschen zu verbringen, die in dem Bereich tätig sind und ein gutes Verständnis des Problembereichs haben, fassen Sie zusammen, was Sie durch Gespräche mit ihnen erfahren, und nutzen Sie Ihre Erfahrungen, um eine Reihe von Hypothesen zu erstellen, die die beteiligten Faktoren und Kräfte beschreiben. Dieser einfache Schritt wird oft übersprungen oder zu wenig beachtet, so Carroll, obwohl er bei der Entscheidung, welche Daten erfasst werden sollen, einen großen Unterschied machen kann. Er kann auch nützliche Hinweise darauf geben, wie die Daten transformiert und für das Machine-Learning-Modell aufbereitet werden sollten.
Ein Axiom-Kunde aus der Rechtsbranche wollte zum Beispiel wissen, wie sich verschiedene Elemente der Dienstleistungserbringung auf die Kundenbindung und das Wachstum auswirken. Carrolls Team arbeitete mit den Anwälten zusammen, um die Hypothese zu entwickeln, dass Kunden, die von branchenerfahrenen Juristen betreut werden, zufriedener sind und länger als Kunden bleiben. Um diese Informationen in ein maschinelles Lernmodell einfließen zu lassen, untersuchten sie den Werdegang der einzelnen Fachleute und ermittelten anhand von Rechnungsdaten, wie viel Zeit sie mit der Betreuung von Kunden in dieser Branche verbrachten.
„Letztendlich“, so Carroll weiter, „wurde dies zu einem der wichtigsten Prädiktoren für die Kundenbindung und zu etwas, das wir niemals berechnet hätten, wenn wir uns nicht im Vorfeld die Zeit genommen hätten, zu verstehen, was wichtig ist und wie es wichtig ist.“
2. Datenerfassung und -entdeckung
Sobald ein Data-Science-Team das zu lösende Problem des maschinellen Lernens formuliert hat, muss es potenzielle Datenquellen innerhalb des Unternehmens und von externen Dritten inventarisieren. Bei der Datenerfassung muss nicht nur berücksichtigt werden, was die Daten darstellen sollen, sondern auch, warum sie erfasst wurden und was sie bedeuten, insbesondere wenn sie in einem anderen Kontext verwendet werden. Es ist auch wichtig, Faktoren zu berücksichtigen, die die Daten verfälscht haben können.
„Um Verzerrungen in Machine-Learning-Modellen zu reduzieren und abzuschwächen“, sagt Sophia Yang, Senior Data Scientist bei Anaconda, „müssen sich Datenwissenschaftler fragen, wo und wie die Daten erhoben wurden, um festzustellen, ob es signifikante Verzerrungen gab, die möglicherweise erfasst wurden.“ Um ein Machine-Learning-Modell zu trainieren, das beispielsweise das Kundenverhalten vorhersagt, muss man sich die Daten ansehen und sicherstellen, dass der Datensatz von verschiedenen Personen, geografischen Gebieten und Perspektiven erfasst wurde.
„Der wichtigste Schritt, der bei der Datenaufbereitung für maschinelles Lernen oft übersehen wird, ist das Stellen kritischer Fragen zu Daten, die ansonsten technisch korrekt aussehen“, sagt Finkelshteyn. Neben der Untersuchung von Verzerrungen empfiehlt er zu ermitteln, ob es Grund zu der Annahme gibt, dass wichtige fehlende Daten zu einem unvollständigen Bild der durchgeführten Analyse führen können. In einigen Fällen verwenden Analyseteams Daten, die technisch funktionieren, aber ungenaue oder unvollständige Ergebnisse liefern, und die Mitarbeiter, die die daraus resultierenden Modelle verwenden, bauen auf diesen fehlerhaften Erkenntnissen auf, ohne zu wissen, dass etwas nicht stimmt.
3. Datenexploration
Datenwissenschaftler müssen die Daten, mit denen sie arbeiten, in einem frühen Stadium des Prozesses vollständig verstehen, um Erkenntnisse über ihre Bedeutung und Anwendbarkeit zu gewinnen. „Ein häufiger Fehler ist es, sich in die Modellerstellung zu stürzen, ohne sich die Zeit zu nehmen, die Daten wirklich zu verstehen, die man sich zusammengesucht hat“, erklärt Carroll.
Datenexploration bedeutet, dass man zum Beispiel die Art und Verteilung der in den einzelnen Variablen enthaltenen Daten, die Beziehungen zwischen den Variablen und die Art und Weise, wie sie in Bezug auf das vorhergesagte oder angestrebte Ergebnis variieren, überprüft.
Dieser Schritt kann Probleme, wie zum Beispiel Kollinearität (Variablen, die sich gemeinsam bewegen) oder Situationen aufzeigen, in denen eine Standardisierung von Datensätzen und andere Datentransformationen erforderlich sind. Er kann auch Möglichkeiten zur Verbesserung der Modellleistung aufzeigen, zum Beispiel die Reduzierung der Dimensionalität eines Datensatzes.
Datenvisualisierungen können ebenfalls zur Verbesserung dieses Prozesses beitragen. „Dies mag wie ein zusätzlicher Schritt erscheinen, der nicht notwendig ist“, sagt Yang, „aber unser Gehirn ist gut darin, Muster zu erkennen, auch wenn die Daten nicht zum Muster passen.“ Datenwissenschaftler können Trends leicht erkennen und die Daten richtig untersuchen, indem sie geeignete Visualisierungen erstellen, bevor sie Schlussfolgerungen ziehen. Beliebte Tools zur Datenvisualisierung sind Tableau, Microsoft Power BI, D3.js und Python-Bibliotheken wie Matplotlib, Bokeh und der HoloViz-Stack.
4. Datenbereinigung und -validierung
Verschiedene Datenbereinigungs- und Validierungstechniken können Analyseteams dabei unterstützen, Inkonsistenzen, Ausreißer, Anomalien, fehlende Daten und andere Probleme zu identifizieren und zu beheben. Fehlende Datenwerte können beispielsweise häufig mit Imputations-Tools behoben werden, die leere Felder mit statistisch relevanten Ersatzwerten auffüllen.
Wick von Blue Yonder warnt jedoch, dass die semantische Bedeutung ein oft übersehener Aspekt fehlender Daten ist. In vielen Fällen kann es hilfreich sein, eine eigene Kategorie für die Erfassung der Bedeutung fehlender Werte einzurichten. In anderen Fällen können Teams in Erwägung ziehen, fehlende Werte ausdrücklich als neutral einzustufen, um ihre Auswirkungen auf Machine-Learning-Modelle zu minimieren.
Zur Bereinigung und Validierung von Daten für maschinelles Lernen und zur Sicherstellung einer guten Datenqualität kann eine breite Palette kommerzieller und Open Source Tools verwendet werden. Open-Source-Technologien wie Great Expectations und Pandera wurden beispielsweise entwickelt, um Daten-Frames zu validieren, die üblicherweise zur Organisation von Analysedaten in zweidimensionalen Tabellen verwendet werden. Auch Tools zur Validierung von Code und Datenverarbeitungsabläufen sind verfügbar. Eines davon ist pytest, mit dem Datenwissenschaftler laut Yang die Denkweise von Unit-Tests bei der Softwareentwicklung anwenden und manuell Tests für ihre Arbeitsabläufe schreiben können.
5. Datenstrukturierung
Sobald die Data-Science-Teams mit ihren Daten zufrieden sind, müssen sie die verwendeten Algorithmen für maschinelles Lernen berücksichtigen. Die meisten Algorithmen funktionieren beispielsweise besser, wenn die Daten in Kategorien, wie zum Beispiel Altersbereiche, unterteilt werden, anstatt sie als reine Zahlen zu belassen.
Zwei häufig vernachlässigte Tricks bei der Datenvorverarbeitung sind laut Wick Data Binning und die Glättung kontinuierlicher Merkmale. Diese Datenregulierungsmethoden können die Varianz eines Machine-Learning-Modells verringern, indem sie verhindern, dass es durch geringfügige statistische Schwankungen in einem Datensatz in die Irre geführt wird.
Das Binning von Daten in verschiedene Gruppen kann entweder auf äquidistante Weise erfolgen, mit der gleichen „Breite“ für jedes Bin, oder auf äquistatistische Weise, mit ungefähr der gleichen Anzahl von Stichproben in jedem Bin. Sie kann auch als Voraussetzung für die lokale Optimierung der Daten in jedes Bin dienen, um Machine-Learning-Modelle mit geringer Verzerrung zu erstellen.
Die Glättung kontinuierlicher Merkmale kann bei der „Entrauschung“ von Rohdaten helfen. Sie kann auch verwendet werden, um kausale Annahmen über den datenerzeugenden Prozess aufzustellen, indem Beziehungen in geordneten Datensätzen als monotone Funktionen dargestellt werden, die die Reihenfolge der Datenelemente beibehalten.
Zu den weiteren Maßnahmen, die Datenwissenschaftler bei der Strukturierung von Daten für maschinelles Lernen häufig ergreifen, gehören:
- Datenreduktion durch Techniken wie Attribut- oder Datensatz-Sampling und Datenaggregation
- Datennormalisierung, einschließlich Dimensionalitätsreduktion und Neuskalierung der Daten
- Erstellung getrennter Datensätze zum Trainieren und Testen von Modellen für maschinelles Lernen
6. Feature-Engineering und Feature-Auswahl
Die letzte Phase der Datenaufbereitung vor der Entwicklung eines Modells für maschinelles Lernen ist Feature-Engineering und Feature-Auswahl.
Wick sagte, dass das Feature-Engineering, bei dem neue Variablen hinzugefügt oder erstellt werden, um das Ergebnis eines Modells zu verbessern, die Hauptaufgabe von Datenwissenschaftlern ist und in verschiedenen Formen erfolgt. Beispiele hierfür sind die Extraktion der Wochentage oder anderer Variablen aus einem Datensatz, die Zerlegung von Variablen in separate Merkmale, die Aggregation von Variablen und die Umwandlung von Merkmalen auf der Grundlage von Wahrscheinlichkeitsverteilungen.
Datenwissenschaftler müssen sich auch mit der Auswahl von Merkmalen befassen, das heißt mit der Auswahl relevanter Merkmale für die Analyse und der Eliminierung nicht relevanter Merkmale. Viele Merkmale sehen zwar vielversprechend aus, führen aber zu Problemen wie einem verlängerten Modelltraining und einer Überanpassung, wodurch die Fähigkeit eines Modells, neue Daten genau zu analysieren, eingeschränkt wird. Methoden wie die Lasso-Regression und die automatische Relevanzbestimmung können bei der Auswahl von Merkmalen unterstützen.