Cálculo de la ganancia de información en R

La ganancia de información no se puede entender sin antes tener claro el concepto de entropía.

Entropía

Entendemos la entropía como medida que nos determina cómo de predecible es un resultado para un juedo de datos, es decir el grado de desorden o de incertidumbre presente en un juego de datos.

Matematicamente se representa como :

Entropia. Fórmula teórica

Ejemplo de cálculo de entropía para el suceso de sacar un número determinado en un dado de 6 caras:

Entropia. Ejemplo de dado con 6 caras

 

Ganancia de información

Entendemos por ganancia de información como la medida de de relevancia que tiene un atributo dentro de un juego de datos. Un atributo con una ganancia alta será muy relevante en el juego de datos.

Ganancia de información. Formula teórica

Ejemplo del calculo de ganancia de información en R sacado del libro «Web data mining» de Bing Liu.

edad <-c(rep("joven",5),rep("medio",5),rep("mayor",5))
tieneTrabajo <- c("F","F","V","V","F","F","F","V","F","F","F","F","V","V","F")
tieneCasa <- c("F","F","F","V","F","F","F","V","V","V","V","V","F","F","F")
calificacion <- c("normal","bueno","bueno","normal","normal","normal","bueno","bueno","excelente","excelente" ,"excelente","bueno","bueno","excelente","normal")
clase <- c("no","no","si","si","no","no","no","si","si","si","si","si","si","si","no")

datos.aux <- cbind(edad,tieneTrabajo,tieneCasa,calificacion, clase)
datos <- data.frame(datos.aux)
datos

install.packages("RWekajars", dependencies = TRUE)
install.packages("RWeka", dependencies = TRUE)
install.packages("FSelector", dependencies = TRUE)
library(RWekajars)
library(RWeka)
library(FSelector)

ig <- information.gain(clase~., datos)
ig