Forest-basierte Klassifizierung und Regression (Spatial Statistics)

Zusammenfassung

Erstellt Modelle und generiert Vorhersagen mithilfe einer Adaption des "Random Forest"-Algorithmus, einer Methode für überwachtes maschinelles Lernen von Leo Breiman. Vorhersagen können sowohl für Kategorievariablen (Klassifizierung) als auch für kontinuierliche Variablen (Regression) getroffen werden. Erklärende Variablen können Felder in der Attributtabelle der Trainings-Features, Raster-Datasets und Entfernungs-Features sein, die verwendet werden, um Nachbarschaftswerte als zusätzliche Werte zu berechnen. Abgesehen von der Validierung der Modell-Performance auf Grundlage der Trainingsdaten können Vorhersagen für Features oder ein Vorhersage-Raster getroffen werden.

Weitere Informationen zur Funktionsweise von Forest-basierter Klassifizierung und Regression

Abbildung

Forest-Modellschema

Verwendung

  • Mit diesem Werkzeug werden Hunderte von Strukturen erstellt, die als Sammlung von Entscheidungsstrukturen bezeichnet werden, um ein Modell für die Vorhersage zu generieren. Jede Entscheidungsstruktur wird mit zufällig generierten Teilen der ursprünglichen (Trainings-)Daten erstellt. Jede Struktur generiert eine eigene Vorhersage und hat eine Stimme bei Ergebnisabstimmung. Bei dem Forest-Modell werden die Stimmen aller Entscheidungsstrukturen berücksichtigt, um das Ergebnis einer unbekannten Stichprobe vorherzusagen oder zu klassifizieren. Dies ist wichtig, da bei einzelnen Strukturen Probleme durch eine Überanpassung eines Modells entstehen können; die Kombination mehrerer Strukturen in einem Forest löst jedoch dieses Problem der Überanpassung.

  • Dieses Werkzeug kann in drei verschiedenen Vorgangsmodi verwendet werden. Mit der Option Trainieren kann die Performance verschiedener Modelle beim Erkunden unterschiedlicher erklärender Variablen und Werkzeugeinstellungen ausgewertet werden. Nachdem Sie ein gutes Modell gefunden haben, können Sie die Option Features vorhersagen oder Raster vorhersagen verwenden. Dieses Werkzeug ist datenabhängig und eignet sich am besten für große Datasets. Für ein optimales Ergebnis sollte es mit mindestens mehreren hundert Features trainiert werden. Für kleine Datasets ist dieses Werkzeug nicht geeignet.

  • Bei den Eingabe-Trainings-Features kann es sich um Punkte oder Polygone handeln. Dieses Werkzeug funktioniert nicht mit Multipart-Daten.

  • Um Raster als erklärende Variablen zu verwenden oder eine Vorhersage für eine Ausgabe-Vorhersageoberfläche zu treffen, ist eine Spatial Analyst-Lizenz erforderlich.

  • Von diesem Werkzeug werden verschiedene Ausgaben erzeugt. Trainierte Ausgabe-Features enthält alle im erstellten Modell verwendeten Eingabe-Trainings-Features sowie alle im Modell verwendeten erklärenden Variablen (einschließlich der verwendeten Eingabefelder, berechneten Entfernungen und extrahierten oder berechneten Raster-Werte). Auch die Vorhersagen für alle Features, die zum Trainieren des Modells verwendet wurden, sind darin enthalten. Dies kann bei der Bewertung der Performance des erstellten Modells hilfreich sein. Bei der Verwendung dieses Werkzeugs wird entweder eine neue Feature-Class mit den vorhergesagten Ausgabe-Features oder eine neue vorhergesagte Ausgabe-Oberfläche erzeugt, wenn erklärende Raster angegeben werden.

  • Bei Verwendung der Option Features vorhersagen wird eine neue Feature-Class mit den vorhergesagten Ausgabe-Features erstellt. Bei Verwendung der Option Raster vorhersagen wird eine neue vorhergesagte Ausgabe-Oberfläche erstellt.

  • Mit diesem Werkzeug werden auch Meldungen und Diagramme erstellt, mit denen Sie die Performance des erstellten Modells besser verstehen. Sie können auf diese Meldungen zugreifen, indem Sie mit der Maus auf die Fortschrittsleiste zeigen, auf die Pop-out-Schaltfläche klicken oder den Abschnitt "Meldungen" im Bereich Geoverarbeitung erweitern. Sie können über den Geoverarbeitungsverlauf auch auf die Meldungen einer vorherigen Ausführung des Werkzeugs Forest-basierte Klassifizierung und Regression zugreifen. Die Meldungen enthalten Informationen zu den Modelleigenschaften, Out-of-Bag-Fehlern, der Variablenbedeutung und Validierungsdiagnosen.

    Mit dem Parameter Ausgabetabelle zur Variablenbedeutung können Sie eine Tabelle erstellen, um ein Diagramm der Variablenbedeutung für die Auswertung anzuzeigen. Die höchsten 20 Werte für die Variablenbedeutung werden auch im Meldungsfenster angegeben. Auf das Diagramm kann direkt unterhalb des Layers im Bereich Inhalt zugegriffen werden.

  • Erklärende Variablen können aus Feldern stammen, aus Entfernungs-Features berechnet oder aus Rastern extrahiert werden. Sie können eine beliebige Kombination dieser erklärenden Variablentypen verwenden, mindestens ein Typ ist jedoch erforderlich. Die verwendeten erklärenden Variablen (aus Feldern, Entfernungs-Features oder Rastern) sollten eine Vielzahl von Werten enthalten. Wenn es sich bei der erklärenden Variablen um eine Kategorievariable handelt, muss das Kontrollkästchen Kategorisch aktiviert werden (Variablen des Typs "String" werden automatisch aktiviert). Erklärende Kategorievariablen dürfen höchstens 60 Einzelwerte enthalten, eine geringere Anzahl von Kategorien führt jedoch zu einer besseren Performance des Modells. Je mehr Kategorien eine Variable bei einer bestimmten Datengröße enthält, desto eher dominiert sie das Modell, sodass die Vorhersageergebnisse an Effektivität verlieren.

  • Entfernungs-Features dienen der automatischen Erstellung erklärender Variablen, die eine Entfernung zwischen bereitgestellten Features und Eingabe-Trainings-Features darstellen. Entfernungen werden von den einzelnen erklärenden Trainings-Entfernungs-Features der Eingabe zum nächsten Eingabe-Trainings-Feature berechnet. Wenn die Erklärenden Trainings-Entfernungs-Features der Eingabe Polygone oder Linien sind, werden die Entfernungsattribute als Entfernung zwischen den nächstgelegenen Segmenten des Feature-Paares berechnet. Allerdings werden Entfernungen bei Polygonen und Linien anders berechnet. Weitere Informationen hierzu finden Sie unter So wird die Entfernung mit Proximity-Werkzeugen berechnet.

  • Wenn es sich bei den Eingabe-Trainings-Features um Punkte handelt und Sie erklärende Trainings-Raster verwenden, führt das Werkzeug einen Drilldown durch, um erklärende Variablen an den einzelnen Punktpositionen zu extrahieren. Bei Multiband-Rastern wird nur das erste Band verwendet.

  • Zwar können Sie im Bereich Inhalt über mehrere Layer mit dem gleichen Namen verfügen, das Werkzeug kann allerdings keine erklärenden Layer mit den gleichen Namen akzeptieren bzw. doppelte Layer-Namen nicht aus den Dropdown-Listen entfernen. Sie können dieses Problem mit eindeutigen Layer-Namen vermeiden.

  • Wenn es sich bei den Eingabe-Trainings-Features um Polygone handelt, die vorherzusagende Variable kategorisch ist und Sie ausschließlich erklärende Trainings-Raster verwenden, gibt es die Option Polygone für Training in Raster-Auflösung konvertieren. Ist diese Option aktiviert, wird das Polygon am Schwerpunkt aller Raster-Zellen, deren Schwerpunkt innerhalb des Polygons liegt, in Punkte unterteilt. Anschließend werden die Raster-Werte an den einzelnen Punktpositionen extrahiert und zum Trainieren des Modells verwendet. Für numerische Variablen wird eine bilineare Stichprobenmethode verwendet, für kategorische Variablen die nächstgelegene Methode. Die Standard-Zellengröße der konvertierten Polygone entspricht der maximalen Zellengröße der Eingabe-Raster. Dies kann jedoch über die Umgebungseinstellung Zellengröße geändert werden. Ist die Option nicht aktiviert, wird ein Raster-Wert für jedes Polygon im Modell verwendet. Jedem Polygon wird für kontinuierliche Raster der Durchschnittswert und für Kategorie-Raster die Mehrheit zugewiesen.

    Polygone werden in Raster-Auflösung konvertiert (links) oder ihnen wird ein Durchschnittswert zugewiesen (rechts).
    Polygone werden in Raster-Auflösung konvertiert (links) oder erhalten einen Durchschnittswert zugewiesen (rechts).

  • Die Daten, die für die einzelnen erklärenden Variablen verwendet werden, müssen Variationen aufweisen. Wenn eine Fehlermeldung angezeigt wird, aus der hervorgeht, dass eines der angegebenen Felder oder Raster keine Variationen aufweist, können Sie versuchen, das Werkzeug erneut auszuführen und die betreffende Variable als kategorisch zu markieren. Wenn 95 Prozent der Features über denselben Wert für eine bestimmte Variable verfügen, wird das Fehlen von Variationen für diese Variable gekennzeichnet.

  • Der Parameter Spärliche Kategorien ausgleichen kann verwendet werden, wenn die Variation in den Kategorien nicht ausgeglichen ist. Beispiel: Wenn einige Kategorien in Ihrem Dataset hunderte Male vorkommen, andere dagegen deutlich seltener, wird durch Aktivieren dieses Parameters sichergestellt, dass jede Kategorie in jeder Struktur vertreten ist, um ausgeglichene Modelle zu erstellen.

  • Beim Abgleich von erklärenden Variablen müssen die Felder Prediction und Training den gleichen Typ haben (ein doppeltes Feld in Training muss mit einem doppelten Feld in Prediction abgeglichen werden).

  • Forest-basierte Modelle extrapolieren nicht, mit ihnen kann nur ein Wert klassifiziert oder vorhergesagt werden, für den das Modell trainiert wurde. Bei der Vorhersage eines Wertes, der auf erklärenden Variablen basiert, die viel höher oder niedriger sind als der Bereich des ursprünglichen Trainings-Datasets, schätzt das Modell den Wert um den höchsten oder niedrigsten Wert im ursprünglichen Dataset. Die Performance des Werkzeugs kann eingeschränkt sein, wenn man versucht, Vorhersagen mit erklärenden Variablen zu treffen, die außerhalb des Bereichs der erklärenden Variablen liegen, die zum Trainieren des Modells verwendet werden.

  • Das Werkzeug kann nicht erfolgreich ausgeführt werden, wenn die erklärenden Variablen für die Vorhersage Kategorien enthalten, die in den Trainings-Features nicht vorhanden sind.

  • Zur Verwendung von Mosaik-Datasets als erklärende Variablen führen Sie zunächst das Werkzeug Mosaik-Layer erstellen aus und kopieren den vollständigen Pfad zum Layer in das Werkzeug, oder Sie nutzen das Werkzeug Mosaik-Layer erstellen und Raster-Layer erstellen, um die Verarbeitungsvorlage für das Mosaik-Dataset anzupassen.

  • Der Standardwert für den Parameter Anzahl der Strukturen ist 100. Die Erhöhung der Anzahl von Strukturen im Forest-Modell führt zu einer genaueren Modellvorhersage, für die Berechnung des Modells wird jedoch mehr Zeit benötigt.

  • Wenn Sie den Parameter Unsicherheit berechnen aktivieren, berechnet das Werkzeug für jeden Wert der Vorherzusagenden Variablen ein Vorhersageintervall von 90 Prozent. Wenn als Vorhersagetyp Nur trainieren oder Features vorhersagen eingestellt ist, werden unter Trainierte Ausgabe-Features oder Vorhergesagte Ausgabe-Features zwei Felder hinzugefügt. Diese Felder enden auf _P05 und _P95 und stellen die obere und untere Grenze der Vorhersageintervalls dar. Bei neuen Beobachtungen können Sie mit einem Konfidenzniveau von 90 Prozent vorhersagen, dass der Wert der Beobachtung innerhalb des Intervalls liegt, sofern die erklärenden Variablen identisch sind. Bei Verwendung der Option Raster vorhersagen werden zum Bereich Inhalt zwei zusätzliche Raster hinzugefügt, die die obere und untere Grenze des Vorhersageintervalls darstellen.

  • Dieses Werkzeug unterstützt für Vorhersagen die Parallelverarbeitung und nutzt standardmäßig 50 Prozent der verfügbaren Prozessoren. Die Anzahl der Prozessoren kann mit der Umgebung Faktor für parallele Verarbeitung erhöht oder verringert werden.

  • Weitere Informationen zur Funktionsweise dieses Werkzeugs und zu den Ausgabemeldungen und -diagrammen finden Sie unter Verwendung von Forest-basierter Klassifizierung und -Regression.

    Quellen:

    Breiman, Leo. Out-Of-Bag Estimation. 1996.

    Breiman, L. (1996). Bagging predictors. Machine learning, 24(2), 123-140.

    Breiman, Leo. "Random Forests". Machine Learning. 45 (1): 5-32. doi:10.1023/A:1010933404324. 2001.

    Breiman, L., J.H. Friedman, R.A. Olshen, C.J. Stone. Classification and regression trees. New York: Routledge. Kapitel 4. 2017.

    Dietterich, T. G. (2000, Juni). Ensemble methods in machine learning. In International workshop on multiple classifier systems (S. 1-15). Springer, Berlin, Heidelberg.

    Gini, C. (1912). Variabilità e mutabilità. Nachgedruckt in: Memorie di metodologica statistica (Hrsg. Pizetti E, Salvemini, T). Rom: Libreria Eredi Virgilio Veschi.

    Grömping, U. (2009). Variable importance assessment in regression: linear regression versus random forest. The American Statistician, 63(4), 308-319.

    Ho, T. K. (1995, August). Random decision forests. In Document analysis and recognition, 1995., proceedings of the third international conference on Document Analysis and Recognition. (Band 1, S. 278-282). IEEE.

    James, G., Witten, D., Hastie, T., & Tibshirani, R. (2013). An introduction to statistical learning (Band 112). New York: Springer.

    LeBlanc, M., & Tibshirani, R. (1996). Combining estimates in regression and classification. Journal of the American Statistical Association, 91(436), 1641-1650.

    Loh, W. Y., & Shih, Y. S. (1997). Split selection methods for classification trees. Statistica sinica, 815-840.

    Meinshausen, Nicolai. "Quantile regression forests". Journal of Machine Learning Research 7. Juni (2006): 983-999.

    Nadeau, C., & Bengio, Y. (2000). Inference for the generalization error. In Advances in neural information processing systems (S. 307-313).

    Strobl, C., Boulesteix, A. L., Kneib, T., Augustin, T., & Zeileis, A. (2008). Conditional variable importance for random forests. BMC bioinformatics, 9(1), 307.

    Zhou, Z. H. (2012). Ensemble methods: foundations and algorithms. CRC Press.

