In diesem Modul werden folgende Themen behandelt:
- „Random Forests“
- Random Forests trainieren
- Vor- und Nachteile von Random Forests
Zufällige Gesamtstrukturen interpretieren
Random Forests sind komplexer zu interpretieren als Entscheidungsbäume. Random Forests Entscheidungsbäume enthalten, die mit zufälligem Rauschen trainiert wurden. Daher ist es schwieriger, Entscheidungen über die Struktur des Entscheidungsbaums zu treffen. Wir können jedoch alle zufälligen für Waldmodelle auf unterschiedliche Weise.
Ein Ansatz zur Interpretation eines Random Forest besteht darin, Entscheidungsbaum mit dem CART-Algorithmus. Sowohl Random Forest als auch CART sind die mit demselben Kernalgorithmus trainiert werden, haben sie „dieselbe globale Ansicht“ der Dataset. Diese Option eignet sich gut für einfache Datasets und Gesamtinterpretation des Modells.
Auch die Variablenwichtigkeiten lassen sich gut interpretieren. Ansatz. In der folgenden Tabelle wird beispielsweise die Wichtigkeit verschiedene Funktionen für ein Random Forest-Modell, das mit dem Modell trainiert wurde, Census Dataset (auch Erwachsene).
<ph type="x-smartling-placeholder"></ph> Tabelle 8. Variable Bedeutung von 14 verschiedenen Funktionen.
Funktion | Gesamtpunktzahl | Durchschnittliche Abnahme der Genauigkeit | Durchschnittliche Abnahme der AUC | Durchschnittliche minimale Tiefe | Anzahl Knoten | Durchschnittlicher Rückgang bei PR-AUC | Num 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 |
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 | 226.049,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 verschiedene Definitionen der Variablenwichtigkeit unterschiedliche Skalen und kann zu Unterschieden im Ranking der Funktionen führen.
Variablenwichtige, die aus der Modellstruktur stammen (z. B. Summe Wert, mittlere Mindesttiefe, num Knoten und num als Wurzel in der obigen Tabelle) sind ähnlich für Entscheidungsbäume berechnet (siehe Abschnitt „Einkaufswagen | Wichtigkeit der Variablen“) und wahllose Wälder.
Wichtigkeit der Permutationsvariablen (z. B. die mittlere Abnahme von {accuracy, auc, pr-auc} in der Tabelle oben) sind modellunabhängige Messwerte, die anhand einem beliebigen ML-Modell mit einem Validierungs-Dataset. Mit Random Forest Statt ein Validierungs-Dataset zu verwenden, können Sie jedoch die Permutation unterschiedlicher Bedeutung mit „Out-of-Bag-Bewertung“.
SHAP (SHapley Additive exPlanations) ist eine modellunabhängige Methode zur einzelne Vorhersagen oder modellbezogene Interpretationen erläutern. (Siehe Interpretierbares maschinelles Lernen von Molnar für eine Einführung in die modellunabhängige Interpretation.) SHAP ist normalerweise teuer in der Rechenleistung, deutlich beschleunigt, um die Entscheidungsfindung zu beschleunigen. und ist also eine gute Möglichkeit, Entscheidungswälder zu interpretieren.
Verwendungsbeispiel
In der vorherigen Lektion haben wir einen CART-Entscheidungsbaum mit einem kleinen Dataset trainiert.
indem du tfdf.keras.CartModel
anrufst. Um ein Random Forest-Modell zu trainieren,
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 Gesamtstrukturen.
Vorteile:
- Wie Entscheidungsbäume unterstützen Random Forests nativ numerische und kategoriale Merkmale erstellt werden und häufig keine Vorverarbeitung erforderlich ist.
- Da die Entscheidungsbäume unabhängig sind, können Random Forests in parallel. Daher können Sie zufällige Gesamtstrukturen schnell trainieren.
- Random-Gesamtstrukturen haben Standardparameter, die oft hervorragende Ergebnisse liefern. Feinabstimmung haben diese Parameter oft wenig Einfluss auf das Modell.
Nachteile:
- Da Entscheidungsbäume nicht beschnitten werden, können sie groß sein. Modelle mit mehr als 1 Mio. Knoten üblich. Die Größe (und damit die Inferenzgeschwindigkeit) der Random Forest kann manchmal ein Problem sein.
- Random-Gesamtstrukturen können interne Darstellungen nicht lernen und wiederverwenden. Jedes Entscheidungsbaum (und jeder Zweig jedes Entscheidungsbaums) müssen die Dataset-Muster. Bei einigen Datasets, insbesondere nicht tabellarischen Datasets (z.B. Bild, Text), führt dies zu ungünstigen Gesamtstrukturen als mit anderen Methoden.