Ejecuté un modelo xgboost. No sé exactamente cómo interpretar la salida de xgb.importance
.
¿Cuál es el significado de ganancia, cobertura y frecuencia y cómo los interpretamos?
Además, ¿qué significa Split, RealCover y RealCover%? Tengo algunos parámetros extra aquí
¿Hay algún otro parámetro que pueda brindarme más información sobre las características importantes?
De la documentación de R, entiendo que Gain es algo similar a Ganancia de información y Frecuencia es la cantidad de veces que se usa una característica en todos los árboles. No tengo idea de qué es Cover.
Ejecuté el código de ejemplo proporcionado en el enlace (y también intenté hacer lo mismo en el problema en el que estoy trabajando), pero la definición dividida dada allí no coincidía con los números que calculé.
importance_matrix
Salida:
Feature Gain Cover Frequence
1: xxx 2.276101e-01 0.0618490331 1.913283e-02
2: xxxx 2.047495e-01 0.1337406946 1.373710e-01
3: xxxx 1.239551e-01 0.1032614896 1.319798e-01
4: xxxx 6.269780e-02 0.0431682707 1.098646e-01
5: xxxxx 6.004842e-02 0.0305611830 1.709108e-02
214: xxxxxxxxxx 4.599139e-06 0.0001551098 1.147052e-05
215: xxxxxxxxxx 4.500927e-06 0.0001665320 1.147052e-05
216: xxxxxxxxxxxx 3.899363e-06 0.0001536857 1.147052e-05
217: xxxxxxxxxxxxxx 3.619348e-06 0.0001808504 1.147052e-05
218: xxxxxxxxxxxxx 3.429679e-06 0.0001792233 1.147052e-05
fuente
Gracias Sandeep por tu respuesta detallada. Me gustaría corregir que la cobertura se calcula en todas las divisiones y no solo en los nodos hoja.
Veamos un ejemplo simple con los datos proporcionados por la biblioteca xgboost.
Salida -
Tratemos de calcular la cobertura de olor = ninguno en la matriz de importancia (0.495768965) del vertedero de árboles.
La cubierta de cada división donde se usa olor = ninguno es 1628.2500 en la ID de nodo 0-0 y 765.9390 en la ID de nodo 1-1.
Cobertura total de todas las divisiones (sumando a través de la columna de cobertura en el volcado del árbol) = 1628.2500 * 2 + 786.3720 * 2
Cobertura de olor = ninguno en la matriz de importancia = (1628.2500 + 765.9390) / (1628.2500 * 2 + 786.3720 * 2)
Por lo tanto, estamos seguros de que la cobertura se calcula en todas las divisiones.
fuente