Syntax

arcpy.stats.Forest(prediction_type, in_features, {variable_predict}, {treat_variable_as_categorical}, {explanatory_variables}, {distance_features}, {explanatory_rasters}, {features_to_predict}, {output_features}, {output_raster}, {explanatory_variable_matching}, {explanatory_distance_matching}, {explanatory_rasters_matching}, {output_trained_features}, {output_importance_table}, {use_raster_values}, {number_of_trees}, {minimum_leaf_size}, {maximum_depth}, {sample_size}, {random_variables}, {percentage_for_training}, {output_classification_table}, {output_validation_table}, {compensate_sparse_categories}, {number_validation_runs}, {calculate_uncertainty})
ParameterErklärungDatentyp
prediction_type

Gibt den Operationsmodus des Werkzeugs an. Das Werkzeug kann ausgeführt werden, um ein Modell ausschließlich für die Bewertung der Performance zu trainieren, Features vorherzusagen oder eine vorhergesagte Oberfläche zu erstellen.

  • TRAINEin Modell wird trainiert, es werden jedoch keine Vorhersagen generiert. Prüfen Sie die Genauigkeit des Modells mit dieser Option, bevor Sie Vorhersagen generieren. Mit dieser Option werden Modelldiagnosen im Meldungsfenster und ein Diagramm der Variablenbedeutung ausgegeben. Hierbei handelt es sich um die Standardeinstellung.
  • PREDICT_FEATURESEs werden Vorhersagen oder Klassifizierungen für Features generiert. Sowohl für die Trainings-Features als auch für die vorherzusagenden Features müssen erklärende Variablen angegeben werden. Die Ausgaben dieser Option sind eine Feature-Class, eine Modelldiagnose im Meldungsfenster und optional eine Tabelle und ein Diagramm der Variablenbedeutung.
  • PREDICT_RASTERFür den Bereich, in dem sich die erklärenden Raster überschneiden, wird ein Vorhersage-Raster generiert. Erklärende Raster müssen sowohl für die Trainings-Fläche als auch für die vorherzusagenden Flächen angegeben werden. Die Ausgaben dieser Option sind eine vorhergesagte Oberfläche, eine Modelldiagnose im Meldungsfenster und optional eine Tabelle und ein Diagramm der Variablenbedeutung.
