Outros temas

Esta unidade analisa os seguintes tópicos:

  • interpretação de florestas aleatórias
  • treinamento de florestas aleatórias
  • prós e contras das florestas aleatórias

Interpretação de florestas aleatórias

As florestas aleatórias são mais complexas do que as árvores de decisão. As florestas aleatórias contêm árvores de decisão treinadas com ruído aleatório. Portanto, é mais difícil criar julgamentos sobre a estrutura de árvore de decisão. No entanto, podemos interpretar modelos aleatórios de floresta de algumas maneiras.

Uma abordagem para interpretar uma floresta aleatória é simplesmente treinar e interpretar uma árvore de decisão com o algoritmo CART. Tanto a floresta aleatória quanto o CART são treinados com o mesmo algoritmo principal, eles compartilham a mesma visualização global do conjunto de dados. Essa opção funciona bem para conjuntos de dados simples e para compreender a interpretação geral do modelo.

As importâncias de variáveis são outra boa abordagem de interpretabilidade. Por exemplo, a tabela a seguir classifica a importância variável de diferentes atributos para um modelo de floresta aleatória treinado no conjunto de dados do censo (também conhecido como adulto).

Tabela 8. Importância variável de 14 recursos diferentes.

Seleção de Pontuação de soma Redução média na acurácia Redução média na AUC Profundidade mínima média Nó de nós Redução média na PR-AUC Numa 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

2.520.658,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

raça

168.180,9

-0,0006

-0,0004

11,571

42262

-0,0031

0

Como você vê, diferentes definições de importância das variáveis têm diferentes escalas e podem levar a diferenças na classificação dos recursos.

As importâncias variáveis provenientes da estrutura do modelo (por exemplo, soma de pontuação, profundidade mínima, nós num e num como raiz na tabela acima) são calculadas de maneira semelhante para árvores de decisão (consulte a seção "Carrinho | Importância da variável") e florestas aleatórias.

A importância da variável de permutação (por exemplo, redução média em {accuracy, auc, pr-auc} na tabela acima) são medidas agnósticas de modelo que podem ser computadas em qualquer modelo de machine learning com um conjunto de dados de validação. No entanto, com a floresta aleatória, em vez de usar um conjunto de dados de validação, é possível calcular a importância da variável de permutação com a avaliação fora do saco.

SHAP (SHapley Additive exPlanations) é um método independente de modelo para explicar previsões individuais ou a interpretação no modelo. Consulte Aprendizado de máquina interpretável (em inglês) da Molnar para ver uma introdução à interpretação independente de modelo. O SHAP normalmente é caro, mas pode ser acelerado significativamente para florestas de decisão. Portanto, é uma boa maneira de interpretar florestas de decisão.

Exemplo de uso

Na lição anterior, treinamos uma árvore de decisão de CART em um pequeno conjunto de dados chamando 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 apresenta um breve resumo das vantagens e desvantagens das florestas aleatórias.

Vantagens:

  • Assim como as árvores de decisão, as florestas aleatórias são compatíveis com atributos categóricos e numéricos nativamente e, muitas vezes, não precisam de pré-processamento de atributos.
  • Como as árvores de decisão são independentes, as florestas aleatórias podem ser treinadas em paralelo. Assim, é possível treinar florestas aleatórias rapidamente.
  • As florestas aleatórias têm parâmetros padrão que geralmente oferecem ótimos resultados. Ajustar esses parâmetros costuma ter pouco efeito no modelo.

Desvantagens:

  • Como as árvores de decisão não são apagadas, elas podem ser grandes. Modelos com mais de 1 milhão de nós são comuns. Às vezes, o tamanho (e, portanto, a velocidade de inferência) da floresta aleatória pode ser um problema.
  • Florestas aleatórias não podem aprender e reutilizar representações internas. Cada árvore de decisão (e cada ramificação de cada árvore de decisão) precisa reaprender o padrão do conjunto de dados. Em alguns conjuntos de dados, principalmente no conjunto de dados não tabular (por exemplo, imagem, texto), isso leva a florestas aleatórias a resultados piores do que outros métodos.