6 votos

¿Qué cálculo utiliza XGBoost para las importaciones de características?

¿Alguien sabe cuál es el cálculo real detrás del método de importancia de la característica (tipo de importancia='ganancia') en la biblioteca xgboost? He mirado la documentación y también he consultado otras páginas pero no he podido encontrar una referencia exacta sobre cuál es el cálculo real que hay detrás de las medidas.

Estaría encantado de recibir cualquier tipo de referencias científicas del método de cálculo ya que me gustaría citarlo.

5voto

Brett Puntos 11

Al igual que con los bosques aleatorios, hay diferentes formas de calcular la importancia de las características. En XGBoost, que es un paquete particular que implementa árboles de gradiente reforzado, ofrecen las siguientes formas de calcular la importancia de las características:

Cómo se calcula la importancia: "peso", "ganancia" o "cobertura"
- "peso" es el número de veces que una característica aparece en un árbol
- "ganancia" es la ganancia media de las divisiones que utilizan la característica
- "cover" es la cobertura media de las divisiones que utilizan la característica, donde la cobertura se define como el número de muestras afectadas por la división

(Fuente: https://xgboost.readthedocs.io/en/latest/python/python_api.html )

Ahora, la ganancia es básicamente la ganancia de información promediada sobre todos los árboles. Para ello, dado un nodo del árbol, primero se calcula la impureza del nodo padre, por ejemplo, utilizando Gini o la entropía como criterio. A continuación, se calculan las impurezas de los nodos hijos si se utiliza una característica determinada para la división. Por último, se calcula la ganancia de información restando las impurezas de los nodos hijos de la impureza del nodo padre. Avísame si necesitas más detalles al respecto.

0 votos

Gracias por su respuesta. Basándome en su respuesta, mi pregunta de seguimiento sería entonces si la importancia de la característica de xgboost es realmente idéntica al cálculo de la importancia de la característica en los bosques aleatorios o hay alguna diferencia? Como he dicho, me gustaría citar algo sobre este tema, pero no puedo citar ninguna respuesta del SO ni ninguna entrada del blog de Medium. Por lo tanto, algún papel o cualquier escrito oficial de lo que el cálculo se utiliza sería útil. Esto no quiere decir que no te crea :)

1 votos

@TheDude Aunque los cálculos sean los mismos, xgboost es un modelo diferente al de random forest por lo que las métricas de importancia de las características no serán idénticas en general.

2 votos

Dado que XGBoost es una implementación particular de software de refuerzo de gradiente, los únicos recursos oficiales que puede encontrar son el documento original ( delivery.acm.org/10.1145/2940000/2939785/p785-chen.pdf ) y la documentación que he enlazado anteriormente. Creo que citar el documento para saber cómo se calcula la ganancia y citar la documentación de la API para saber cómo se calcula la importancia de la característica en función de la ganancia debería ser suficiente

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