String
in_features

Die Feature-Class mit dem Parameter variable_predict und optional den erklärenden Trainings-Variablen aus Feldern.

Feature Layer
variable_predict
(optional)

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

Field
treat_variable_as_categorical
(optional)
  • CATEGORICALvariable_predict ist eine Kategorievariable, es wird eine Klassifizierung vom Werkzeug vorgenommen.
  • NUMERICvariable_predict ist eine kontinuierliche Variable, es wird eine Regression vom Werkzeug ausgeführt. Hierbei handelt es sich um die Standardeinstellung.
Boolean
explanatory_variables
[[Variable, Categorical],...]
(optional)

Eine Liste der Felder, die erklärende Variablen darstellen und die Vorhersage des Wertes oder der Kategorie von variable_predict unterstützen. Verwenden Sie den Parameter treat_variable_as_categorical für alle Variablen, die Klassen oder Kategorien darstellen (z. B. Landbedeckung oder Anwesenheit oder Abwesenheit). Geben Sie für alle Werte der Variablen, die Klassen oder Kategorien wie Landbedeckung oder Anwesenheit oder Abwesenheit darstellen, true an und false, wenn es sich um eine kontinuierliche Variable handelt.

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

Erstellt automatisch erklärende Variablen durch die Berechnung der Entfernung zwischen bereitgestellten Features und in_features. Entfernungen werden von den einzelnen distance_features der Eingabe zu den nächsten in_features berechnet. Wenn es sich bei distance_features der Eingabe um Polygone oder Linien handelt, werden die Entfernungsattribute als Entfernung zwischen den nächstgelegenen Segmenten des Feature-Paares berechnet.

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

