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.