Ein Projekt für maschinelles Lernen (ML) ist mit einem allgemeinen Prozess oder Workflow verknüpft. Ein typischer ML-Workflow beginnt mit dem Identifizieren des Geschäftsproblems und dem Formulieren der Problembeschreibung oder Frage. Darauf folgt eine Reihe von Schritten, zu denen Folgendes gehört: Vorbereitung (oder Vorverarbeitung) der Daten, Feature Engineering, Auswählen eines geeigneten Algorithmus und Modelltrainings, Hyperparameter-Optimierung und Modellbewertung. Dabei handelt es sich um einen iterativen Prozess, und das optimale Modell wird oft erst nach mehreren Iterationen und Experimenten erreicht.
Das für die Daten am besten geeignete Modell zu finden, erfordert viel Zeit, Aufwand und Kenntnisse des gesamten ML-Prozesses. Mit dem Werkzeug Mit AutoML trainieren können Sie diesen gesamten Workflow automatisieren und den besten Algorithmus mit den am besten für die Daten geeigneten Hyperparametern identifizieren. Diese Implementierung basiert auf einer Open-Source-Implementierung, die als mljar-supervised bezeichnet wird. In den folgenden Abschnitten werden die einzelnen Schritte des ML-Prozesses ausführlicher beschrieben.
Workflow für "Mit AutoML trainieren"
Mit dem Werkzeug Mit AutoML trainieren wird Folgendes automatisiert:
- Vorverarbeitung der Daten: Erfolgreiche ML-Projekte setzen die Erfassung von qualitativ hochwertigen Eingabedaten voraus, die sich auf das konkrete Problem beziehen. Diese Daten können aus verschiedenartigen Datenquellen stammen und müssen möglicherweise zusammengeführt werden. Nachdem die Daten erfasst und synthetisiert wurden, müssen sie bereinigt und von Rauschen befreit werden. Dadurch wird sichergestellt, dass ML-Algorithmen effektiv mit den Daten trainiert werden und aus ihnen lernen können. Dieser Schritt ist in der Regel zeitaufwendig und mühsam und erfordert möglicherweise detaillierte fachgebietsspezifische Kenntnisse und Erfahrung. Die Datenbereinigung kann die Identifizierung und Behandlung fehlender Werte, die Erkennung von Ausreißern, die Korrektur falsch beschrifteter Daten usw. umfassen, was alles einen erheblichen Zeit- und Arbeitsaufwand für die ML-Experten bedeuten kann. Nachfolgend sind diese Vorverarbeitungsschritte aufgeführt:
- Entfernen von Ausreißern: Ausreißer sind Datenpunkte, die keine Ähnlichkeit mit den restlichen Datenpunkten haben. Diese Ausreißer können durch Fehler bei der Dateneingabe oder durch Messfehler in Daten entstehen oder auf einer legitimen Unähnlichkeit beruhen. Unabhängig von der Ursache ist es wichtig, Ausreißer aus den Daten zu entfernen, da es durch sie leicht während der Trainingsphase zu Verwirrung des Modells kommt. Ausreißer werden häufig durch manuelles Korrigieren der Einträge oder Löschen der Einträge aus dem Dataset behandelt.
- Anrechnen fehlender Werte: In einigen der Spalten im Dataset fehlen möglicherweise Werte. Modelle für maschinelles Lernen können nicht mit Daten trainiert werden, in denen Einträge fehlen. Um sicherzustellen, dass im Dataset keine Einträge fehlen, füllen Sie die fehlenden Einträge mit gültigen Daten. Dieser Prozess wird als Datenimputation bezeichnet. Zum Füllen dieser fehlenden Einträge werden verschiedene Strategien verwendet, unter anderem Hinzufügen des am häufigsten vorkommenden Wertes oder eines neuen Wertes, um hervorzuheben, dass die Daten fehlen. Bei numerischen Daten kann die Strategie auch darin bestehen, den Mittelwert oder Medianwert aller Einträge in der Spalte mit fehlenden Daten zu verwenden. Zurzeit kann zu diesem Zweck das Werkzeug Fehlende Werte ausfüllen ausgeführt werden. Mit dem Werkzeug Fehlende Werte ausfüllen können Sie nicht nur eine Imputation mit einer globalen Statistik aus der Spalte ausführen, sondern auch räumliche Strategien wie lokale Nachbarn, Raum-Zeit-Nachbarn oder zeitliche Strategien wie Zeitserienwerte verwenden.
- Skalieren und Normalisieren der Daten: Eine der Kernannahmen beim Trainieren eines linearen Modells für maschinelles Lernen wie OLS (Residuen) besteht darin, dass die zu trainierenden Daten eine Normalverteilung, das heißt eine Glockenkurve, aufweisen.
Stellen Sie vor der Verwendung eines linearen Modells sicher, dass die einzelnen Spalten im Dataset normalverteilt sind. Wenn Spalten nicht normalverteilt sind, werden meist Transformationen auf die Daten angewendet, um sie in eine Normalverteilung zu konvertieren.
Stellen Sie sicher, dass alle Spalten im Dataset den gleichen Maßstab aufweisen, damit das Modell nicht Spalten mit größerem Maßstab stärker gewichtet. Hierzu werden Skalierungsmethoden auf das Dataset angewendet.
Die obigen Aussagen mögen zwar für lineare Modelle zutreffen, aber andere Algorithmen wie logistische Regression und insbesondere die baumbasierten Modelle wie Entscheidungsbaum, Extra Tree, Random Forest, XGBoost und LightGBM gehen nicht von einer Normalität aus und sind robuster bei Unterschieden im Maßstab, verzerrten Verteilungen usw.
- Konvertieren von Kategoriedaten in numerische Daten: Die meisten Modelle für maschinelles Lernen setzen voraus, dass die für das Training verwendeten Daten in Form von Zahlen vorliegen. Andere Datentypen können nicht verwendet werden. Konvertieren Sie nicht numerische Spalten wie State, Country, City oder Land cover category, Construction type, Dominant political party usw. in Zahlen. Zum Konvertieren von Kategoriedaten in Zahlen werden Methoden wie Encodierung von Beschriftungen und One-Hot-Encodierung verwendet.
- Feature Engineering und Feature-Auswahl: Die beim Training des Modells verwendeten Spalten werden als Features bezeichnet. Diese Features können für das Modell beim Lernen unterschiedlich nützlich sein. Einige der Features sind möglicherweise nicht nützlich. In diesem Fällen wird das Modell verbessert, wenn die Features aus dem Dataset entfernt werden.
Durch Vorgehensweisen wie rekursives Entfernen von Features und Verwenden von Features nach dem Zufallsprinzip kann der Nutzen von Features im Dataset ermittelt werden. Features, die bei diesen Vorgehensweisen nicht nützlich sind, werden im Allgemeinen entfernt.
In manchen Fällen kann das Modell durch Kombinieren mehrerer Features zu einem einzigen Feature verbessert werden. Dieser Prozess wird als Feature Engineering bezeichnet.
Neben den neuen Features, die durch Kombinieren mehrerer Features aus der Eingabe entstehen, erstellt das Werkzeug auch räumliche Features mit Namen von zone3_id bis zone7_id, wenn die Option Erweitert verwendet wird. Diese neuen Features werden generiert durch Zuweisen der Position von Eingabe-Trainings-Features zu mehreren (bis zu fünf) räumlichen Gittern verschiedener Größen und Verwenden der Gitter-IDs als unabhängige Kategorievariablen mit den Namen zone3_id bis zone7_id. Dadurch erhalten die Modelle relevante räumliche Informationen und können leichter aus den verfügbaren Daten lernen.
- Modelltraining und Modellauswahl: Im Modelltrainingschritt wählen die ML-Experten basierend auf dem Problem und den Merkmalen der Daten den geeigneten ML-Algorithmus aus. Dann beginnt der iterative Prozess des Trainings der Modelle, um sie an die Daten anzupassen. Dabei wird häufig mit vielen verschiedenen ML-Algorithmen experimentiert. Für die einzelnen Algorithmen können unterschiedliche Hyperparameter verwendet werden, die manuell von den ML-Experten angegeben werden und den Lernvorgang des Modells steuern. Anschließend werden diese Hyperparameter optimiert (das heißt angepasst), um die Performance des Algorithmus zu verbessern und bessere Ergebnisse. zu erzielen. Hier handelt es sich um einen iterativen Prozess, der Zeitaufwand und Fachkenntnisse der ML-Experten erfordert. Die verschiedenen Algorithmen oder statistischen Modelle umfassen lineare Regression und logistische Regression. Andere Modelle für maschinelles Lernen umfassen Entscheidungsbäume, Random Forests und die neueren Boosting-Modelle wie LightGBM und XGBoost. Obwohl LightGBM und XGBoost bei fast allen Datasets ein besseres Ergebnis liefern als die meisten anderen Modelle, lässt sich schwer vorhersagen, welche Modelle sich gut für ein bestimmtes Dataset eignen. Daher müssen Sie alle Modelle ausprobieren, um ihre Performance zu vergleichen, bevor Sie sich für das am besten für die Daten geeignete Modell entscheiden. Dies bedeutet, dass die Modelle niedrige MSE-, RMSE-, MAE-, und MAPE-Werte für die Daten aufweisen müssen und im Fall von Regressionsproblemen hohe R2-, Spearman- und Pearson-Werte, einen möglichst niedrigen Logloss-Wert und bei Klassifizierungsproblemen hohe Werte für AUC und F-Maß.
In den meisten Fällen können Sie durch Kombinieren mehrerer Modelle zu einem Modell und Verwenden der Ausgabe dieses kombinierten Modells bessere Ergebnisse als mit einem einzigen Modell erzielen. Dieser Schritt wird als Modellzusammenstellung bezeichnet.
- Hyperparameter-Optimierung: Obwohl die meisten vorherigen Schritte iterativ waren, ist die Hyperparameter-Optimierung oft der schwierigste Schritt beim Trainieren von Modellen für maschinelles Lernen.
Hyperparameter können als zu jedem Modell gehörende Schalthebel betrachtet werden. Die Hyperparameter, die beim Trainieren eines Random-Forest-Modells verwendet werden, unterscheiden sich von denen, die zum Trainieren eines LightGBM-Modells verwendet werden. Wenn Sie sich mit diesen Hyperparametern vertraut machen, können Sie das Modell besser verstehen.
- Modellauswahl: Der letzte Schritt im ML-Workflow ist die Modellbewertung, bei der Sie sich vergewissern, dass der trainierte und optimierte ML-Algorithmus mit Daten, an die er nicht angepasst wurde, gute Generalisierungsergebnisse liefert. Diese nicht bekannten Daten werden oft als Validierungs- oder Testsatz bezeichnet und bleiben getrennt von den übrigen zum Trainieren des Modells verwendeten Daten. Mit diesem letzten Schritt soll sichergestellt werden, dass mit dem ML-Algorithmus bei neuen Daten eine akzeptable Vorhersagegenauigkeit erzielt wird.
Bei Betrachtung des gesamten ML-Workflows wird deutlich, dass zu jedem Schritt ein gewisses Maß an menschlichen Beiträgen, Entscheidungsfindung und Auswahl gehört.
- Wurden die richtigen Daten für die Behandlung des Problems gesammelt und reichen sie aus?
- Was kennzeichnet im Kontext der Daten einen Ausreißer?
- Wenn Werte fehlen, wie sollen sie ersetzt werden?
- Welche Features sollten im ML-Modell enthalten sein?
- Welcher ML-Algorithmus sollte verwendet werden?
- Welches Performance-Level ist für das Modell akzeptabel?
- Wie sieht die beste Kombination aus Hyperparametern für ein bestimmtes Modell aus?
Allein bei der letzten Entscheidung können potenziell Hunderte oder sogar Tausende von Kombinationen aus Hyperparametern, die durchlaufen werden können, beteiligt sein. Ergänzen Sie einige unterschiedliche Feature-Engineering-Szenarien sowie das Training und die Optimierung verschiedener ML-Algorithmen, und schon wird der gesamte Prozess unübersichtlich und unproduktiv. Darüber hinaus erfordern einige der Schritte des ML-Workflows technisches Expertenwissen bezüglich Data-Science-Methoden, Statistiken und Algorithmen für maschinelles Lernen. Daher kann das Entwerfen und Durchführen von ML-Projekten zeitaufwendig, arbeitsintensiv, kostspielig und oft in hohem Maß von geschulten ML-Experten und Data Scientists abhängig sein.
Im letzten Jahrzehnt hatte maschinelles Lernen ein rasches Wachstum zu verzeichnen, und zwar sowohl im Hinblick auf die Anwendungsbereiche als auch auf die Anzahl der neuen Forschungsarbeiten auf diesem Gebiet. Einige der wichtigsten Triebfedern dieses Wachstums sind die Reife der ML-Algorithmen und -Methoden selbst, die Erzeugung und Verbreitung enormer Datenmengen, von denen die Algorithmen lernen können, der Überfluss an günstiger Rechenleistung zum Ausführen der Algorithmen sowie das zunehmende Bewusstsein in Unternehmen, dass mit ML-Algorithmen komplexe Datenstrukturen und Probleme bewältigt werden können.
Viele Organisationen möchten mithilfe von ML ihre Daten nutzen und verwertbare Erkenntnisse aus ihnen gewinnen. Jedoch besteht eine Diskrepanz zwischen der Anzahl der potenziellen ML-Anwendungen und der Anzahl der dafür benötigten geschulten ML-Experten. Daher wird zunehmend gefordert, ML organisationsübergreifend zu demokratisieren, indem Werkzeuge entwickelt werden, mit denen ML überall in der Organisation zugänglich ist und von Nicht-ML-Experten und Fachexperten direkt verwendet werden kann.
In der letzten Zeit ist automatisiertes maschinelles Lernen (AutoML) als Möglichkeit hervorgetreten, den enormen Bedarf an ML in Organisationen unabhängig von Erfahrungs- und Kenntnisniveau zu decken. AutoML zielt darauf ab, ein einziges System für die weitestgehende Automatisierung (d. h. das Eliminieren der menschlichen Beiträge) des ML-Workflows einschließlich Datenvorbereitung, Feature Engineering, Modellauswahl, Hyperparameter-Optimierung und Modellbewertung zu schaffen. Dadurch können sowohl Nichtexperten profitieren, da die Hemmschwelle für die Nutzung von ML gesenkt wird, als auch geschulte ML-Experten, da einige der mühsamsten und zeitaufwendigsten Schritte des ML-Workflows entfallen.
AutoML für Nicht-ML-Experten (GIS-Analysten, Business-Analysten oder Datenanalysten, die Fachexperten sind): Der wesentliche Vorteil der Verwendung von AutoML besteht darin, dass einige der Schritte des ML-Workflows entfallen, die das höchste Maß an technischen Kenntnissen und technischem Verständnis erfordern. Analysten, die Fachexperten sind, können ihr Geschäftsproblem definieren, die entsprechenden Daten erfassen und dann den Computer lernen lassen, wie die restlichen Aufgaben ausgeführt werden. Sie benötigen kein umfassendes Verständnis von Data-Science-Methoden für Datenbereinigung und Feature Engineering, sie müssen nicht wissen, was alle die ML-Algorithmen bewirken, und sie müssen keine Zeit dafür aufwenden, verschiedene Algorithmen und Hyperparameterkonfigurationen zu erkunden. Stattdessen können sich diese Analysten darauf konzentrieren, ihre Fachkenntnisse auf ein konkretes Geschäftsproblem oder eine Fachanwendung und nicht auf den ML-Workflow selbst anzuwenden. Außerdem gewinnen sie Unabhängigkeit von geschulten Data Scientists und ML-Ingenieuren innerhalb ihrer Organisation, da sie selbst, oft ohne Programmiererfahrung, erweiterte Modelle erstellen und nutzen können.
AutoML für ML-Experten (Data Scientists oder ML-Ingenieure): ML-Experten können ebenfalls in hohem Maß von AutoML profitieren, auch wenn die Gründe möglicherweise weniger offensichtlich sind. Zum einen müssen ML-Experten nicht so viel Zeit für die Unterstützung der Fachexperten in ihrer Organisation aufwenden und können sich daher auf ihre eigene, anspruchsvollere ML-Arbeit konzentrieren. Was die ML-Projekte der ML-Experten angeht, so kann AutoML eine erhebliche Zeitersparnis und Produktivitätssteigerung bewirken. Ein großer Teil der zeitaufwendigen Schritte des ML-Workflows wie beispielsweise Datenbereinigung, Feature Engineering, Modellauswahl und Hyperparameter-Optimierung kann automatisiert werden. Die Zeitersparnis durch die Automatisierung vieler dieser sich wiederholenden explorativen Schritte kann für anspruchsvollere technische Aufgaben genutzt werden oder für Aufgaben, die mehr menschliche Beiträge erfordern (zum Beispiel Zusammenarbeit mit Fachexperten, Verständnis des Geschäftsproblems oder Interpretation der ML-Ergebnisse).
Neben dem Aspekt der Zeitersparnis kann AutoML auch dazu beitragen, die Produktivität von ML-Experten zu steigern, da ein Teil der am ML-Workflow beteiligten subjektiven Entscheidungen und Experimente entfällt. Beispielsweise können ML-Experten, die an einem neuen Projekt arbeiten, entsprechend geschult sein und über die entsprechenden Kenntnisse verfügen, sodass sie wissen, welche neuen Features erstellt werden sollten, welcher ML-Algorithmus für ein bestimmtes Problem am besten geeignet ist und welche Hyperparameter optimal sein könnten. Sie übersehen jedoch möglicherweise bei der Ausführung des ML-Workflows die Erstellung bestimmter neuer Features oder probieren nicht alle möglichen Kombinationen von Hyperparametern aus. Außerdem verursachen die ML-Experten möglicherweise bei der Feature-Auswahl oder der Auswahl des Algorithmus eine Verzerrung, weil sie einen bestimmten ML-Algorithmus bevorzugen, mit dem sie bereits gearbeitet oder in anderen ML-Anwendungen positive Erfahrungen gemacht haben. Tatsächlich gibt es nicht den einen ML-Algorithmus, der für alle Datasets die besten Ergebnisse liefert. Einige ML-Algorithmen reagieren sensibler als andere auf die Auswahl der Hyperparameter, und viele Geschäftsprobleme haben unterschiedliche Komplexitätsgrade und Anforderungen an die Interpretierbarkeit der ML-Algorithmen, die zu ihrer Lösung verwendet werden. Mit AutoML kann diese Verzerrung durch menschliche Einwirkung reduziert werden, indem viele verschiedene ML-Algorithmen auf das gleiche Dataset angewendet werden und anschließend bestimmt wird, welcher ML-Algorithmus am besten abschneidet.
Für ML-Experten kann AutoML auch als Ausgangspunkt oder Benchmark in einem ML-Projekt dienen. Sie können AutoML nutzen, um automatisch ein Basislinienmodell für ein Dataset zu entwickeln, mit dem sie sich vorläufige Einblicke in ein bestimmtes Problem verschaffen können. Davon ausgehend können sie sich dafür entscheiden, bestimmte Features im Eingabe-Dataset hinzuzufügen oder zu entfernen, oder sich auf einen spezifischen ML-Algorithmus konzentrieren und seine Hyperparameter optimieren. In diesem Sinn kann AutoML als Methode zum Eingrenzen der anfänglichen Auswahlmöglichkeiten für geschulte ML-Experten gesehen werden, sodass diese sich darauf konzentrieren können, die Performance des ML-Systems insgesamt zu verbessern. Dieser Workflow, bei dem ML-Experten mithilfe von AutoML einen datenabhängigen Benchmark entwickeln, auf dessen Grundlage sie ihre Fachkenntnisse zur Optimierung und Verfeinerung der Ergebnisse einsetzen, kommt in der Praxis sehr häufig zum Einsatz.
Letztendlich bietet die Demokratisierung von ML über AutoML innerhalb einer Organisation folgende Vorteile: Fachexperten können ihre ganze Aufmerksamkeit dem Geschäftsproblem widmen und verwertbare Ergebnisse erzielen, mehr Analysten können bessere Modelle erstellen, und die Organisation muss weniger ML-Experten einstellen. Darüber hinaus kann sie die Produktivität geschulter ML-Experten und Data Scientists steigern, die ihre Fachkenntnisse dann gezielt bei den zahlreichen anderen Aufgaben anwenden können, bei denen sie am meisten benötigt werden.
Zusammengefasst identifiziert das Werkzeug Mit AutoML trainieren mit den folgenden Schritten das beste Modell:
- Es werden einfache Algorithmen wie beispielsweise ein Entscheidungsbaum (ein einfacher Baum mit einer maximalen Tiefe von 4) und lineare Modelle ausprobiert. Auf diese Weise können Sie die Daten und die zu erwartenden Ergebnisse schnell untersuchen.
- Die im oben beschriebenen AutoML-Schritt 1 ausgewählten Modelle werden mit Standardparametern trainiert. In diesem Schritt lassen Sie Ihre Daten verschiedene wesentlich komplexere Algorithmen durchlaufen und verwenden dabei nur die Standardhyperparameter. Für jeden Algorithmus und für alle verfügbaren Algorithmen wird eine Modellanpassung versucht. Zur Verfügung stehen die Algorithmen Linear, Random Forest, XGBoost, LightGBM, Entscheidungsbaum und Extra Tree.
- Führen Sie in den Hyperparametern der einzelnen Algorithmen eine Suche nach dem Zufallsprinzip durch, um die optimalen Hyperparameter zu finden.
- Erstellen Sie mithilfe von Golden Features neue Features. Bestimmen Sie, welche der neuen Features für Vorhersagen geeignet sind, und fügen Sie sie dem ursprünglichen Dataset hinzu. In diesem Schritt werden die besten im vorherigen Schritt identifizierten Hyperparameter verwendet.
- Dies ist der Feature-Auswahl-Schritt. Verwenden Sie die in Schritt 4 ermittelten optimalen Hyperparameter, um für jeden Algorithmus das am besten abschneidende Modell zu trainieren. Ermitteln Sie dann die unbedeutendsten Features, und entfernen Sie sie.
- Die Ergebnisse der bis jetzt trainierten Modelle werden zusammengestellt.
- Die Modelle werden gestapelt, und die Ergebnisse der besten Modelle (einschließlich der gestapelten) werden kombiniert.
Modell-Ensemble: Ein Ensemble ist eine Sammlung von Modellen, deren Vorhersagen mithilfe eines gewichteten Durchschnittes oder durch Abstimmen kombiniert werden.
Die am häufigsten verwendeten Strategien für die Ensemble-Erstellung sind Bagging (Random Forest ist ein klassisches Beispiel für Bagging) und Boosting (XGBoost ist ein Beispiel für Boosting), bei denen die Ausgaben der zu den gleichen Algorithmen gehörenden Modelle kombiniert werden. Bei neuen Methoden wie den unter Ensemble Selection from Libraries of Models von Caruana et al. erwähnten werden verschiedene Modelle kombiniert. Führen Sie zum Erstellen eines Ensembles die folgenden Schritte aus:
- Beginnen Sie mit dem leeren Ensemble.
- Fügen Sie das Modell aus der Bibliothek, mit dem die Performance des Ensembles maximiert wird, den Fehlerkennwerten für einen Validierungssatz hinzu.
- Wiederholen Sie den vorherigen Schritt mit einer festen Anzahl von Iterationen oder bis alle Modelle verwendet wurden.
- Geben Sie aus dem geschachtelten Ensemble-Satz das Ensemble mit der maximalen Performance für den Validierungssatz zurück.
Stapeln von Modellen: Beim Stapeln von Modellen werden auch die Ergebnisse mehrerer Modelle kombiniert und entsprechende Ergebnisse abgeleitet.
Während bei Ensemble-Methoden die Ergebnisse verschiedener Modelle mithilfe unterschiedlicher Gewichtung der Ausgaben kombiniert werden, werden beim Stapeln die Ausgaben der einzelnen Basismodelle als Features verwendet, denen ein Modell einer höheren Ebene (ein Metamodell) hinzugefügt wird. Die Ausgabe des Metamodells der höheren Ebene wird als endgültige Ausgabe verwendet.
Ensemble-Stapel: Zur Verbesserung der Performance werden Modell-Stapel erstellt, deren Ausgaben zu einem Ensemble-Stapel kombiniert werden.
Interpretieren der Ausgabeberichte
Das Werkzeug Mit AutoML trainieren kann als Ausgabe einen HTML-Bericht generieren.
Auf der Hauptseite des Berichts wird die Bestenliste angezeigt. Die gleichen Informationen sind auch im Ausgabefenster des Werkzeugs verfügbar.
In der Bestenliste werden die bewerteten Modelle und ihre Kennwerte angezeigt. Bei einem Regressionsproblem wird das Modell mit dem niedrigsten RMSE als das beste Modell angesehen (in diesem Fall das Ensemble-Modell). Für Klassifizierungsprobleme ist es jedoch anders (z. B. Logloss).
Der AutoML-Performance-Boxplot vergleicht den Auswertungskennwert von unterschiedlichen Modellen mit dem Auswertungskennwert (RMSE) auf der Y-Achse und Modellen auf der X-Achse, wie im Folgenden dargestellt. Der Boxplot zeigt, dass das beste Modell das Ensemble-Modell mit dem niedrigsten RMSE ist.
Dieses AutoML-Performance-Diagramm zeigt, wie der Auswertungskennwert für das Modell mit der besten Performance (in diesem Fall das Ensemble-Modell) zwischen unterschiedlichen Iterationen variiert. Mit dem Iterationsdiagramm können Sie besser verstehen, wie konsistent das Modell in unterschiedlichen Ausführungen des Modells ist.
Anschließend wird die Spearman-Korrelation für alle bewerteten Modelle generiert. Dabei werden die Modelle, die enger miteinander verbunden sind, in Blautönen angezeigt. Beispielsweise sind die Ausgaben von LightGBM und XGBoost am engsten miteinander verbunden (dies ist zu erwarten, da es sich bei beiden um Boosting-Algorithmen handelt). Die Ausgabe von LightGBM ähnelt im Vergleich zur Ausgabe von Extra Trees der Ausgabe von Random Forest.
Wenn Sie in der Bestenliste auf den Link für eines der Modelle in der Spalte "Name" klicken, gelangen Sie zu einer Seite mit Hyperparametern, die nach Abschluss der Hyperparameter-Optimierung für das Modelltraining finalisiert wurden. In diesem Beispiel wurde der Entscheidungsbaum mit dem max_depth-Wert 3 trainiert.
Auf der gleichen Seite werden außerdem neben dem für die Bewertung verwendeten Kennwert weitere Kennwerte angezeigt. Im folgenden Beispiel einer Regressionsaufgabe können Sie die MAE-, MSE-, R2- und MAPE-Kennwerte sowie den für die Modellbewertung verwendeten RMSE-Kennwert sehen.
Außerdem können Sie den Scatterplot tatsächlicher und vorhergesagter Ausgaben (hier für eine Stichprobe mit 5.000 Datenpunkten) sehen.
Mithilfe dieses Diagramms können Sie die Performance des Modells bestimmen. In den oben gezeigten Abbildungen werden die Scatterplots von zwei dem Bericht entnommenen Modellen verglichen. Das zweite Modell schneidet besser ab als das erste, bei dem die vorhergesagten und tatsächlichen Werte stärker voneinander abweichen.
Um die Modelle besser erklärbar zu machen, wird schließlich die Wichtigkeit der einzelnen Variablen im endgültigen Modell auch in den Bericht aufgenommen (vergleichbar mit der Feature-Wichtigkeit in Sklearn). Anders als Sklearn kann dieser Plot auch für Modelle ohne Bäume von Sklearn generiert werden. Diese Funktion der Modellerklärbarkeit für nicht baumbasierte Modelle wird auch von Shapley Additive Explanations (SHAP) angeboten.
SHAP ist ein Ansatz der Spieltheorie, um die Ausgabe eines Modells für maschinelles Lernen zu erklären. Es verbindet unter Verwendung der klassischen Shapley-Werte aus der Spieltheorie und deren zugehörigen Erweiterungen die optimale Credit-Zuweisung mit lokalen Erklärungen. Weitere Details zu SHAP und der Implementierung finden Sie hier. Die SHAP-Ausgabe ist nur mit der Option Basic verfügbar.
Im folgenden Plot können Sie den globalen Einfluss der einzelnen Variablen im Dataset zu Wohneinheiten auf das trainierte Modell visualisieren. Daraus geht hervor, dass das Feature sqft_living den größten Einfluss auf das Modell hat und beim Vorhersagen von Immobilienpreisen das wichtigste Feature darstellt, gefolgt von der Anzahl von bathrooms und bedrooms.
Mit der Option Basic können Sie auch den Bericht der automatischen explorativen Datenanalyse (EDA-Bericht) anzeigen, der Summenstatistiken für die Zielvariable und die zum Trainieren des Modells verwendeten Einflussvariablen druckt. Im Folgenden sehen Sie einen EDA-Beispielbericht für eine Variable namens "altclip.tif":
Referenzen
Caruana, Rich et al., "Ensemble Selection from Libraries of Models". Proceedings of the 21st International Conference on Machine Learning. Banff, Kanada (2004). http://www.cs.cornell.edu/~alexn/papers/shotgun.icml04.revised.rev2.pdf.