domingo, 12 de mayo de 2013

Ejemplo de construcción de un árbol de decisión con C4.5

Los datos con los que contamos vienen en la siguiente tabla:




La distribución de datos para el atributo Estado es:




En primer lugar, hay que calcular la entropía del conjunto. Los atributos desconocidos no se tienen en cuenta. En total hay 13 casos, de los cuales 3 son positivos. Obtenemos por tanto:




Ahora se calcula la entropía que tendrían los conjuntos resultantes de la división de datos según este atributo:




El siguiente paso es calcular la ganancia resultante de dividir al subconjunto según el atributo Estado:




Al calcular la información de la división, hay que tener en cuenta una categoría extra para el valor desconocido para el atributo. Se calcula de la siguiente manera:




Para terminar, se calcula la proporción de ganancia:




Para la Humedad se calculan de la misma manera, obteniéndose un 0.0746702 bits de Ganancia y el mismo valor como Proporción de Ganancia.
Para el atributo Viento, la Ganancia es 0.00597760 bits y 0.0060687 bits la Proporción de Ganancia.

Tanto si nos fijamos en la Ganancia como en la Proporción de Ganancia, nos conviene  dividir el conjunto según el atributo Estado. Los 13 casos de los que se conoce su valor de Estado se reparten sin problema, mientras que para el que no se conoce su valor, se reparte entre los conjuntos que tienen Soleado, Nublado y Lluvia con los pesos 4/13, 4/16 y 5/13 respectivamente.

Si tomamos por ejemplo la división del conjunto de datos para el valor Nublado del atributo Estado, los datos tenidos en cuenta son:




La distribución de datos para el atributo Humedad es:




Con estos datos, obtenemos una Ganancia de 0.068 bits y una Proporción de Ganancia de 0.068 bits también para el atributo Humedad.
Para el caso del atributo Viento, la Ganancia es de 0.068 bits y la Proporción de Ganancia igual.
Con estos datos podemos sabemos que la división del conjunto de datos no ofrece ninguna mejora, por lo tanto, colapsamos el árbol a la hoja Sí, que es la que mayor peso tiene. En la siguiente imagen se pueden apreciar todos los pasos dados para la construcción del árbol.




El C4.5 analiza los errores predichos en cada uno de los subárboles y ramas del árbol generado para simplificarlo en caso de que sea necesario. En este ejemplo, el error total predicho se calcula de la siguiente manera:




Ahora se calcula el error total predicho tras simplificar el árbol por la hoja Sí:




El error predicho para el árbol simplificado es menor que el del árbol generado, por lo que el C4.5 poda el árbol en la hoja del Sí.

2 comentarios:

  1. hola, según este párrafo:

    "En primer lugar, hay que calcular la entropía del conjunto. Los atributos desconocidos no se tienen en cuenta. En total hay 13 casos, de los cuales 3 son positivos. Obtenemos por tanto"

    los 3 no deberían ser negativos?

    ResponderEliminar
    Respuestas
    1. Efectivamente Andrés, esos tres casos son negativos. Gracias por tu corrección.

      Eliminar