Medidas de importancia variable en bosques aleatorios.

40

He estado jugando con bosques aleatorios para la regresión y tengo dificultades para determinar exactamente qué significan las dos medidas de importancia y cómo deben interpretarse.

La importance()función proporciona dos valores para cada variable: %IncMSEy IncNodePurity. ¿Hay interpretaciones simples para estos 2 valores?

En IncNodePurityparticular, ¿es esto simplemente la cantidad que aumenta el RSS después de la eliminación de esa variable?

dcl
fuente
1
¿Has mirado ?importance? Hay una explicación sobre lo que significan ambas medidas ...
Nick Sabbe
2
@Nick Sabbe, sí, y estoy tratando de entenderlos. Me preguntaba si hay alguna buena interpretación intuitiva para ellos.
dcl

Respuestas:

42

El primero se puede 'interpretar' de la siguiente manera: si un predictor es importante en su modelo actual, la asignación de otros valores para ese predictor de manera aleatoria pero 'realista' (es decir, permutar los valores de este predictor sobre su conjunto de datos), debería tener una influencia negativa en la predicción, es decir: usar el mismo modelo para predecir a partir de datos que son iguales, excepto para una variable, debería dar predicciones peores.

Entonces, toma una medida predictiva (MSE) con el conjunto de datos original y luego con el conjunto de datos 'permutado', y los compara de alguna manera. Una forma, particularmente dado que esperamos que el MSE original sea siempre más pequeño, se puede tomar la diferencia. Finalmente, para hacer que los valores sean comparables con las variables, estos se escalan.

Para el segundo: en cada división, puede calcular cuánto esta división reduce la impureza del nodo (para los árboles de regresión, de hecho, la diferencia entre RSS antes y después de la división). Esto se suma a todas las divisiones para esa variable, a todos los árboles.

Nota: una buena lectura es Elementos de aprendizaje estadístico de Hastie, Tibshirani y Friedman ...

Nick Sabbe
fuente
3
Saludos, en realidad tengo ese libro abierto ahora :)
dcl
¿Qué significa RSS?
DavideChicco.it
RSS es la suma residual de cuadrados
Barker
10

Las métricas de importancia de Random Forest implementadas en el paquete randomForest en R tienen peculiaridades en que los predictores correlacionados obtienen valores de baja importancia.

http://bioinformatics.oxfordjournals.org/content/early/2010/04/12/bioinformatics.btq134.full.pdf

Tengo una implementación modificada de bosques aleatorios en CRAN que implementa su enfoque de estimación de valores p empíricos y tasas de descubrimiento falsas, aquí

http://cran.r-project.org/web/packages/pRF/index.html

Ankur Chakravarthy
fuente
1
¿Explica esto los diferentes resultados de importancia variable si usa randomForest con el paquete caret como caret::train(method="rf", importance = TRUE, ...)??
Agile Bean