Erstellt automatisch erklärende Trainings-Variablen im Modell, deren Werte aus Rastern extrahiert werden. Der Wert der Raster-Zelle wird für jedes Feature in in_features an der genauen Position extrahiert. Beim Extrahieren des Raster-Werts wird bilineares Raster-Resampling verwendet, es sei denn, "Kategorisch" wurde angegeben. In diesem Fall wird das Nächster-Nachbar-Resampling verwendet. Geben Sie für alle Raster, die Klassen oder Kategorien wie Landbedeckung oder Anwesenheit oder Abwesenheit darstellen, true an und false, wenn es sich um ein kontinuierliches Raster handelt.

Value Table
features_to_predict
(optional)

Eine Feature-Class, die Positionen darstellt, an denen Vorhersagen getroffen werden. Diese Feature-Class muss auch erklärende Variablen enthalten, die als Felder bereitgestellt wurden und den von den Trainings-Daten verwendeten Feldern entsprechen, falls vorhanden.

Feature Layer
output_features
(optional)

Die Ausgabe-Feature-Class zum Empfangen der Ergebnisse der Vorhersageergebnisse.

Feature Class
output_raster
(optional)

Das Ausgabe-Raster mit den Vorhersageergebnissen. Die Standard-Zellengröße entspricht der maximalen Zellengröße der Raster-Eingaben. Um eine andere Zellengröße festzulegen, verwenden Sie die Umgebungseinstellung "Zellengröße".

