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.