Mit AutoML trainieren (GeoAI)

Zusammenfassung

Mit diesem Werkzeug wird ein Deep-Learning-Modell trainiert, indem Training-Pipelines erstellt und ein Großteil des Trainingsprozesses automatisiert wird. Dazu gehören explorative Datenanalyse, Feature-Auswahl, Feature Engineering, Modellauswahl, Hyperparameter-Optimierung und Modelltraining. Die Ausgaben enthalten Performance-Kennwerte des besten Modells in den Trainingsdaten sowie das trainierte Deep-Learning-Modellpaket (.dlpk), das als Eingabe für das Werkzeug Mit AutoML vorhersagen verwendet werden kann, um Vorhersagen für ein neues Dataset zu treffen.

Weitere Informationen zur Funktionsweise von AutoML

Verwendung

  • Sie müssen das richtige Deep-Learning-Framework für Python in ArcGIS Pro installieren.

    Informationen zum Installieren von Deep-Learning-Frameworks für ArcGIS

  • Wie lange es dauert, bis das Werkzeug das trainierte Modell erstellt, hängt von den folgenden Faktoren ab:

    • Menge der beim Training bereitgestellten Daten
    • Wert des Parameters AutoML-Modus

    Standardmäßig ist der Timer für alle Modi auf 60 Minuten festgelegt. Unabhängig von der Menge der beim Training verwendeten Daten beansprucht die Suche nach dem optimalen Modell bei der Option Grundlegend nicht die gesamten 60 Minuten. Der Anpassungsprozess wird abgeschlossen, sobald das optimale Modell identifiziert ist. Die Option Erweitert beansprucht aufgrund der zusätzlichen Tasks Feature Engineering, Feature-Auswahl und Hyperparameter-Optimierung mehr Zeit. Neben den neuen Features, die durch Kombinieren mehrerer Features aus der Eingabe entstehen, erstellt das Werkzeug räumliche Features mit Namen von "zone3_id" bis "zone7_id". Diese neuen Features werden aus den Positionsinformationen in den Eingabedaten extrahiert und zum Trainieren besserer Modelle verwendet. Weitere Informationen zu den neuen räumlichen Features finden Sie unter Funktionsweise von AutoML. Wenn eine große Menge von Daten trainiert werden soll, können in 60 Minuten möglicherweise nicht alle Kombinationen der Modelle bewertet werden. In solchen Fällen wird das Modell, das in 60 Minuten am besten abschneidet, als optimales Modell betrachtet. Sie können entweder dieses Modell verwenden oder das Werkzeug mit einem höheren Wert für den Parameter Limit für Gesamtzeit (Minuten) erneut ausführen.

  • Eine ArcGIS Spatial Analyst extension-Lizenz ist erforderlich, um Raster als erklärende Variablen zu verwenden.

  • Der Wert des Parameters Ausgabebericht ist eine Datei im HTML-Format, mit deren Hilfe die Informationen im Arbeitsverzeichnis überprüft werden können.

    Die erste Seite des Berichts enthält Links zu den einzelnen bewerteten Modellen und gibt Aufschluss über ihre Performance bei Verwendung eines Validierungs-Datasets zusammen mit der Dauer des Trainings der Modelle. Der Bericht zeigt basierend auf den Bewertungskennwerten das ausgewählte Modell mit der besten Performance an.

    RMSE ist der Standardbewertungskennwert für Regressionsprobleme, während Logloss der Standardkennwert für Klassifizierungsprobleme ist. Die folgenden Kennwerte sind im Ausgabebericht verfügbar:

    • Klassifizierung: AUC, Logloss, F1, Accuracy, Average Precision
    • Regression: MSE, RMSE, MAE, R2, MAPE, Spearman-Koeffizient, Pearson-Koeffizient

    Wenn Sie auf eine Modellkombination klicken, werden zugehörige Details zum Training einschließlich der Lernkurven, der Variablenbedeutungskurven, der verwendeten Hyperparameter usw. angezeigt.

  • Anwendungsbeispiele für das Werkzeug wären das Trainieren eines auf Wetterfaktoren basierenden Modells für die jährliche Erzeugung von Sonnenenergie, das Trainieren eines Modells für Erntevorhersagen mithilfe zugehöriger Variablen und das Trainieren eines Modells für Vorhersagen von Immobilienwerten.

  • Weitere Informationen zu den Voraussetzungen für die Ausführung dieses Werkzeugs und eventuell dabei auftretenden Problemen finden Sie unter Häufig gestellte Fragen zu Deep Learning.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Trainings-Features

