Nesta unidade, analisamos os seguintes tópicos:
- a interpretação de florestas aleatórias
- treinar florestas aleatórias
- prós e contras das florestas aleatórias
Como interpretar florestas aleatórias
Florestas aleatórias são mais complexas de interpretar do que árvores de decisão. Florestas aleatórias contêm árvores de decisão treinadas com ruído aleatório. Portanto, é mais difícil fazer julgamentos sobre a estrutura da árvore de decisão. No entanto, podemos interpretar de várias maneiras.
Uma abordagem para interpretar uma floresta aleatória é simplesmente treinar e interpretar árvore de decisão com o algoritmo CART. Como tanto a floresta aleatória quanto o CART são são treinados com o mesmo algoritmo central, eles "compartilham a mesma visão global" da no conjunto de dados. Essa opção funciona bem para conjuntos de dados simples e para entender os e a interpretação geral do modelo.
As importâncias variáveis são outra boa interpretabilidade abordagem humilde. Por exemplo, a tabela a seguir classifica a importância variável atributos diferentes para um modelo de floresta aleatória treinado com Conjunto de dados do censo (também conhecido como conhecida como Adulto).
Tabela 8. Importância variável de 14 recursos diferentes. .
Recurso | Pontuação de soma | Diminuição média na acurácia | Redução média na AUC | Profundidade mínima média | No de nós | Redução média no PR-AUC | Num como raiz |
---|---|---|---|---|---|---|---|
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 |
idade | 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 |
race | 168.180,9 |
-0,0006 |
-0,0004 |
11,571 |
42262 |
-0,0031 |
0 |
Como podemos notar, diferentes definições de importâncias variáveis têm escalas diferentes o que pode gerar diferenças na classificação deles.
As importâncias variáveis que vêm da estrutura do modelo (por exemplo, soma score, profundidade mínima média, número de nós e num como raiz na tabela acima) são computados de maneira semelhante para árvores de decisão (consulte a seção "Carrinho | Importância variável") e florestas aleatórias.
Importância da variável de troca (por exemplo, diminuição média em {accuracy, auc, pr-auc} na tabela acima) são medidas independentes de modelo que podem ser calculadas com base qualquer modelo de machine learning com um conjunto de dados de validação. Com floresta aleatória, No entanto, em vez de usar um conjunto de dados de validação, é possível calcular a permutação importância da variável com a avaliação pronta para uso.
O SHAP (SHapley Additive exPlanations) é um método independente de modelo para e explicar as previsões individuais ou a interpretação por modelo. Consulte Machine learning interpretável por Molnar para uma introdução à interpretação independente de modelo.) SHAP é normalmente caros de computação, mas pode ser aceleraram significativamente a decisão florestas de decisão. Portanto, é uma boa maneira de interpretar florestas de decisão.
Exemplo de uso
Na aula anterior, treinamos uma árvore de decisão do CART em um pequeno conjunto de dados
chame tfdf.keras.CartModel
. Para treinar um modelo de floresta aleatória,
basta substituir tfdf.keras.CartModel
por tfdf.keras.RandomForestModel
:
model = tfdf.keras.RandomForestModel()
model.fit(tf_train_dataset)
Prós e contras
Esta seção contém um breve resumo dos prós e contras das florestas aleatórias.
Vantagens:
- Assim como as árvores de decisão, as florestas aleatórias oferecem suporte nativo a atributos categóricos e muitas vezes não precisam de pré-processamento de atributos.
- Como as árvores de decisão são independentes, florestas aleatórias podem ser treinadas em paralelo. Consequentemente, é possível treinar florestas aleatórias rapidamente.
- Florestas aleatórias têm parâmetros padrão que geralmente proporcionam ótimos resultados. Ajuste em geral, esses parâmetros têm pouco efeito no modelo.
Desvantagens:
- Como as árvores de decisão não são podadas, elas podem ser grandes. Modelos com mais de 1 milhão de nós são comuns. O tamanho e, portanto, a velocidade de inferência, do uma floresta aleatória às vezes pode ser um problema.
- As florestas aleatórias não podem aprender e reutilizar representações internas. Cada da árvore de decisão (e cada ramificação de cada árvore de decisão) deve reaprender o padrão do conjunto de dados. Em alguns conjuntos de dados, especialmente conjuntos de dados não tabulares (por exemplo, imagens, texto), isso leva as florestas aleatórias a resultados piores do que outros métodos.