55 votos

Cómo interpretar la disminución media de la precisión y la disminución media del GINI en los modelos de Random Forest

Tengo algunas dificultades para entender cómo interpretar el resultado de la importancia de las variables del paquete Random Forest. La disminución media de la precisión suele describirse como "la disminución de la precisión del modelo al permutar los valores de cada característica".

¿Se trata de una declaración sobre la característica en su conjunto o sobre valores específicos dentro de la característica? En cualquier caso, ¿la disminución media de la precisión es el número o la proporción de observaciones que se clasifican incorrectamente al eliminar la característica (o los valores de la característica) en cuestión del modelo?

Digamos que tenemos el siguiente modelo:

require(randomForest)
data(iris)
set.seed(1)
dat <- iris
dat$Species <- factor(ifelse(dat$Species=='virginica','virginica','other'))
model.rf <- randomForest(Species~., dat, ntree=25,
importance=TRUE, nodesize=5)
model.rf
varImpPlot(model.rf)

Call:
 randomForest(formula = Species ~ ., data = dat, ntree = 25,
 proximity = TRUE, importance = TRUE, nodesize = 5)

Type of random forest: classification
Number of trees: 25
No. of variables tried at each split: 2

        OOB estimate of  error rate: 3.33%
Confusion matrix:
          other virginica class.error
other        97         3        0.03
virginica     2        48        0.04

enter image description here

En este modelo, la tasa de OOB es bastante baja (alrededor del 5%). Sin embargo, la disminución media de la precisión para el predictor (Pétalo.Longitud) con el valor más alto en esta medida es sólo de alrededor de 8.

¿Significa esto que la eliminación de Petal.Length del modelo sólo daría lugar a una clasificación errónea adicional de unas 8 observaciones de media?

¿Cómo es posible que la Disminución Media de la Precisión para Petal.Length sea tan baja, dado que es la más alta en esta medida, y por lo tanto las otras variables tienen valores aún más bajos en esta medida?

37voto

Mirko Friedenhagen Puntos 304

" ¿Se trata de una declaración sobre la característica en su conjunto o sobre valores específicos dentro de la característica? "

  • Importancia de la variable "global" es la disminución media de la precisión sobre todas las predicciones validadas de forma cruzada fuera de la bolsa, cuando una variable dada se permuta después del entrenamiento, pero antes de la predicción. "Global" está implícito. Importancia de la variable local es la disminución media de la precisión de cada predicción individual validada de forma cruzada fuera de la bolsa. La importancia global de la variable es la más popular, ya que es un único número por variable, más fácil de entender y más robusto, ya que se promedia sobre todas las predicciones.

" En cualquier caso, ¿la disminución media de la precisión es el número o la proporción de observaciones que se clasifican incorrectamente al eliminar del modelo la característica (o los valores de la característica) en cuestión? "

  1. tren del bosque
  2. medir la precisión de la CV fuera de bolsa → OOB_acc_base
  3. permutar la variable i
  4. medir la precisión de la CV fuera de bolsa → OOB_acc_perm_i
  5. VI_i = - (OOB_acc_perm_i - OOB_acc_base)

-" ¿Significa esto que la eliminación de Petal.Length del modelo sólo daría lugar a una clasificación errónea adicional de unas 8 observaciones de media? "

  • Sí. Tanto Pétalo.longitud como Pétalo.anchura por sí solos tienen una separación lineal casi perfecta. Por lo tanto, las variables comparten información redundante y la permutación de una sola no obstruye el modelo.

" ¿Cómo es posible que la Disminución Media de la Precisión para Petal.Length sea tan baja, dado que es la más alta en esta medida, y por lo tanto las otras variables tienen valores aún más bajos en esta medida? "

  • Cuando un modelo robusto/regularizado se entrena con variables redundantes, es bastante resistente a las permutaciones de las variables individuales.

Utilice la importancia de las variables principalmente para clasificar la utilidad de sus variables. Es difícil hacer una interpretación clara de los valores absolutos de la importancia de las variables.