Die Eingabe-Feature-Class, die zum Trainieren des Modells verwendet wird.

Feature Layer; Table View
Ausgabemodell

Das trainierte Ausgabemodell, das als Deep-Learning-Paket (.dlpk-Datei) gespeichert wird.

File
Vorherzusagende Variable

Ein Feld aus dem Wert des Parameters Eingabe-Trainings-Features mit den Werten, die zum Trainieren des Modells verwendet werden. Dieses Feld enthält bekannte (Trainings-)Werte der Variablen, mit denen eine Vorhersage an unbekannten Positionen getroffen wird.

Field
Variable als kategorisch behandeln
(optional)

Gibt an, ob der Wert des Parameters Vorherzusagende Variable als Kategorievariable behandelt wird.

  • Aktiviert: Der Wert des Parameters Vorherzusagende Variable wird als Kategorievariable behandelt, es wird eine Klassifizierung vom Werkzeug vorgenommen.
  • Deaktiviert: Der Wert des Parameters Vorherzusagende Variable wird als kontinuierlich behandelt, es wird eine Regression vom Werkzeug vorgenommen. Dies ist die Standardeinstellung.

Boolean
Erklärende Trainingsvariablen
(optional)

Eine Liste der Felder, die erklärende Variablen darstellen und die Vorhersage des Wertes oder der Kategorie des Wertes des Parameters Vorherzusagende Variable unterstützen. Aktivieren Sie das zugehörige Kontrollkästchen für alle Variablen, die Klassen oder Kategorien darstellen (z. B. Landbedeckung, Anwesenheit oder Abwesenheit).

Value Table
Erklärende Trainings-Entfernungs-Features
(optional)

Die Features, deren Entfernungen von den Eingabe-Trainings-Features automatisch geschätzt und als weitere erklärende Variablen hinzugefügt werden. Entfernungen werden von den einzelnen erklärenden Trainings-Entfernungs-Features der Eingabe zu den nächsten Eingabe-Trainings-Features berechnet. Es werden Punkt- und Polygon-Features unterstützt, und wenn es sich bei den Eingabewerten für erklärende Trainings-Entfernungs-Features um Polygone handelt, werden die Entfernungsattribute als Entfernung zwischen den nächstgelegenen Segmenten des Feature-Paares berechnet.

Feature Layer
Erklärende Trainings-Raster
(optional)

Die Raster, deren Werte aus dem Raster extrahiert und als erklärende Variablen für das Modell behandelt werden. Jeder Layer bildet eine erklärende Variable. Der Wert der Raster-Zelle wird für jedes Feature in den Eingabe-Trainings-Features an der genauen Position extrahiert. Beim Extrahieren des Raster-Werts für kontinuierliche Raster wird bilineares Resampling verwendet. Beim Extrahieren eines Raster-Werts aus Kategorie-Rastern wird ein Nächster-Nachbar-Resampling durchgeführt. Wenn der Parameterwert Eingabe-Trainings-Features Polygone aufweist und Sie diesen Parameter angegeben haben, wird im Modell für jedes Polygon ein Raster-Wert verwendet. Jedem Polygon wird für kontinuierliche Raster der Durchschnittswert und für Kategorie-Raster die Mehrheit zugewiesen. Aktivieren Sie das Kontrollkästchen der Spalte Kategorisch für alle Raster, die Klassen oder Kategorien darstellen, z. B. Landbedeckung, Anwesenheit oder Abwesenheit.

Value Table
Limit für Gesamtzeit (Minuten)
(optional)

