2. Agenda
Árboles de Decisión
¿Qué es ID3?
Entropía
Cálculo de la Entropía
Ganancia de Información
Ejemplos desarrollados
Ventajas y Desventajas
Bibliografía
3. Árboles de Decisión
Reglas para clasificar datos usando los
atributos que tienen.
El árbol estará formado por nodos de
decisión, y nodos-hojas:
◦ Un nodo de decisión está asociado a uno de los
atributos, y tiene 2 o más ramas, cada una
representando posibles valores del atributo.
◦ Los nodos-hoja están asociados al atributo objetivo
que se quiere clasificar (todos al mismo) y, por tanto,
es el resultado de la decisión del árbol.
5. ¿Qué es ID3?
Un algoritmo matemático para construir un árbol de
decisión.
Fue creado por J. Ross Quinlan en 1979.
Hace uso de la Teoría de la Información, desarrollada
por Shannon en 1948.
Construye un árbol de arriba a abajo, de forma directa,
sin hacer uso de backtracking.
Se usa el concepto de Ganancia de Información para
seleccionar el atributo más útil en cada paso.
6. Entropía
Permite
calcular el grado de incertidumbre de una
muestra:
◦ Una muestra completamente homogénea tiene entropía 0.
◦ Una muestra igualmente distribuida tiene entropía 1.
En general, la fórmula de la entropía es:
Entropía(s)
= - P log2 (P) – N log2 (N), donde P son los
ejemplos positivos y N los negativos.
8. Cálculo de la Entropía
Recordemos que:
log2(a) = log10(a) / log10(2)
logx(0) = error
Por tanto, se debe sustituir: 0 log2(0) por 0
9. Ganancia de Información
La Ganancia de Información se basa en el decremento de la
entropía cuando el conjunto de datos se divide en los valores de un
atributo.
¿Qué atributo crea las ramas más homogéneas?
◦ Se calcula la entropía del total.
◦ Se divide el conjunto de datos en función de los diferentes atributos.
◦ Se calcula la entropía de cada rama y se suman proporcionalmente
las ramas para cacular la entropía del total.
◦ Se resta este resultado de la entropía original.
◦ El resultado es la Ganancia de Información (descenso de entropía).
◦ El atributo con mayor Ganancia es señecciona como nodo de
decisión.
10. Ganancia de Información
Una rama con entropía 0 se convierte en hoja (todos
sus casos están ya clasificados).
Si no es así, la rama debe seguir sudividiéndose (para
poder clasificar mejor sus nodos).
El algoritmo ID3 se ejecuta recursivamente en nodos
que no son hojas, hasta que se llegue a nodos-hoja.
17. Ejemplo: Los Simpsons
Personaje Longitud
Pelo
Peso Edad Género
Homer 0” 250 36 H
Marge 10” 150 34 M
Bart 2” 90 10 H
Lisa 6” 78 8 M
Maggie 4” 20 1 M
Abe 1” 170 70 H
Selma 8” 160 41 M
Otto 10” 180 38 H
Krusty 6” 200 45 H
Comic 8” 290 38 ?
18. p p n n
Entropía ( S ) = − log 2
p+n −
log 2
p+n
p+n p+n
Entropía(4F,5M) = -(4/9)log2(4/9) - (5/9)log2(5/9)
= 0.9911
Sí No
Longitud Pelo <= 5?
Dividimos por
Dividimos por
Longitud Pelo
Longitud Pelo
Entrop Entro
ía(1F, pía(3
3M F,2 M
) = -(1 ) = -(3
/4)log /5)log
= 0 .8 2 (1/4) - = 0.9 (3/5)
1 13 (3/4) log (3/ 710
2
- (2/5
2 4) )log (2/5)
2
Ganancia ( A) = E (actual ) − ∑ E (ramas )
Ganancia(Long Pelo <= 5) = 0.9911 – (4/9 * 0.8113 + 5/9 * 0.9710 ) =
0.0911
19. p p n n
Entropía ( S ) = − log 2
p+n −
log 2
p+n
p+n p+n
Entropía(4F,5M) = -(4/9)log2(4/9) - (5/9)log2(5/9)
= 0.9911
Sí No
Peso <= 160?
Dividimos por
Dividimos por
Peso
Peso
Entrop Entro
ía(4F, pía(0
1M) = F,4 M
-(4/5)l ) = -(0
og2 (4/5 /4)log
= 0 .7 ) - (1/5 = 0 (0/4)
219 ) log (1/
2
- (4/4
2 5) )log (4/4)
2
Ganancia ( A) = E (actual ) − ∑ E (ramas )
Ganancia(Peso <= 160) = 0.9911 – (5/9 * 0.7219 + 4/9 * 0 ) = 0.5900
20. p p n n
Entropía ( S ) = − log 2
p+n −
log 2
p+n
p+n p+n
Entropía(4F,5M) = -(4/9)log2(4/9) - (5/9)log2(5/9)
= 0.9911
Sí No
Peso <= 160?
Dividimos por
Dividimos por
Edad
Edad
Entrop Entro
ía(3F, pía(1
3M F,2 M
) = -(3 ) = -(1
/6)log /3)log
= 1 2 (3/6) - = 0.9 (1/3)
(3/6) log (3/ 183
2
- (2/3
2 6) )log (2/3)
2
Ganancia ( A) = E (actual ) − ∑ E (ramas )
Ganancia(Edad <= 40) = 0.9911 – (6/9 * 1 + 3/9 * 0.9183 ) = 0.0183
21. De los 3 atributos, el que tiene más
Ganancia es Peso. Los que tienen
un peso superior a 160 están ya
perfectamente clasificados Sí No
(hombres), pero los que están por Peso <= 160?
debajo de ese peso todavía no…
Así que repetimos el proceso…
Sí No
Repitiendo el proceso se Longitud Pelo <= 2?
encuentra que podemos
dividirlo por Longitud del
Pelo, y llegamos a una
clasificación completa.
22. Una vez extraídas las reglas, no Peso <= 160?
necesitamos almacenar los datos.
Sí No
¿Cómo se clasificarían
los siguientes
personajes? Longitud Pelo <= 2?
Hombre
Sí No
Hombre Mujer
23. Es trivial convertir el árbol de Peso <= 160?
decisión en reglas…
Sí No
Longitud Pelo <= 2? Hombre
Sí No
Hombre Mujer
Reglas para clasificar:
Reglas para clasificar:
Si Peso mayor que 160, clasifica como Hombre
Si Peso mayor que 160, clasifica como Hombre
Si no, Si Longitud Pelo menor ooigual que 2, clasifica como Hombre
Si no, Si Longitud Pelo menor igual que 2, clasifica como Hombre
Si no, clasifica como Mujer
Si no, clasifica como Mujer
24. Ventajas de usar ID3
Se obtienen reglas comprensibles de un conjunto de
datos de entrenamiento.
Es un algoritmo muy rápido.
Construye un árbol pequeño.
Sólo necesita comprobar unos cuantos datos, hasta que
todos estén clasificados.
Al encontrar nodos-hoja el algoritmo no continúa, por lo
que se reduce el número de comprobaciones.
Se usa todo el conjunto de datos que se le den.
25. Desventajas de usar ID3
Es fácil incurrir en un sobreentrenamiento o una
sobreclasificación.
Sólo se comprueba un atributo en cada paso.
Clasificar datos continuos puede ser
computacionalmente muy costoso, ya que deben
crearse muchos árboles para ver dónde romper la
continuidad.