Ganancia de información

Se ha comentado que el proceso seguido por el árbol de decisión se basa en la idea de separar los datos de forma que se mejore la pureza de los bloques resultantes. Esta mejora es la que se mide mediante la llamada ganancia de información (information gain o IG en inglés), definida mediante la siguiente fórmula:

Ganancia de información

En la que:

  • I es la función que mide la impureza
  • Dp es el dataset "padre" que se está dividiendo
  • Np es el número de elementos del dataset padre
  • Dj es el dataset j-ésimo en el que se ha dividido Dp
  • Nj es el número de elementos del dataset Dj

Básicamente estamos restando a la impureza del dataset inicial la impureza de los bloques resultantes ponderados según su número de elementos con respecto al total.

Si estamos trabajando en un escenario de clasificación binaria, la función anterior queda:

Ganancia de información en un escenario de clasificación binaria

En este caso Dleft es uno de los dos bloques resultantes de la división (y Nleft su número de elementos) y Dright el segundo bloque (y Nright su número de elementos).

Ésta es la función objetivo que se desea maximizar en cada "split" buscando la característica adecuada por la que realizar la división y el umbral adecuado.

Pongamos un ejemplo: supongamos que el dataset padre contiene 90 muestras y una impureza medida vía Índice Gini de 0.4. Este dataset se divide en dos grupos de 60 y 30 elementos, cuyas impurezas son 0.2 y 0.5 respectivamente. La ganancia de información sería:

IG = 0.4 - 60/90 * 0.2 - 30/90 * 0.5 =  0.1