Das Limit für die Gesamtzeit des AutoML-Modelltrainings in Minuten. Der Standardwert lautet 60 (1 Stunde).

Double
AutoML-Modus
(optional)

Gibt das Ziel von AutoML und die Intensität der AutoML-Suche an.

  • Grundlegend"Grundlegend" wird verwendet, um die Signifikanz der verschiedenen Variablen und der Daten zu erklären. Feature Engineering, Feature-Auswahl und Hyperparameter-Optimierung werden nicht durchgeführt. Berichte enthalten vollständige Beschreibungen und Erklärungen für Lernkurven von Modellen, für baumbasierte Modelle generierte Feature-Wichtigkeits-Plots und SHAP-Plots für alle anderen Modelle. In diesem Modus beansprucht die Verarbeitung am wenigsten Zeit. Dies ist die Standardeinstellung.
  • Temporär"Temporär" wird zum Trainieren eines Modells verwendet, das in realen Anwendungsfällen verwendet wird. In diesem Modus wird eine 5-fache Kreuzvalidierung (CV) verwendet, und in den Berichten werden Lernkurven und Wichtigkeits-Plots ausgegeben. SHAP-Plots sind jedoch nicht verfügbar.
  • Erweitert"Erweitert" wird für Wettbewerbe in maschinellem Lernen (für maximale Performance) verwendet. In diesem Modus wird 10-fache Kreuzvalidierung (CV) verwendet, und es werden Feature Engineering, Feature-Auswahl und Hyperparameter-Optimierung ausgeführt. Eingabe-Trainings-Features werden basierend auf ihrer Position mehreren räumlichen Gittern verschiedener Größen zugewiesen, und die entsprechenden Gitter-IDs werden als zusätzliche erklärende Variablen dem Modell übergeben. Der Bericht enthält nur Lernkurven; Modellerklärbarkeit ist nicht verfügbar.
String
Algorithmen
(optional)

Gibt die Algorithmen an, die beim Training verwendet werden.

Standardmäßig werden alle Algorithmen verwendet.

  • LinearDer überwachte Algorithmus Lineare Regression wird zum Trainieren eines Regressionsmodells für maschinelles Lernen verwendet.Wenn nur der Algorithmus Linear angegeben wurde, stellen Sie sicher, dass die Gesamtzahl der Datensätze kleiner als 10.000 und die Anzahl der Spalten kleiner als 1.000 ist. Andere Modelle können größere Datasets verarbeiten, und es wird empfohlen, Linear mit anderen Algorithmen und nicht als einzigen Algorithmus zu verwenden.
  • Random TreesDer auf Entscheidungsbäumen basierende Random Trees-Algorithmus für überwachtes maschinelles Lernen wird verwendet. Er kann sowohl für Klassifizierung als auch für Regression verwendet werden.
  • XGBoostDer XGBoost-Algorithmus (Extreme Gradient Boosting) für überwachtes maschinelles Lernen wird verwendet. Er kann sowohl für Klassifizierung als auch für Regression verwendet werden.
  • LightGBMDer auf Entscheidungsbäumen basierende LightGBM-Ensemble-Algorithmus für Gradientenverstärkung wird verwendet. Er kann sowohl für Klassifizierung als auch für Regression verwendet werden. LightGBM ist für hohe Performance auf verteilten Systemen optimiert.
  • EntscheidungsbaumDer Entscheidungsbaum-Algorithmus für überwachtes maschinelles Lernen, der die Daten mithilfe der Antworten "true" oder "false" auf bestimmte Fragen klassifiziert oder regressiert, wird verwendet. Entscheidungsbäume sind leicht verständlich und unterstützen die Erklärbarkeit.
  • Extra TreeDer auf Entscheidungsbäumen basierende Extra Tree-Ensemble-Algorithmus (Extremely Randomized Trees) für überwachtes maschinelles Lernen wird verwendet. Dieser Algorithmus hat Ähnlichkeit mit Random Trees, ist jedoch manchmal schneller.
  • CatBoostEs wird der CatBoost-Algorithmus verwendet. Er verwendet Entscheidungsbäume für die Klassifizierung und die Regression. Bei dieser Option kann ohne Vorverarbeitung eine Kombination aus kategorischen und nicht kategorischen erklärenden Variablen verwendet werden.