Raster Dataset
explanatory_variable_matching
[[Prediction, Training],...]
(optional)

Eine Liste der angegebenen Werte für explanatory_variables aus in_features rechts und den ihnen entsprechenden Feldern aus features_to_predict links, z. B. [["LandCover2000", "LandCover2010"], ["Income", "PerCapitaIncome"]].

Value Table
explanatory_distance_matching
[[Prediction, Training],...]
(optional)

Eine Liste der angegebenen distance_features für in_features rechts. Die entsprechenden Feature-Sets müssen für features_to_predict links angegeben werden.

explanatory_distance_features, die für features_to_predict angemessener sind, können angegeben werden, wenn sich die für das Training verwendeten Features auf ein anderes Untersuchungsgebiet oder einen anderen Zeitraum beziehen.

Value Table
explanatory_rasters_matching
[[Prediction, Training],...]
(optional)

Eine Liste der angegebenen explanatory_rasters für in_features rechts. Die entsprechenden Raster müssen für features_to_predict oder output_raster, das erstellt werden soll, links angegeben werden.

explanatory_rasters, die für features_to_predict angemessener sind, können angegeben werden, wenn sich die für das Training verwendeten Features auf ein anderes Untersuchungsgebiet oder einen anderen Zeitraum beziehen.

Value Table
output_trained_features
(optional)

