Weitere Themen

In diesem Modul werden die folgenden Themen behandelt:

  • Random Forests auswerten
  • Random Forests trainieren
  • Vor- und Nachteile von Random Forests

Random Forests interpretieren

Die Interpretation von Random Forests ist komplexer als die von Entscheidungsbäumen. Zufallswälder enthalten Entscheidungsbäume, die mit zufälligem Rauschen trainiert wurden. Daher ist es schwieriger, eine Beurteilung der Struktur des Entscheidungsbaums vorzunehmen. Es gibt jedoch mehrere Möglichkeiten, diese Modelle zu interpretieren.

Eine Möglichkeit zur Interpretation eines Random Forest besteht darin, einfach einen Entscheidungsbaum mit dem CART-Algorithmus zu trainieren und zu interpretieren. Da sowohl der Random Forest als auch der CART mit demselben Kernalgorithmus trainiert werden, haben sie dieselbe globale Ansicht des Datensatzes. Diese Option eignet sich gut für einfache Datensätze und um die Gesamtaussage des Modells zu verstehen.

Die Wichtigkeit von Variablen ist ein weiterer guter Ansatz zur Erklärbarkeit. In der folgenden Tabelle wird beispielsweise die Variablenbedeutung verschiedener Merkmale für ein Random-Forest-Modell aufgelistet, das auf dem Census-Dataset (auch Adult genannt) trainiert wurde.

Tabelle 8. Variable Bedeutung von 14 verschiedenen Merkmalen.

Funktion Summe der Bewertung Mittlere Abnahme der Genauigkeit Durchschnittliche Abnahme der AUC Durchschnittliche Mindesttiefe Anzahl der Knoten Durchschnittliche Abnahme der PR-AUC Num als Root
Beziehung

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

education

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

1564189.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

Sex

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 der Variablenbedeutung unterschiedliche Skalen und können zu Unterschieden in der Reihenfolge der Funktionen führen.

Die Variablenbewertungen, die sich aus der Modellstruktur ergeben (z. B. Summenwert, durchschnittliche minimale Tiefe, Anzahl der Knoten und „Num“ als Wurzel in der Tabelle oben), werden für Entscheidungsbäume (siehe Abschnitt „CART | Variablenbewertung“) und zufällige Wälder auf ähnliche Weise berechnet.

Die Bedeutung von Permutationsvariablen (z. B. die durchschnittliche Abnahme von {accuracy, auc, pr-auc} in der Tabelle oben) sind modellunabhängige Maße, die für jedes maschinelle Lernmodell mit einem Validierungsdatensatz berechnet werden können. Bei Random Forest können Sie anstelle eines Validierungsdatensatzes die Permutationsvariablenbewertung mit der Out-of-Bag-Bewertung berechnen.

SHAP (SHapley Additive exPlanations) ist eine modellunabhängige Methode, um einzelne Vorhersagen oder eine modellunabhängige Interpretation zu erklären. (Eine Einführung in die modellagnostische Interpretation finden Sie in Interpretable Machine Learning von Molnar.) Die Berechnung von SHAP ist in der Regel aufwendig, kann aber bei Entscheidungswäldern erheblich beschleunigt werden. Daher eignet sich SHAP gut zur Interpretation von Entscheidungswäldern.

Verwendungsbeispiel

In der vorherigen Lektion haben wir einen CART-Entscheidungsbaum mithilfe von tfdf.keras.CartModel auf einem kleinen Datensatz trainiert. Wenn Sie ein Random Forest-Modell 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

In diesem Abschnitt finden Sie eine kurze Zusammenfassung der Vor- und Nachteile von Random Forests.

Vorteile:

  • Wie Entscheidungsbäume unterstützen auch Random Forests nativ numerische und kategorische Merkmale und erfordern oft keine Vorverarbeitung der Merkmale.
  • Da die Entscheidungsbäume unabhängig sind, können Random Forests parallel trainiert werden. Daher können Sie Random Forests schnell trainieren.
  • Für Random Forests gibt es Standardparameter, die oft gute Ergebnisse liefern. Die Optimierung dieser Parameter hat oft nur geringe Auswirkungen auf das Modell.

Nachteile:

  • Da Entscheidungsbäume nicht beschnitten werden, können sie groß sein. Modelle mit mehr als einer Million Knoten sind üblich. Die Größe (und damit die Inferenzgeschwindigkeit) des Random Forest kann manchmal ein Problem sein.
  • Random Forests können keine internen Repräsentationen lernen und wiederverwenden. Jeder Entscheidungsbaum (und jeder Zweig jedes Entscheidungsbaums) muss das Datensatzmuster neu lernen. Bei einigen Datensätzen, insbesondere bei nicht tabellarischen Datensätzen (z.B. Bildern oder Text), führen diese zu schlechteren Ergebnissen als andere Methoden.