Multivalue
Validierungsprozentsatz
(optional)

Der Prozentsatz der Eingabedaten, die für die Validierung verwendet werden sollen. Der Standardwert ist 10.

Long
Ausgabebericht
(optional)

Der Ausgabebericht, der als .html-Datei generiert wird. Wenn der angegebene Pfad nicht leer ist, wird der Bericht in einem neuen Ordner im angegebenen Pfad erstellt. Der Bericht enthält Details zu den verschiedenen Modellen sowie zu den bei der Bewertung verwendeten Hyperparametern und zur Performance der einzelnen Modelle. Hyperparameter sind Parameter, mit denen der Trainingsprozess gesteuert wird. Sie werden beim Training nicht aktualisiert. Zu ihnen gehören die Modellarchitektur, die Lernrate, die Anzahl der Epochen usw.

File
Ausgabetabelle zur Bedeutung
(optional)

Eine Ausgabetabelle mit Informationen zur Wichtigkeit der einzelnen im Modell verwendeten erklärenden Variablen (Felder, Entfernungs-Features und Raster).

Table
Ausgabe-Feature-Class
(optional)

Der Feature-Layer mit den Werten, die von dem beim Trainings-Feature-Layer am besten abschneidenden Modell vorhergesagt wurden. Er kann zum Überprüfen der Modell-Performance durch einen visuellen Vergleich der vorgesagten Werte mit den Überprüfungsdaten verwendet werden.

Feature Class

arcpy.geoai.TrainUsingAutoML(in_features, out_model, variable_predict, {treat_variable_as_categorical}, {explanatory_variables}, {distance_features}, {explanatory_rasters}, {total_time_limit}, {autoML_mode}, {algorithms}, {validation_percent}, {out_report}, {out_importance}, {out_features})
NameErläuterungDatentyp
in_features

Die Eingabe-Feature-Class, die zum Trainieren des Modells verwendet wird.

Feature Layer; Table View
out_model

Das trainierte Ausgabemodell, das als Deep-Learning-Paket (.dlpk-Datei) gespeichert wird.

File
variable_predict

Ein Feld aus dem Parameter in_features mit den Werten, die zum Trainieren des Modells verwendet werden. Dieses Feld enthält bekannte (Trainings-)Werte der Variablen, mit denen eine Vorhersage an unbekannten Positionen getroffen wird.

Field
treat_variable_as_categorical
(optional)

Gibt an, ob der Wert des Parameters variable_predict als Kategorievariable behandelt wird.

  • CATEGORICALDer Wert des Parameters variable_predict wird als Kategorievariable behandelt, es wird eine Klassifizierung vom Werkzeug vorgenommen.
  • CONTINUOUSDer Wert des Parameters variable_predict wird als kontinuierlich behandelt, es wird eine Regression vom Werkzeug vorgenommen. Dies ist die Standardeinstellung.
Boolean
explanatory_variables
[explanatory_variables,...]
(optional)

Eine Liste der Felder, die erklärende Variablen darstellen und die Vorhersage des Wertes oder der Kategorie des Wertes des Parameters variable_predict unterstützen. Übergeben Sie den Wert "True" ("'Name_der_Variablen',True") für alle Variablen, die Klassen oder Kategorien darstellen (z. B. Landbedeckung, Anwesenheit oder Abwesenheit).

Value Table
distance_features
[distance_features,...]
(optional)

Die Features, deren Entfernungen von den Eingabe-Trainings-Features automatisch geschätzt und als weitere erklärende Variablen hinzugefügt werden. Entfernungen werden von den einzelnen erklärenden Trainings-Entfernungs-Features der Eingabe zu den nächsten Eingabe-Trainings-Features berechnet. Es werden Punkt- und Polygon-Features unterstützt, und wenn es sich bei den Eingabewerten für erklärende Trainings-Entfernungs-Features um Polygone handelt, werden die Entfernungsattribute als Entfernung zwischen den nächstgelegenen Segmenten des Feature-Paares berechnet.

