W tej jednostce omawiamy te zagadnienia:
- interpretowanie losowych lasów
- tworzenie losowych lasów
- zalety i wady losowych lasów
Interpretowanie lasów losowych
Lasy losowe są trudniejsze do interpretacji niż drzewa decyzyjne. Lasy losowe zawierają drzewa decyzyjne wytrenowane za pomocą losowego szumu. W związku z tym trudniej jest ocenić strukturę schematu decyzyjnego. Modele lasa losowego można jednak interpretować na kilka sposobów.
Jednym z podejść do interpretacji lasu losowego jest po prostu wytrenowanie i interpretowanie drzewa decyzyjnego za pomocą algorytmu CART. Ponieważ zarówno las losowy, jak i CART są trenowane za pomocą tego samego podstawowego algorytmu, „mają ten sam globalny widok” zbioru danych. Ta opcja sprawdza się w przypadku prostych zbiorów danych i ogólnej interpretacji modelu.
Ważność zmiennej to kolejny sposób na zwiększenie możliwości interpretacji. Na przykład w tabeli poniżej podano ranking zmiennych ważności różnych cech w przypadku modelu lasu losowego wytrenowanego na danych ze spisu powszechnego (zwanego też Adult).
Tabela 8. Zmienna waga 14 różnych funkcji.
Funkcja | Suma wyników | Średni spadek dokładności | Średni spadek AUC | Średnia minimalna głębokość | Liczba węzłów | Średni spadek AUC-PR | Num as root |
---|---|---|---|---|---|---|---|
relacja | 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 |
age | 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 |
zawód | 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 |
seks | 226049.3 |
0,0002 |
0,0002 |
10,911 |
37754 |
-0,0011 |
13 |
rasa | 168180,9 |
-0,0006 |
-0,0004 |
11,571 |
42262 |
-0,0031 |
0 |
Jak widać, różne definicje znaczenia zmiennych mają różne skale i mogą prowadzić do różnic w rankingu funkcji.
Ważność zmiennych pochodząca ze struktury modelu (np. suma wyniku, średnia minimalna głębokość, liczba węzłów i liczba jako korzeń w tabeli powyżej) jest obliczana podobnie w przypadku drzewek decyzyjnych (patrz sekcja „Cart | Ważność zmiennych”) i lasów losowych.
Ważność zmiennej permutacji (np. średni spadek wartości {accuracy, auc, pr-auc} w tabeli powyżej) to miary niezależne od modelu, które można obliczyć dla dowolnego modelu uczenia maszynowego za pomocą zbioru danych walidacyjnego. W przypadku lasu losowego zamiast zbioru danych do walidacji możesz jednak obliczyć znaczenie zmiennej za pomocą permutacji i oceny poza torbą.
SHAP (SHapley Additive exPlanations) to niezależna od modelu metoda wyjaśniania poszczególnych prognoz lub interpretacji modelu. (aby zapoznać się z interpretacją niezależną od modelu, przeczytaj Interpretowalne uczenie maszynowe Molnara). Obliczanie SHAP jest zwykle kosztowne, ale w przypadku lasów decyzyjnych można znacznie przyspieszyć ten proces, co czyni tę metodę dobrym sposobem na interpretowanie lasów decyzyjnych.
Przykład użycia
Na poprzedniej lekcji trenowaliśmy drzewo decyzyjne CART na małym zbiorze danych, wywołując funkcję tfdf.keras.CartModel
. Aby wytrenować model lasa losowego, wystarczy zastąpić tfdf.keras.CartModel
wartością tfdf.keras.RandomForestModel
:
model = tfdf.keras.RandomForestModel()
model.fit(tf_train_dataset)
Zalety i wady
W tej sekcji znajdziesz krótkie podsumowanie zalet i wad lasów losowych.
Zalety:
- Podobnie jak drzewa decyzyjne, lasy losowe obsługują w pierwszej kolejności atrybuty numeryczne i kategorialne, a często nie wymagają wstępnego przetwarzania atrybutów.
- Drzewa decyzyjne są niezależne, więc lasy losowe można trenować równolegle. Dzięki temu możesz szybko szkolić lasy losowe.
- Lasy losowe mają parametry domyślne, które często dają świetne wyniki. Dostosowanie tych parametrów często ma niewielki wpływ na model.
Wady:
- Drzewa decyzyjne nie są przycinane, więc mogą być duże. Modele z ponad milionem węzłów są powszechne. Rozmiar (a zatem szybkość wnioskowania) lasu losowego może czasami stanowić problem.
- Lasy losowe nie mogą uczyć się i ponownie używać wewnętrznych reprezentacji. Każde drzewo decyzyjne (i każdy jego element) musi ponownie nauczyć się wzorca zbioru danych. W przypadku niektórych zbiorów danych, zwłaszcza zbiorów nietablicowych (np. obrazów lub tekstu), lasy losowe dają gorsze wyniki niż inne metody.