GINI: La importancia de GINI mide la ganancia media de pureza por divisiones de una determinada variable. Si la variable es útil, tiende a dividir los nodos con etiquetas mixtas en nodos puros de una sola clase. La división por una variable permutada no tiende a aumentar ni a disminuir la pureza de los nodos. Permutar una variable útil, tiende a dar una disminución relativamente grande en la ganancia media de GINI. La importancia de GINI está estrechamente relacionada con la función de decisión local, que el bosque aleatorio utiliza para seleccionar la mejor división disponible. Por lo tanto, no se necesita mucho tiempo extra para calcularla. Por otro lado, la ganancia media de gini en las divisiones locales no es necesariamente lo más útil de medir, al contrario que el cambio del rendimiento global del modelo. La importancia de Gini es en general inferior a la importancia de la variable (basada en la permutación), ya que es relativamente más sesgada, más inestable y tiende a responder a una pregunta más indirecta.

14voto

Jianyu Puntos 131

Aquí está la descripción de la disminución media de la precisión (MDA) del manual de ayuda de randomForest:

La primera medida se calcula a partir de la permutación de datos OOB: Para cada árbol, se registra el error de predicción en la parte de los datos fuera de bolsa (tasa de error para la clasificación, MSE para la regresión). A continuación, se hace lo mismo tras permutar cada variable de predicción. La diferencia entre ambas se promedia en todos los árboles y se normaliza por la desviación estándar de las diferencias. Si la desviación estándar de las diferencias es igual a 0 para una variable, no se realiza la división (pero la media es casi siempre igual a 0 en ese caso).

Según la descripción, la "precisión" del MDA se refiere en realidad a la precisión de árbol único modelos, independientemente de que nos preocupe más la tasa de error del bosque . Así que,

"¿Significa esto que la eliminación de Petal.Length del modelo sólo daría lugar a una clasificación errónea adicional de unas 8 observaciones de media?"

  • En primer lugar, el MDA (escalado por defecto), tal y como se ha definido anteriormente, es más bien una estadística de prueba: Mean(Decreases in Accuracy of Trees)StandardDeviation(Decreases in Accuracy of Trees) La escala no es ni porcentaje ni recuento de observaciones.

  • En segundo lugar, incluso el MDA sin escalar, es decir Mean(Decreases in Accuracy of Trees) no dice nada sobre la precisión del modelo de bosque (árboles en su conjunto por votación).

En resumen, el resultado del MDA del paquete randomForest no se refiere a la tasa de error ni a los recuentos de errores, sino que se interpreta mejor como una estadística de prueba sobre el test de hipótesis: H0:Nodes constructed by predictor i is useless in any single trees frente a H1:Nodes constructed by predictor i is useful

Como observación, el procedimiento MDA descrito por Soren es diferente de la implementación del paquete randomForest. Se acerca más a lo que deseamos de un MDA: la disminución de la precisión del modelo de bosque completo. Sin embargo, el modelo probablemente se ajustará de forma diferente sin Petal.Length y se basará más en otros predictores. Por lo tanto, el MDA de Soren sería demasiado pesimista.

10voto

Marksu Teoren Puntos 33

Un reciente entrada del blog de un equipo de la Universidad de San Francisco muestra que las estrategias de importancia por defecto tanto en R (randomForest) como en Python (scikit) no son fiables en muchos escenarios de datos. En particular, la disminución media de las métricas de importancia de las impurezas está sesgada cuando las posibles variables predictoras varían en su escala de medición o en su número de categorías.

Los artículos y la entrada del blog demuestran cómo las variables continuas y de alta cardinalidad son preferidas en la disminución media de las clasificaciones de importancia de las impurezas, aunque sean igualmente poco informativas en comparación con las variables con menos categorías. Los autores sugieren utilizar la importancia por permutación en lugar de la predeterminada en estos casos. Si las variables predictoras de su modelo están muy correlacionadas, se sugiere la importancia de permutación condicional.

La impureza está sesgada ya que cada vez que se selecciona un punto de ruptura en una variable, se prueban todos los niveles de la variable para encontrar el mejor punto de ruptura. Las variables continuas o de alta cardinalidad tendrán muchos más puntos de ruptura, lo que da lugar al problema de las "pruebas múltiples". Es decir, hay una mayor probabilidad de que por casualidad esa variable prediga bien el resultado, ya que las variables en las que se prueban más puntos de ruptura aparecerán más a menudo en el árbol.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X