output_trained_features enthält alle für das Training verwendeten erklärenden Variablen (einschließlich Sample-Raster-Werte und Entfernungsberechnungen) sowie das beobachtete Feld variable_to_predict und die zugehörigen Vorhersagen, mit denen die Performance des trainierten Modells weiter geprüft werden kann.

Feature Class
output_importance_table
(optional)

Falls angegeben, enthält die Tabelle Informationen, die die Bedeutung der einzelnen, im erstellten Modell verwendeten erklärenden Variablen (Felder, Entfernungs-Features und Raster) beschreiben.

Table
use_raster_values
(optional)

Gibt an, wie Polygone beim Trainieren des Modells behandelt werden, wenn es sich bei in_features um Polygone mit kategorischer variable_predict handelt und nur explanatory_rasters angegeben wurden.

  • TRUEDas Polygon wird in alle Raster-Zellen mit Schwerpunkt innerhalb des Polygons geteilt. Anschließend werden die Raster-Werte an den einzelnen Schwerpunkten extrahiert und zum Trainieren des Modells verwendet. Das Modell wird nicht länger am Polygon selbst trainiert, sondern an den für die einzelnen Zellenschwerpunkten extrahierten Raster-Werten. Dies ist die Standardeinstellung.
  • FALSEJedem Polygon wird der Durchschnittswert der zugrunde liegenden kontinuierlichen Raster und die Mehrheit für zugrunde liegende Kategorie-Raster zugewiesen.
Boolean
number_of_trees
(optional)

Die Anzahl der Strukturen, die im Forest-Modell erstellt werden sollen. Eine höhere Anzahl von Strukturen führt zu einer genaueren Modellvorhersage, für die Berechnung des Modells wird jedoch mehr Zeit benötigt. Die Standardzahl von Strukturen beträgt 100.

Long
minimum_leaf_size
(optional)

Die minimale Anzahl der Beobachtungen, die mindestens erforderlich sind, um ein Element (also den Endpunkt einer Struktur, der keine weiteren Verzweigungen hat) beizubehalten. Das Standardminimum ist 5 für die Regression und 1 für die Klassifizierung. Bei sehr großen Daten führt eine Erhöhung dieser Zahlen zu einer Erhöhung der Laufzeit des Werkzeugs.

Long
maximum_depth
(optional)

Die maximale Anzahl von Teilungen entlang einer Struktur. Je größer die maximale Tiefe, desto mehr Teilungen werden erstellt. Dadurch steigt das Risiko einer Überanpassung des Modells. Die Standardeinstellung ist datenabhängig und abhängig von der Anzahl der erstellten Strukturen und der berücksichtigten Variablen.

Long
sample_size
(optional)

Gibt den Prozentsatz der für jede Entscheidungsstruktur verwendeten in_features an. Die Standardeinstellung liegt bei 100 Prozent der Daten. Samples für jede Struktur werden nach dem Zufallsprinzip aus zwei Dritteln der angegebenen Daten entnommen.

Alle Entscheidungsbäume im Wald werden mithilfe einer zufälligen Stichprobe oder einer zufälligen Teilmenge (etwa zwei Drittel) der verfügbaren Trainingsdaten erstellt. Durch die Verwendung eines niedrigeren Prozentsatzes der Eingabedaten für die einzelnen Entscheidungsbäume wird die Geschwindigkeit des Werkzeugs bei sehr großen Datasets beschleunigt.

Long
random_variables
(optional)

Gibt die Anzahl der erklärenden Variablen für die Erstellung der einzelnen Entscheidungsstrukturen an.