Feature Layer
explanatory_rasters
[explanatory_rasters,...]
(optional)

Die Raster, deren Werte aus dem Raster extrahiert und als erklärende Variablen für das Modell behandelt werden. Jeder Layer bildet eine erklärende Variable. Der Wert der Raster-Zelle wird für jedes Feature in den Eingabe-Trainings-Features an der genauen Position extrahiert. Beim Extrahieren des Raster-Werts für kontinuierliche Raster wird bilineares Resampling verwendet. Beim Extrahieren eines Raster-Werts aus Kategorie-Rastern wird ein Nächster-Nachbar-Resampling durchgeführt. Wenn der Parameterwert in_features Polygone aufweist und Sie diesen Parameter angegeben haben, wird im Modell für jedes Polygon ein Raster-Wert verwendet. Jedem Polygon wird für kontinuierliche Raster der Durchschnittswert und für Kategorie-Raster die Mehrheit zugewiesen. Übergeben Sie den Wert "true" mithilfe von "<name_of_raster> true" für alle Raster, die Klassen oder Kategorien darstellen, z. B. Landbedeckung, Anwesenheit oder Abwesenheit.

Value Table
total_time_limit
(optional)

Das Limit für die Gesamtzeit des AutoML-Modelltrainings in Minuten. Der Standardwert lautet 60 (1 Stunde).

Double
autoML_mode
(optional)

Gibt das Ziel von AutoML und die Intensität der AutoML-Suche an.

  • BASIC"Grundlegend" wird verwendet, um die Signifikanz der verschiedenen Variablen und der Daten zu erklären. Feature Engineering, Feature-Auswahl und Hyperparameter-Optimierung werden nicht durchgeführt. Berichte enthalten vollständige Beschreibungen und Erklärungen für Lernkurven von Modellen, für baumbasierte Modelle generierte Feature-Wichtigkeits-Plots und SHAP-Plots für alle anderen Modelle. In diesem Modus beansprucht die Verarbeitung am wenigsten Zeit. Dies ist die Standardeinstellung.
  • INTERMEDIATE"Temporär" wird zum Trainieren eines Modells verwendet, das in realen Anwendungsfällen verwendet wird. In diesem Modus wird eine 5-fache Kreuzvalidierung (CV) verwendet, und in den Berichten werden Lernkurven und Wichtigkeits-Plots ausgegeben. SHAP-Plots sind jedoch nicht verfügbar.
  • ADVANCED"Erweitert" wird für Wettbewerbe in maschinellem Lernen (für maximale Performance) verwendet. In diesem Modus wird 10-fache Kreuzvalidierung (CV) verwendet, und es werden Feature Engineering, Feature-Auswahl und Hyperparameter-Optimierung ausgeführt. Eingabe-Trainings-Features werden basierend auf ihrer Position mehreren räumlichen Gittern verschiedener Größen zugewiesen, und die entsprechenden Gitter-IDs werden als zusätzliche erklärende Variablen dem Modell übergeben. Der Bericht enthält nur Lernkurven; Modellerklärbarkeit ist nicht verfügbar.
String
algorithms
[algorithms,...]
(optional)

