Tengo algunas dificultades para comprender cómo interpretar la salida de importancia variable del paquete Random Forest. La disminución media en la precisión generalmente se describe como "la disminución en la precisión del modelo al permutar los valores en cada característica".
¿Es esta 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
En este modelo, la tasa OOB es bastante baja (alrededor del 5%). Sin embargo, la disminución media en la precisión del predictor (Pétalo.Longitud) con el valor más alto en esta medida es solo alrededor de 8.
¿Significa esto que eliminar Petal.Length del modelo solo daría como resultado una clasificación errónea adicional de 8 o más observaciones en promedio?
¿Cómo podría ser la disminución media en la precisión del pétalo. Longitud 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?
Respuestas:
" ¿Es esta una declaración sobre la característica en su conjunto o sobre valores específicos dentro de la característica? "
" En cualquier caso, ¿es la disminución media en la precisión 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? "
- " ¿Esto significa que eliminar Petal.Length del modelo solo daría como resultado una clasificación errónea adicional de 8 o más observaciones en promedio? "
" ¿Cómo podría ser la disminución media en la precisión del pétalo. Longitud 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? "
Utiliza principalmente la importancia variable principalmente para clasificar la utilidad de tus variables. Una interpretación clara de los valores absolutos de importancia variable es difícil de hacer bien.
GINI: La importancia de GINI mide la ganancia promedio de pureza por divisiones de una variable dada. Si la variable es útil, tiende a dividir los nodos etiquetados mixtos en nodos de clase única pura. La división por variables permutadas no tiende a aumentar ni disminuir la pureza de los nodos. Permutando 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 utiliza el bosque aleatorio para seleccionar la mejor división disponible. Por lo tanto, no toma mucho tiempo extra para calcular. Por otro lado, la ganancia media de gini en las divisiones locales no es necesariamente lo que es más útil para medir, al contrario del cambio del rendimiento general del modelo. La importancia de Gini es en general inferior a la importancia variable (basada en la permutación) ya que es relativamente más sesgada, más inestable y tiende a responder una pregunta más indirecta.
fuente
Aquí está la descripción de la disminución media en la precisión (MDA) del manual de ayuda de randomForest:
Según la descripción, la "precisión" en MDA en realidad se refiere a la precisión de los modelos de árboles individuales , independientemente del hecho de que estamos más preocupados por la tasa de error del bosque . Asi que,
Como observación, el procedimiento MDA descrito por Soren es diferente de la implementación del paquete randomForest. Está más cerca de lo que deseamos de una MDA: la disminución de la precisión de todo el modelo forestal. Sin embargo, el modelo probablemente se ajustará de manera diferente sin Pétalo. Longitud y dependerá más de otros predictores. Por lo tanto, la MDA de Soren sería demasiado pesimista.
fuente
Una reciente (publicación de blog) [ https://explained.ai/rf-importance/index.html] de un equipo de la Universidad de San Francisco muestra que las estrategias de importancia predeterminadas en R (randomForest) y Python (scikit) no son confiables en muchos escenarios de datos. Particularmente, la disminución media en la métrica de importancia de impurezas está sesgada cuando las variables predictoras potenciales varían en su escala de medición o su número de categorías.
Los artículos y la publicación de blog demuestran cómo se prefieren las variables de cardinalidad continua y alta en la disminución de la clasificación de importancia de impurezas, incluso si son igualmente poco informativas en comparación con las variables con menos categorías. Los autores sugieren utilizar la importancia de la permutación en lugar de la predeterminada en estos casos. Si las variables predictoras en su modelo están altamente correlacionadas, se sugiere la importancia de la permutación condicional.
La impureza está sesgada ya que cada vez que se selecciona un punto de ruptura en una variable, cada nivel de la variable se prueba para encontrar el mejor punto de ruptura. Las variables de cardinalidad continua o alta tendrán muchos más puntos de división, lo que resulta en el problema de "prueba múltiple". Es decir, existe una mayor probabilidad de que, por casualidad, esa variable prediga bien el resultado, ya que las variables, donde se intentan más divisiones, aparecerán con mayor frecuencia en el árbol.
fuente