Alle Entscheidungsstrukturen in der Gesamtstruktur werden mithilfe einer zufälligen Teilmenge der erklärenden Variablen erstellt. Durch eine Erhöhung der Anzahl der in den einzelnen Entscheidungsbäumen verwendeten Variablen steigt die Wahrscheinlichkeit einer Überanpassung des Modells, vor allem dann, wenn dominante Variablen vorhanden sind. Eine gängige Praxis besteht darin, die Quadratwurzel aus der Gesamtzahl der erklärenden Variablen (Felder, Entfernungen und Raster) zu ziehen, wenn variable_predict numerisch ist, oder die Gesamtzahl der erklärenden Variablen (Felder, Entfernungen und Raster zusammengenommen) durch 3 zu teilen, wenn variable_predict kategorisch ist.

Long
percentage_for_training
(optional)

Gibt den Prozentsatz (zwischen 10 und 50 Prozent) für in_features an, die als Test-Dataset für die Validierung reserviert sind. Das Modell wird ohne diese zufällige Teilmenge der Daten trainiert, und die beobachteten Werte für diese Features werden mit dem vorhergesagten Wert verglichen. Der Standardwert ist 10 Prozent.

Double
output_classification_table
(optional)

Falls angegeben, wird eine Konfusionsmatrix für die Klassifizierung erstellt, die die Performance des erstellten Modells zusammenfasst. Mit dieser Tabelle können andere Diagnosen berechnet werden, die über Kennzahlen für Genauigkeit und Empfindlichkeit hinausgehen, die das Werkzeug in den Ausgabemeldungen berechnet.

Table
output_validation_table
(optional)

Wenn die angegebene Anzahl der ausgeführten Validierungen größer als 2 ist, erstellt diese Tabelle für jedes Modell ein Diagramm der Verteilung von R2. Mit dieser Verteilung können Sie die Stabilität Ihres Modells bewerten.

Table
compensate_sparse_categories
(optional)

Wenn Ihr Dataset Kategorien enthält, die seltener als andere vorkommen, wird durch Aktivieren dieses Parameters sichergestellt, dass jede Kategorie in jeder Struktur vertreten ist.

  • TRUEJede Struktur enthält jede Kategorie, die im Trainings-Dataset vertreten ist.
  • FALSEJede Struktur wird basierend auf einer zufälligen Stichprobe des Trainings-Datasets erstellt. Dies ist die Standardeinstellung.
Boolean
number_validation_runs
(optional)

Das Werkzeug führt die angegebene Anzahl von Wiederholungen aus. Die Verteilung von R2 für jede Ausführung kann mit dem Parameter Ausgabetabelle der Validierung angezeigt werden. Wenn diese Option festgelegt ist und Vorhersagen generiert werden, wird nur das Modell, das den höchsten R2-Wert erzeugt, für Vorhersagen verwendet.

Long
calculate_uncertainty
(optional)

Gibt an, ob beim Trainieren oder beim Vorhersagen von Features oder Rastern die Vorhersageunsicherheit berechnet wird.

  • TRUE Es wird ein Vorhersageunsicherheitsintervall berechnet.
  • FALSE Es wird keine Unsicherheit berechnet. Dies ist die Standardeinstellung.
Boolean

Abgeleitete Ausgabe

NameErklärungDatentyp
output_uncertainty_raster_layers

Wenn Sie calculate_uncertainty aktivieren, berechnet das Werkzeug für jeden Wert der variable_to_predict ein Vorhersageintervall von 90 Prozent.

Raster-Layer

Codebeispiel

Forest-Beispiel 1 (Python-Fenster)

Das folgende Python-Skript veranschaulicht, wie die Funktion Forest verwendet wird.

import arcpy
arcpy.env.workspace = r"c:\data"
# Forest-based model using only the training method and all data
# comes from a single polygon feature class. The tool excludes 10% of the 
# input features from training and uses these values to validate the model.
prediction_type = "TRAIN"
in_features = r"Boston_Vandalism.shp"
variable_predict = "VandCnt"
explanatory_variables = [["Educat", "false"], ["MedAge", "false"], 
    ["HHInc", "false"], ["Pop", "false"]]
output_trained_features = "TrainingFeatures.shp"
number_of_trees = 100
sample_size = 100
percentage_for_training = 10
arcpy.stats.Forest(prediction_type, in_features, variable_predict, None,
    explanatory_variables, None, None, None, None, None, None, None, None,
    output_trained_features, None, True, number_of_trees, None, None, sample_size, 
    None, percentage_for_training)
Forest-Beispiel 2 (eigenständiges Skript)

Das folgende Python-Skript veranschaulicht, wie Sie die Funktion Forest zur Vorhersage von Features verwenden.