Gibt die Algorithmen an, die beim Training verwendet werden.

  • LINEARDer überwachte Algorithmus Lineare Regression wird zum Trainieren eines Regressionsmodells für maschinelles Lernen verwendet.Wenn nur der Algorithmus Linear angegeben wurde, stellen Sie sicher, dass die Gesamtzahl der Datensätze kleiner als 10.000 und die Anzahl der Spalten kleiner als 1.000 ist. Andere Modelle können größere Datasets verarbeiten, und es wird empfohlen, Linear mit anderen Algorithmen und nicht als einzigen Algorithmus zu verwenden.
  • RANDOM TREESDer auf Entscheidungsbäumen basierende Random Trees-Algorithmus für überwachtes maschinelles Lernen wird verwendet. Er kann sowohl für Klassifizierung als auch für Regression verwendet werden.
  • XGBOOSTDer XGBoost-Algorithmus (Extreme Gradient Boosting) für überwachtes maschinelles Lernen wird verwendet. Er kann sowohl für Klassifizierung als auch für Regression verwendet werden.
  • LIGHT GBMDer auf Entscheidungsbäumen basierende LightGBM-Ensemble-Algorithmus für Gradientenverstärkung wird verwendet. Er kann sowohl für Klassifizierung als auch für Regression verwendet werden. LightGBM ist für hohe Performance auf verteilten Systemen optimiert.
  • DECISION TREEDer Entscheidungsbaum-Algorithmus für überwachtes maschinelles Lernen, der die Daten mithilfe der Antworten "true" oder "false" auf bestimmte Fragen klassifiziert oder regressiert, wird verwendet. Entscheidungsbäume sind leicht verständlich und unterstützen die Erklärbarkeit.
  • EXTRA TREEDer auf Entscheidungsbäumen basierende Extra Tree-Ensemble-Algorithmus (Extremely Randomized Trees) für überwachtes maschinelles Lernen wird verwendet. Dieser Algorithmus hat Ähnlichkeit mit Random Trees, ist jedoch manchmal schneller.
  • CATBOOSTEs wird der CatBoost-Algorithmus verwendet. Er verwendet Entscheidungsbäume für die Klassifizierung und die Regression. Bei dieser Option kann ohne Vorverarbeitung eine Kombination aus kategorischen und nicht kategorischen erklärenden Variablen verwendet werden.

Standardmäßig werden alle Algorithmen verwendet.

Multivalue
validation_percent
(optional)

Der Prozentsatz der Eingabedaten, die für die Validierung verwendet werden sollen. Der Standardwert ist 10.

Long
out_report
(optional)

Der Ausgabebericht, der als .html-Datei generiert wird. Wenn der angegebene Pfad nicht leer ist, wird der Bericht in einem neuen Ordner im angegebenen Pfad erstellt. Der Bericht enthält Details zu den verschiedenen Modellen sowie zu den bei der Bewertung verwendeten Hyperparametern und zur Performance der einzelnen Modelle. Hyperparameter sind Parameter, mit denen der Trainingsprozess gesteuert wird. Sie werden beim Training nicht aktualisiert. Zu ihnen gehören die Modellarchitektur, die Lernrate, die Anzahl der Epochen usw.

File
out_importance
(optional)

Eine Ausgabetabelle mit Informationen zur Wichtigkeit der einzelnen im Modell verwendeten erklärenden Variablen (Felder, Entfernungs-Features und Raster).

Table
out_features
(optional)

Der Feature-Layer mit den Werten, die von dem beim Trainings-Feature-Layer am besten abschneidenden Modell vorhergesagt wurden. Er kann zum Überprüfen der Modell-Performance durch einen visuellen Vergleich der vorgesagten Werte mit den Überprüfungsdaten verwendet werden.

Feature Class

Codebeispiel

TrainUsingAutoML (Python-Fenster)

In diesem Beispiel wird die Verwendung der Funktion TrainUsingAutoML gezeigt.


# Name: TrainUsingAutoML.py
# Description: Train a machine learning model on feature or tabular data with
# automatic hyperparameter selection.
  
# Import system modules
import arcpy
import os

# Set local variables

datapath  = "path_to_data" 
out_path = "path_to_trained_model"

in_feature = os.path.join(datapath, "train_data.gdb", "name_of_data")
out_model = os.path.join(out_path, "model.dlpk")

# Run Train Using AutoML Model
arcpy.geoai.TrainUsingAutoML(in_feature, out_model, "price", None, 
                             "bathrooms #;bedrooms #;square_fee #", None, None, 
                             60, "BASIC")

Lizenzinformationen

  • Basic: Nein
  • Standard: Nein
  • Advanced: Ja

Verwandte Themen