4 votos

Impureza de entropía, impureza de Gini, ganancia de información: ¿diferencias?

Estoy tratando de entender la teoría detrás de los árboles de decisión (CART) y especialmente la implementación de scikit-learn.

CART construye árboles binarios utilizando la característica y el umbral que que producen la mayor ganancia de información en cada nodo. documentación de scikit-learn

Además, define la Impureza de Gini y la Impureza de Entropía como sigue:

Gini: Gini La entropía: enter image description here

Y que debería

seleccionar los parámetros que minimizan la impureza.

Sin embargo, en el caso concreto de DecisionTreeClassifier Puedo elegir el criterion :

Los criterios admitidos son "gini" para la impureza de Gini y "entropía" para la ganancia de información. DecisionTreeClassifier

Lo que no entiendo es que (en mi opinión) la ganancia de información es la diferencia entre la impureza del nodo padre y la media ponderada de los hijos izquierdo y derecho. Esto significa que debo elegir la característica con la mayor ganancia para la división.

¿La ganancia de información se aplica sólo a la entropía o también a la impureza de Gini? Según el criterio del clasificador, ¿es la impureza de gini o la ganancia de información de la entropía lo que significa que minimiza la impureza de gini o maximiza la ganancia de información?

3voto

Daniel Puntos 6

El algoritmo minimiza la métrica de impureza, usted selecciona qué métrica minimizar, puede ser la entropía cruzada o la impureza de gini. Si se minimiza la entropía cruzada se maximiza la ganancia de información.

Aquí puede ver la asignación de nombres de criterios:

CRITERIA_CLF = {"gini": _criterion.Gini, "entropy": _criterion.Entropy}

Y aquí es su realización. Código para el cálculo de Impureza de la entropía , Impureza de Gini .

En los comentarios a impurity_improvement método se afirma que:

Este método calcula la mejora de la impureza cuando se produce una división. La ecuación de mejora de la impureza ponderada es la siguiente: $$ \frac{N_t} {N} * (\text{impurity} - \frac{N_{tR}}{ N_t} * \text{right_impurity}- \frac{N_{tL}} {N_t} * \text{left_impurity})$$ donde N es el número total de muestras, $N_t$ es el número de muestras en el nodo actual, $N_{tL}$ es el número de muestras en el hijo izquierdo, y $N_{tR}$ es el número de muestras en el hijo derecho

El algoritmo selecciona entonces la característica con más alto mejora (es decir, la mayor ganancia en la reducción de impurezas).

0 votos

Gracias. La documentación del clasificador dice que se trata de una impureza de Gini o de una ganancia de información de entropía. En la literatura he encontrado a menudo que la ganancia de información no es exclusiva de la entropía, sino de cualquier medida de impureza. Así que eso me confundió un poco, supongo.

0 votos

Hay algo que no funciona. Se trata de entropía aquí, no de entropía cruzada. ¿No es así?

0 votos

@Tyler ¿te refieres a su fórmula de "entropía cruzada"?

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