Outros temas

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.