# Import system modules
import arcpy
# Set property to overwrite existing outputs
arcpy.env.overwriteOutput = True
# Set the work space to a gdb
arcpy.env.workspace = r"C:\Data\BostonCrimeDB.gdb"
# Forest-based model taking advantage of both distance features and 
# explanatory rasters. The training and prediction data has been manually
# split so the percentage to exclude parameter was set to 0. A variable importance
# table is created to help assess results and advanced options have been used
# to fine tune the model.
prediction_type = "PREDICT_FEATURES"
in_features = r"Boston_Vandalism_Training"
variable_predict = "Vandalism_Count"
treat_variable_as_categorical = None
explanatory_variables = [["EduClass", "true"], ["MedianAge", "false"],
    ["HouseholdIncome", "false"], ["TotalPopulation", "false"]]
distance_features = r"Boston_Highways"
explanatory_rasters = r"LandUse true"
features_to_predict = r"Boston_Vandalism_Prediction"
output_features = r"Prediction_Output"
output_raster = None
explanatory_variable_matching = [["EduClass", "EduClass"], ["MedianAge", "MedianAge"], 
    ["HouseholdIncome", "HouseholdIncome"], ["TotalPopulation", "TotalPopulation"]]
explanatory_distance_matching = [["Boston_Highways", "Boston_Highways"]]
explanatory_rasters_matching = [["LandUse", "LandUse"]]
output_trained_features = r"Training_Output"
output_importance_table = r"Variable_Importance"
use_raster_values = True
number_of_trees = 100
minimum_leaf_size = 2
maximum_level = 5
sample_size = 100
random_sample = 3
percentage_for_training = 0
arcpy.stats.Forest(prediction_type, in_features, variable_predict,
    treat_variable_as_categorical, explanatory_variables, distance_features,
    explanatory_rasters, features_to_predict, output_features, output_raster,
    explanatory_variable_matching, explanatory_distance_matching, 
    explanatory_rasters_matching, output_trained_features, output_importance_table,
    use_raster_values, number_of_trees, minimum_leaf_size, maximum_level,
    sample_size, random_sample, percentage_for_training)
Forest-Beispiel 3 (eigenständiges Skript)

Das folgende Python-Skript veranschaulicht, wie Sie die Funktion Forest zum Erstellen einer vorhergesagten Oberfläche verwenden.

# Import system modules import arcpy
# Set property to overwrite existing outputs arcpy.env.overwriteOutput = True
# Set the work space to a gdb arcpy.env.workspace = r"C:\Data\Landsat.gdb"
# Using a forest-based model to classify a landsat image. The TrainingPolygons feature 
# class was created manually and is used to train the model to 
# classify the remainder of the landsat image.
prediction_type = "PREDICT_RASTER"
in_features = r"TrainingPolygons"
variable_predict = "LandClassName"
treat_variable_as_categorical = "CATEGORICAL" explanatory_variables = None distance_features = None explanatory_rasters = [["Band1", "false"], ["Band2", "false"], ["Band3", "false"]] features_to_predict = None output_features = None output_raster = r"PredictionSurface"
explanatory_variable_matching = None explanatory_distance_matching = None explanatory_rasters_matching = [["Band1", "Band1"], ["Band2", "Band2"], ["Band3", "Band3"]] output_trained_features = None output_importance_table = None use_raster_values = True number_of_trees = 100 minimum_leaf_size = None maximum_level = None sample_size = 100 random_sample = None percentage_for_training = 10
arcpy.stats.Forest(prediction_type, in_features, variable_predict,    treat_variable_as_categorical, explanatory_variables, distance_features,    explanatory_rasters, features_to_predict, output_features, output_raster,    explanatory_variable_matching, explanatory_distance_matching,     explanatory_rasters_matching, output_trained_features, output_importance_table,
    use_raster_values, number_of_trees, minimum_leaf_size, maximum_level,    sample_size, random_sample, percentage_for_training)

Umgebungen

Zufallszahlengenerator

Der verwendete Zufallsgeneratortyp ist stets Mersenne Twister.

Faktor für parallele Verarbeitung

Parallele Verarbeitung wird nur beim Treffen von Vorhersagen verwendet.

Lizenzinformationen

  • Basic: Eingeschränkt
  • Standard: Eingeschränkt
  • Advanced: Eingeschränkt

Verwandte Themen