¿Cuándo debo usar Gini Impurity en lugar de Information Gain?

66

¿Alguien puede explicar prácticamente la razón detrás de la impureza de Gini frente a la ganancia de información (basada en la entropía)?

¿Qué métrica es mejor usar en diferentes escenarios al usar árboles de decisión?

Krish Mahajan
fuente
55
@ Anony-Mousse Supongo que eso era obvio antes de tu comentario. La pregunta no es si ambos tienen sus ventajas, sino en qué escenarios, uno es mejor que el otro.
Martin Thoma
He propuesto "Ganancia de información" en lugar de "Entropía", ya que está bastante más cerca (en mi humilde opinión), como se marca en los enlaces relacionados. Entonces, la pregunta se hizo de forma diferente en ¿ Cuándo usar la impureza de Gini y cuándo usar la ganancia de información?
Laurent Duval
1
He publicado aquí una interpretación simple de la impureza de Gini que puede ser útil.
Picaud Vincent el

Respuestas:

47

La impureza de Gini y la entropía de ganancia de información son más o menos lo mismo. Y la gente usa los valores indistintamente. A continuación se encuentran las fórmulas de ambos:

  1. Gini:Gini(E)=1j=1cpj2
  2. Entropy:H(E)=j=1cpjlogpj

Si tuviera que elegir, usaría la impureza de Gini, ya que no requiere que calcule funciones logarítmicas, que son computacionalmente intensivas. La forma cerrada de su solución también se puede encontrar.

¿Qué métrica es mejor usar en diferentes escenarios al usar árboles de decisión?

La impureza de Gini, por las razones expuestas anteriormente.

Entonces, son más o menos lo mismo cuando se trata de análisis CART.

Referencia útil para la comparación computacional de los dos métodos

Dawny33
fuente
1
Es muy común ver la fórmula de la entropía, mientras que lo que realmente se usa en el árbol de decisión parece una entropía condicional. Creo que es importante distinción o me falta algo?
user1700890
@ user1700890 El algoritmo ID3 usa Info. ganar entropía Necesito leer sobre entropía condicional. Probablemente una mejora sobre ID3 :)
Dawny33
1
Creo que su definición de la impertinencia de Gini podría estar equivocada: en.wikipedia.org/wiki/Decision_tree_learning#Gini_impurity
Martin Thoma
22

En general, su rendimiento no cambiará si usa impureza de Gini o Entropía.

Laura Elena Raileanu y Kilian Stoffel compararon ambos en " Comparación teórica entre el índice de Gini y los criterios de ganancia de información ". Los comentarios más importantes fueron:

  • Solo importa en el 2% de los casos si usa impureza de gini o entropía.
  • La entropía puede ser un poco más lenta de calcular (porque utiliza el logaritmo).

Una vez me dijeron que ambas métricas existen porque surgieron en diferentes disciplinas de la ciencia.

Archie
fuente
16

Para el caso de una variable con dos valores, que aparece con fracciones f y (1-f),
el gini y la entropía están dados por:
gini = 2 * f (1-f)
entropía = f * ln (1 / f) + (1-f) * ln (1 / (1-f))
Estas medidas son muy similares si se escala a 1.0 (trazando 2 * gini y entropía / ln (2)):

Los valores de Gini (y4, púrpura) y Entropía (y3, verde) se escalan para comparar

DanLvii Dewey
fuente
14

Gini está destinado a atributos continuos y Entropía es para atributos que ocurren en clases

Gini es minimizar la clasificación errónea La
entropía es para análisis exploratorio

La entropía es un poco más lenta de calcular

NIMISHAN
fuente
7

Para agregar el hecho de que hay más o menos lo mismo, considere también el hecho de que: para que: Vea la siguiente gráfica de los dos funciones normalizadas para obtener 1 como valor máximo: la curva roja es para Gini mientras que la negra es para entropía.

0<u<1,log(1u)=uu2/2u3/3+0<p<1,log(p)=p1(1p)2/2(1p)3/3+
0<p<1,plog(p)=p(1p)+p(1p)2/2+p(1p)3/3+
Criterios normalizados de Gini y Entropía

Al final, según lo explicado por @NIMISHAN, Gini es más adecuado para minimizar la clasificación errónea, ya que es simétrica a 0.5, mientras que la entropía penalizará las probabilidades más pequeñas.

ClementWalter
fuente
3

La entropía requiere un poco más de tiempo de cálculo que el índice de Gini debido al cálculo del registro, tal vez por eso el índice de Gini se ha convertido en la opción predeterminada para muchos algoritmos de ML. Pero, de Tan et. al libro Introducción a la minería de datos

"Las medidas de impureza son bastante consistentes entre sí ... De hecho, la estrategia utilizada para podar el árbol tiene un mayor impacto en el árbol final que la elección de la medida de impureza".

Por lo tanto, parece que la selección de la medida de impurezas tiene poco efecto en el rendimiento de los algoritmos de árbol de decisión único.

También. "El método de Gini funciona solo cuando la variable de destino es una variable binaria". - Aprendizaje de análisis predictivos con Python.

Rakend Dubba
fuente
3

He estado haciendo optimizaciones en la clasificación binaria durante la última semana, y en todos los casos, la entropía supera significativamente a Gini. Esto puede ser específico del conjunto de datos, pero parece que intentar ambas cosas mientras se ajustan los hiperparámetros es una elección racional, en lugar de hacer suposiciones sobre el modelo con anticipación.

Nunca se sabe cómo reaccionarán los datos hasta que haya ejecutado las estadísticas.

H Froedge
fuente
0

Según el director de parsimonia, Gini superó a la entropía en términos de facilidad de cálculo (el registro es obvio tiene más cálculos involucrados en lugar de una simple multiplicación a nivel de procesador / máquina).

Pero la entropía definitivamente tiene una ventaja en algunos casos de datos que involucran un alto desequilibrio.

Dado que la entropía usa el registro de probabilidades y se multiplica con probabilidades de evento, lo que sucede en el fondo es que el valor de las probabilidades más bajas se está ampliando.

Si su distribución de probabilidad de datos es exponencial o Laplace (como en el caso del aprendizaje profundo donde necesitamos distribución de probabilidad en el punto agudo), la entropía supera a Gini.

Para dar un ejemplo si tiene 2 eventos, uno .01 probabilidad y otro .99 probabilidad.

En Gini Prob sq será .01 ^ 2 + .99 ^ 2, .0001 + .9801 significa que la probabilidad más baja no juega ningún papel ya que todo está gobernado por la probabilidad mayoritaria.

Ahora en caso de entropía .01 * log (.01) +. 99 * log (.99) = .01 * (- 2) + .99 * (-. 00436) = -.02-.00432 ahora en este caso Claramente visto, las probabilidades más bajas tienen una mejor edad de peso.

Gaurav Dogra
fuente