Otros temas

En esta unidad, se examinan los siguientes temas:

  • interpretación de bosques aleatorios
  • Entrenamiento de bosques aleatorios
  • ventajas y desventajas de los bosques aleatorios

Interpretación de bosques aleatorios

Los bosques aleatorios son más complejos de interpretar que los árboles de decisión. Los bosques aleatorios contienen árboles de decisión entrenados con ruido aleatorio. Por lo tanto, es más difícil tomar decisiones sobre la estructura del árbol de decisión. Sin embargo, podemos interpretar los modelos de bosque aleatorio de varias maneras.

Un enfoque para interpretar un bosque aleatorio es simplemente entrenar e interpretar un árbol de decisión con el algoritmo CART. Debido a que tanto el bosque aleatorio como el CART se entrenan con el mismo algoritmo principal, “comparten la misma vista global” del conjunto de datos. Esta opción funciona bien para conjuntos de datos simples y para comprender la interpretación general del modelo.

Las importancias de las variables son otro buen enfoque de interpretabilidad. Por ejemplo, en la siguiente tabla, se clasifica la importancia de las variables de diferentes atributos para un modelo de bosque aleatorio entrenado en el conjunto de datos del censo (también conocido como Adult).

Tabla 8. Importancia de las variables de 14 características diferentes.

Función Suma de la puntuación Disminución promedio de la precisión Disminución promedio del AUC Profundidad mínima promedio Cantidad de nodos Disminución promedio en la AUC de PR Num como raíz
relación

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

edad

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

sexo

226049.3

0.0002

0.0002

10.911

37754

-0.0011

13

race

168180.9

-0.0006

-0.0004

11.571

42262

-0.0031

0

Como ves, las diferentes definiciones de importancia de las variables tienen escalas diferentes y pueden generar diferencias en la clasificación de las características.

Las importancias de las variables que provienen de la estructura del modelo (por ejemplo, la puntuación de suma, la profundidad mínima promedio, la cantidad de nodos y la cantidad como raíz en la tabla anterior) se calculan de manera similar para los árboles de decisión (consulta la sección "Cart | Variable importance") y los bosques aleatorios.

La importancia de las variables de permutación (por ejemplo, la disminución promedio en {accuracy, auc, pr-auc} en la tabla anterior) son medidas independientes del modelo que se pueden calcular en cualquier modelo de aprendizaje automático con un conjunto de datos de validación. Sin embargo, con el bosque aleatorio, en lugar de usar un conjunto de datos de validación, puedes calcular la importancia de las variables de permutación con la evaluación fuera del bag.

SHAP (Explicaciones aditivas de Shapley) es un método agnóstico al modelo para explicar predicciones individuales o la interpretación de modelos. (consulta Interpretable Machine Learning de Molnar para obtener una introducción a la interpretación independiente del modelo). Por lo general, el SHAP es costoso de calcular, pero se puede acelerar significativamente para los bosques de decisión, por lo que es una buena forma de interpretarlos.

Ejemplo de uso

En la lección anterior, entrenamos un árbol de decisión CART en un conjunto de datos pequeño llamando a tfdf.keras.CartModel. Para entrenar un modelo de bosque aleatorio, simplemente reemplaza tfdf.keras.CartModel por tfdf.keras.RandomForestModel:

model = tfdf.keras.RandomForestModel()
model.fit(tf_train_dataset)

Pros y contras

En esta sección, se incluye un resumen rápido de las ventajas y desventajas de los bosques aleatorios.

Ventajas:

  • Al igual que los árboles de decisión, los bosques aleatorios admiten atributos numéricos y categóricos de forma nativa y, a menudo, no necesitan un procesamiento previo de los atributos.
  • Debido a que los árboles de decisión son independientes, los bosques aleatorios se pueden entrenar en paralelo. Por lo tanto, puedes entrenar bosques aleatorios con rapidez.
  • Los bosques aleatorios tienen parámetros predeterminados que suelen brindar excelentes resultados. Ajustar esos parámetros suele tener poco efecto en el modelo.

Desventajas:

  • Debido a que los árboles de decisión no se podan, pueden ser grandes. Los modelos con más de 1 millón de nodos son comunes. El tamaño (y, por lo tanto, la velocidad de inferencia) del bosque aleatorio a veces puede ser un problema.
  • Los bosques aleatorios no pueden aprender ni reutilizar representaciones internas. Cada árbol de decisión (y cada rama de cada árbol de decisión) debe volver a aprender el patrón del conjunto de datos. En algunos conjuntos de datos, en particular los no tabulares (p.ej., imágenes o texto), esto hace que los bosques aleatorios tengan peores resultados que otros métodos.