Ein typischer Workflow für maschinelles Lernen (ML) 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 Zeit, Aufwand und Kenntnisse des ML-Prozesses. Mit dem Werkzeug Mit AutoML trainieren können Sie diesen 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 beschrieben.
Workflow des Werkzeugs "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 Spalten im Dataset fehlen möglicherweise Einträge. 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. Dies 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 besteht die Strategie darin, 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 jede Spalte im Dataset normalverteilt ist. 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 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 diesen 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 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 die Hyperparameter optimiert (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. Das am besten geeignete Modell könnte anhand seines Kennwerts identifiziert werden. Nach dem Trainieren von Regressions- und Klassifizierungsmodellen mit dem Werkzeug Mit AutoML trainieren werden verschiedene Modellkennwerte ausgegeben. Bei einigen Kennwerten steht ein hoher und bei anderen ein niedriger Wert für ein besseres Modell. Dies wird in der folgenden Tabelle zusammengefasst:
Modell Niedriger Wert (bestes Modell) Hoher Wert (bestes Modell) Regression
MSE, RMSE, MAE, MAPE
R2-, Spearman-, Pearson-Werte
Klassifizierung
Logloss
AUC, F1
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 sind, 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.
Im ML-Workflow gehört zu jedem Schritt ein gewisses Maß an menschlichen Beiträgen, Entscheidungsfindung und Auswahl.
- 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 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 der Prozess kann unübersichtlich und unproduktiv werden. 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 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 Triebfedern dieses Wachstums sind die Reife der ML-Algorithmen und -Methoden, die Erzeugung und Verbreitung von Datenmengen, von denen die Algorithmen lernen können, günstige 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 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 standardisieren, indem Werkzeuge entwickelt werden, mit denen ML überall in einer 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 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 den Computer die restlichen Aufgaben ausführen lassen. Sie benötigen kein detailliertes 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 die Analysten darauf konzentrieren, ihre Fachkenntnisse auf ein konkretes Geschäftsproblem oder eine Fachanwendung 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 von AutoML profitieren. Bei der Verwendung von AutoML müssen ML-Experten nicht so viel Zeit für die Unterstützung der Fachexperten in ihrer Organisation aufwenden und können sich auf ihre eigene, anspruchsvolle ML-Arbeit konzentrieren. AutoML kann zudem 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 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).
AutoML kann 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 sind. 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. Sie können 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 häufig zum Einsatz.
Die Standardisierung von ML bei Verwendung von AutoML innerhalb einer Organisation bietet 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.
Identifizieren des besten Modells
Gehen Sie folgendermaßen vor, um mit dem Werkzeug Mit AutoML trainieren das beste Modell zu identifizieren:
- Führen Sie einfache Algorithmen wie beispielsweise ein Entscheidungsbaum (ein einfacher Baum mit einer maximalen Tiefe von 4) und lineare Modelle aus.
Auf diese Weise können Sie die Daten und die zu erwartenden Ergebnisse schnell untersuchen.
- Trainieren Sie die im vorherigen Schritt ausgewählten Modelle mit Standardparametern. Führen Sie die Daten über eine Reihe komplexerer Algorithmen nur mit den standardmäßigen Hyperparametern aus.
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.
- Verwenden Sie die in Schritt 4 ermittelten optimalen Hyperparameter, um für jeden Algorithmus das am besten abschneidende Modell zu trainieren. Ermitteln Sie die unbedeutendsten Features, und entfernen Sie sie.
Die Ergebnisse der bis jetzt trainierten Modelle werden kombiniert. Die Modelle werden dann gestapelt, und die Ergebnisse der besten Modelle (einschließlich der gestapelten) werden kombiniert.
Erstellen eines Ensembles
Ein Ensemble ist eine Sammlung von Modellen, deren Vorhersagen mithilfe eines gewichteten Durchschnittes oder durch Abstimmen kombiniert werden.
Die häufigsten Strategien für die Ensemble-Erstellung sind Bagging (Random Forest ist ein 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 (Caruana et al. 2004) erwähnten werden verschiedene Modelle kombiniert.
Führen Sie die folgenden Schritte aus, um ein Ensemble zu erstellen:
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 hinzugefügt wurden.
- Geben Sie aus dem geschachtelten Ensemble-Satz das Ensemble mit der maximalen Performance für den Validierungssatz zurück.
Beim Stapeln von Modellen werden 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 eines jeden Basismodells 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.
Für eine bessere Performance können Sie Modell-Stapel erstellen und deren Ausgaben zu einem Ensemble-Stapel kombinieren.
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 anders (z. B. Logloss).
Der AutoML-Performance-Boxplot unten 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.
Das AutoML-Performance-Diagramm unten 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.
Die unten angezeigte Spearman-Korrelation wird 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.
In der Bestenliste können Sie auf den Link für eines der Modelle in der Spalte "Name" klicken, um zu einer Seite mit den Hyperparametern zu gelangen, 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 wurden die MAE-, MSE-, RMSE-, R2- und MAPE-Kennwerte für die Modellbewertung verwendet.
Der Scatterplot der tatsächlichen und vorausgesagten Ausgaben (für eine Stichprobe von 5.000 Datenpunkten) wird ebenfalls angezeigt.
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 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 im Ordner SHAP in GitHub. Die SHAP-Ausgabe ist nur mit der Option Basic verfügbar.
Im folgenden Diagramm 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 der Badezimmer und Schlafzimmer.
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":
Werkzeug "Mit AutoML vorhersagen"
Mit dem Werkzeug Mit AutoML vorhersagen werden kontinuierliche Variablen (Regression) oder Kategorievariablen (Klassifizierung) für nicht bekannte kompatible Datasets mithilfe eines trainierten DLPK-Modells vorhergesagt, das vom Werkzeug Mit AutoML trainieren erstellt wird.
Als Eingabe wird eine Esri Modelldefinitionsdatei (.emd) oder eine Deep-Learning-Paketdatei (.dlpk) verwendet, die mit dem Werkzeug Mit AutoML trainieren erstellt werden kann.
Einige der optionalen Ausgaben, die mit dem Werkzeug Mit AutoML vorhersagen generiert werden, werden ebenso wie die Vorhersage durch die folgenden Parameter und Felder definiert:
Erläuterung für jede Vorhersage erhalten: Dieser Parameter dient dazu, die Bedeutung der lokalen Variablen zu schätzen und ein maßstabsgetreu gezeichnetes Modell nachzuvollziehen. Wenn der Parameter aktiviert ist, wird die Bedeutung der lokalen Variablen für alle erklärenden Variablen, darunter erklärende Features, erklärende Raster und erklärende Entfernungs-Features, generiert. Zum Parameterwert Ausgabe-Vorhersage-Features wird ein Prozentwert für die erklärenden Variablen hinzugefügt, der für die Bedeutung der lokalen Variablen für die vorhergesagten Werte an der entsprechenden Position steht. Wenn beispielsweise zum Trainieren des Modells die Einflussvariablen var1, var2 und var3 verwendet werden – dies können Feature-Variablen, Raster oder Entfernungsvariablen sein – werden für jede Stichprobe im Wert Ausgabe-Vorhersage-Features die Felder var1_imp, var2_imp und var3_imp hinzugefügt:
Die Variablenbedeutung steht für die variierende Wichtigkeit der Einflussvariablen nach Position sowie die Stärke und Schwäche der Einflussvariablen auf lokale Vorhersagen. Dieser Parameter ist aktiv, wenn der Parameter Vorhersagetyp auf Feature vorhersagen eingestellt ist.var1_imp var2_imp var3_imp 0,26
0,34
0,40
0,75
0,15
0,10
- Konfidenzwert: Dieser Wert gibt das Konfidenzniveau des Modells für die durch das Modell zurückgegebene vorausgesagte Klasse an. Er ist nur bei Klassifizierungsproblemen verfügbar, wobei das Feld prediction_confidence zur Ausgabeattributtabelle hinzugefügt wird, das Werte von 0 bis 1 enthält. Diese stehen für das Spektrum der Wahrscheinlichkeit einer korrekten Klassifizierung (gering bis hoch). Anhand dieses Feldes können verlässliche und weniger verlässliche Vorhersagen identifiziert werden.
Referenzen
Caruana, Rich, Alexandru Niculescu-Mizil, Geoff Crew und Alex Ksikes. 2004 "Ensemble Selection from Libraries of Models". Proceedings of the 21st International Conference on Machine Learning. Banff, Canada. http://www.cs.cornell.edu/~alexn/papers/shotgun.icml04.revised.rev2.pdf.