En esta unidad, se analizan los siguientes temas:
- interpretando bosques aleatorios
- entrenar bosques aleatorios
- pros y contras de los bosques aleatorios
Interpreta bosques aleatorios
Los bosques aleatorios son más complejos de interpretar que los árboles de decisión. Bosques aleatorios contener árboles de decisión entrenados con ruido aleatorio. Por eso, es más difícil juzgar la estructura del árbol de decisiones. Sin embargo, podemos interpretar de bosque de dos maneras.
Un enfoque para interpretar un bosque aleatorio es simplemente entrenar e interpretar un bosque árbol de decisión con el algoritmo CART. Debido a que tanto el bosque aleatorio como el CART son entrenadas con el mismo algoritmo central, “comparten la misma visión global” de los de tu conjunto de datos. Esta opción funciona bien para conjuntos de datos simples y para comprender el interpretación general del modelo.
Las importancias de las variables son otra buena interpretabilidad enfoque. Por ejemplo, la siguiente tabla clasifica la importancia de la variable diferentes atributos para un modelo de bosque aleatorio entrenado Conjunto de datos del censo (también conocido como Adulto).
Tabla 8. Importancia variable de 14 atributos diferentes
Función | Puntuación de la suma | Disminución media de la exactitud | Disminución media del AUC | Profundidad mínima media | Cantidad de nodos | Disminución media del PR-AUC | Num como raíz |
---|---|---|---|---|---|---|---|
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 |
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 | 866,863.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 | 168,180.9 |
−0.0006 |
−0.0004 |
11.571 |
42262 |
−0.0031 |
0 |
Como puedes ver, las diferentes definiciones de importancias variables tienen diferentes escalas. y pueden generar diferencias en la clasificación de los atributos.
Importancias variables que provienen de la estructura del modelo (por ejemplo, la suma puntuación, profundidad mínima media, núm. de nodos y num como raíz en la tabla anterior) son se calcula de manera similar para los árboles de decisión (consulta la sección "Carrito | Importancia de la variable") y bosques aleatorios.
importancia de las variables de permutación (por ejemplo, disminución media en {accuracy, auc, pr-auc} en la tabla anterior) son medidas agnósticas del modelo que pueden calcularse cualquier modelo de aprendizaje automático con un conjunto de datos de validación. Con un bosque aleatorio, Sin embargo, en lugar de usar un conjunto de datos de validación, puedes calcular la permutación importancia variable con una evaluación extraordinaria.
SHAP (explicaciones aditivas de Shapley) es un método agnóstico al modelo para explicar las predicciones individuales o la interpretación inteligente del modelo. (Consulta Aprendizaje automático interpretable por Molnar para una introducción a la interpretación agnóstica del modelo). SHAP es que normalmente es costoso de procesar, pero puede se aceleraron significativamente para la decisión por lo que es una buena manera de interpretar estos bosques.
Ejemplo de uso
En la lección anterior, entrenamos un árbol de decisión CART con 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
Esta sección contiene un resumen breve de las ventajas y desventajas de los bosques aleatorios.
Ventajas:
- Al igual que los árboles de decisión, los bosques aleatorios admiten de forma nativa atributos categóricos y, a menudo, no necesitan procesamiento previo de los atributos.
- Debido a que los árboles de decisión son independientes, los bosques aleatorios pueden entrenarse en paralelo. En consecuencia, puedes entrenar bosques aleatorios con rapidez.
- Los bosques aleatorios tienen parámetros predeterminados que suelen dar excelentes resultados. Ajustes esos parámetros a menudo tienen poco efecto en el modelo.
Desventajas:
- Debido a que los árboles de decisión no se podan, pueden ser grandes. Modelos con más es común que haya más de 1 millón de nodos. El tamaño (y, por lo tanto, la velocidad de inferencia) de la bosque aleatorio a veces puede ser un problema.
- Los bosques aleatorios no pueden aprender y reutilizar representaciones internas. Cada el árbol de decisión (y cada rama de cada árbol de decisión) debe volver a aprender el conjunto de datos. En algunos conjuntos de datos, notablemente los conjuntos de datos no tabulares (p.ej., imágenes, texto), esto lleva a bosques aleatorios a peores resultados que otros métodos.