Weitere Themen

In diesem Modul werden die folgenden Themen behandelt:

  • Zufallswässer interpretieren
  • Training von Zufallswäldern
  • Vor- und Nachteile von zufälligen Wäldern

Interpreting random Forests

Zufällige Wälder sind komplexer zu interpretieren als Entscheidungsbäume. Zufällige Wälder enthalten Entscheidungsbäume, die mit zufälligem Rauschen trainiert wurden. Daher ist es schwieriger, Entscheidungen über die Entscheidungsbaumstruktur zu treffen. Allerdings können wir zufällige Gesamtmodelle auf verschiedene Arten interpretieren.

Ein Ansatz zum Interpretieren einer zufälligen Gesamtstruktur besteht darin, einen Entscheidungsbaum mit dem CART-Algorithmus zu trainieren und zu interpretieren. Da sowohl die zufällige Gesamtstruktur als auch CART mit demselben Kernalgorithmus trainiert werden, verwenden sie dieselbe globale Ansicht des Datasets. Diese Option eignet sich gut für einfache Datasets und für die allgemeine Interpretation des Modells.

Variablenwichtigkeiten sind ein weiterer guter Ansatz zur Interpretierbarkeit. In der folgenden Tabelle sehen Sie beispielsweise die Wichtigkeit der verschiedenen Features für ein zufälliges Gesamtmodell, das mit dem Census-Dataset (auch als Adult bezeichnet) trainiert wurde.

Tabelle 8: Variable Wichtigkeit von 14 verschiedenen Funktionen

Funktion Summe Mittlere Verringerung der Genauigkeit Durchschnittlicher Rückgang der AUC Mittlere Mindesttiefe Anzahl der Knoten Mittlerer Rückgang der PR-AUC Anzahl als Stamm
relationship

4203592,6

0.0045

0,0172

4,970

57040

0.0093

1095

capital_gain

3363045.1

0,0199

0,0194

2,852

56468

0,0655

457

marital_status

3128996,3

0,0018

0,0230

6,633

52391

0.0107

750

Alter

2520658,8

0,0065

0,0074

4,969

356784

0,0033

200

Bildung

2015905.4

0,0018

-0,0080

5,266

115751

-0,0129

205

occupation

1939409,3

0,0063

-0,0040

5,017

221935

-0,0060

62

education_num

1673648,4

0,0023

-0,0066

6,009

58303

-0,0080

197

fnlwgt

1.564.189,0

-0,0002

-0,0038

9,969

431987

-0,0049

0

hours_per_week

1333976,3

0,0030

0,0007

6,393

206526

-0,0031

20

capital_loss

866863,8

0,0060

0,0020

8,076

58531

0.0118

1

workclass

644208,4

0,0025

-0,0019

9,898

132196

-0,0023

0

native_country

538841,2

0.0001

-0,0016

9,434

67211

-0,0058

0

geschlecht

226049,3

0.0002

0.0002

10,911

37754

-0,0011

13

Ethnische Herkunft

168180,9

-0,0006

-0,0004

11,571

42262

-0,0031

0

Wie Sie sehen, haben unterschiedliche Definitionen von Variablen mit unterschiedlicher Bedeutung unterschiedliche Skalen und können zu Unterschieden beim Ranking der Features führen.

Variablenwichtigkeiten, die aus der Modellstruktur stammen (z. B. Summenwert, mittlere Mindesttiefe, Anzahl der Knoten und Num als Stamm in der Tabelle oben) werden auf ähnliche Weise für Entscheidungsbäume (siehe Abschnitt & Einkaufswagen | Variablenwichtigkeit) und zufällige Gesamtstrukturen berechnet.

Die Bedeutung der Variablen für die Pernormalisierung (z. B. die mittlere Verringerung der {accuracy, auc, pr-auc} in der Tabelle oben) sind modellunabhängige Maßnahmen, die für jedes Modell für maschinelles Lernen mit einem Validierungs-Dataset berechnet werden können. Bei einer zufälligen Gesamtstruktur können Sie jedoch anstelle eines Validierungs-Datasets die Wichtigkeit einer Pervarianz-Variablen mithilfe der Out-of-Bag-Evaluierung berechnen.

SHAP (Sapley Additive exPlanations) ist eine modellunabhängige Methode zur Erläuterung einzelner Vorhersagen oder modellbasierter Interpretation. Eine Einführung in die Modellierung unabhängiger Interpretationen finden Sie unter Interpretable Machine Learning von Molnar. Die Verarbeitung von SHAP ist normalerweise kostspielig, kann aber für Entscheidungsforen deutlich beschleunigt werden, sodass es eine gute Möglichkeit ist, Entscheidungsforen zu interpretieren.

Verwendungsbeispiel

In der vorherigen Lektion haben wir einen CART-Entscheidungsbaum für ein kleines Dataset trainiert, indem wir tfdf.keras.CartModel aufgerufen haben. Wenn Sie ein zufälliges Gesamtmodell trainieren möchten, ersetzen Sie einfach tfdf.keras.CartModel durch tfdf.keras.RandomForestModel:

model = tfdf.keras.RandomForestModel()
model.fit(tf_train_dataset)

Vor- und Nachteile

Dieser Abschnitt enthält eine kurze Zusammenfassung der Vor- und Nachteile von zufälligen Wäldern.

Vorteile:

  • Wie Entscheidungsbäume unterstützen zufällige Gesamtstrukturen nativ numerische und kategoriale Merkmale und erfordern häufig keine Vorverarbeitung von Merkmalen.
  • Da die Entscheidungsbäume unabhängig sind, können zufällige Wälder parallel trainiert werden. Daher können Sie zufällige Wälder schnell trainieren.
  • Zufällige Gesamtstrukturen haben Standardparameter, die oft großartige Ergebnisse liefern. Die Optimierung dieser Parameter hat oft nur geringe Auswirkungen auf das Modell.

Nachteile:

  • Da Entscheidungsbäume nicht gekürzt werden, können sie sehr groß sein. Modelle mit mehr als einer Million Knoten sind üblich. Manchmal kann die Größe (und damit die Inferenzgeschwindigkeit) der Zufallsstruktur ein Problem sein.
  • Zufällige Gesamtstrukturen können keine internen Darstellungen lernen und wiederverwenden. Jeder Entscheidungsbaum (und jeder Zweig jedes Entscheidungsbaums) muss das Dataset-Muster neu lernen. In einigen Datasets, insbesondere nicht tabellarischem Dataset (z.B. Bild, Text), führt dies zu zufälligen Gesamtstrukturen zu schlechteren Ergebnissen als bei anderen Methoden.