Está en la página 1de 15

1

Árboles de decisión. id3


2

id3 (Quinlan, 83)

• cls (Hunt, Marin, y Stone, 66) fue el precursor de id3


? Utilizaba sólo atributos binarios
? Tenı́a heurı́sticas para decidir qué atributo escoger
• Precursor de un conjunto de técnicas que han tenido mucho éxito comercial
• Genera árboles de decisión a partir de ejemplos de partida
• Intenta encontrar el árbol más sencillo que separa mejor los ejemplos
• Utiliza la entropı́a para elegir
3

Ejemplo de entrada

Ejemplo Sitio de 1a cantidad Vivienda Última Clase


acceso gastada (zona) compra
A1 A2 A3 A4
1 1 0 2 Libro Bueno
2 1 0 1 Disco Malo
3 1 2 0 Libro Bueno
4 0 2 1 Libro Bueno
5 1 1 1 Libro Malo
6 2 2 1 Libro Malo
4

Ejemplo de árbol de decisión


Vivienda (zona)?
0 2
ejemplo3 (B) ejemplo1 (B)

Bueno 1 Bueno
Sitio de acceso?
0 2
ejemplo4 (B) 1 ejemplo6 (M)
ejemplo2 (M)
Bueno ejemplo5 (M) Malo

Malo
5

Estrategia del id3


Sitio de acceso?

Internacional
M

Nacional B B B M M B

B M
Local

Poco Bastante Mucho


Cantidad gastada?
6

Algoritmo

1. Seleccionar el atributo Ai que maximice la ganancia G(Ai)

2. Crear un nodo para ese atributo con tantos sucesores como valores tenga

3. Introducir los ejemplos en los sucesores según el valor que tenga el atributo
Ai

4. Por cada sucesor,

Si sólo hay ejemplos de una clase ck


Entonces etiquetarlo con ck
Si no, llamar al id3 con una tabla formada por los ejemplos
de ese nodo, eliminando la columna del atributo Ai
7

Heurı́stica

• Seleccionar el atributo que mejor separe (ordene) los ejemplos de acuerdo


a las clases
• La entropı́a es una medida de cómo está ordenado el universo
• La teorı́a de la información (basada en la entropı́a) calcula el número de
bits (información, preguntas sobre atributos) que hace falta suministrar
para conocer la clase a la que pertenece un ejemplo
8

Fórmulas
Se puede medir lo que discrimina (se gana por usar) un atributo Ai como:

G(Ai) = I − I(Ai)

donde

nv(Ai )
X nij
I(Ai) = Iij
j=1
n

nc
X nijk nijk
Iij = − log2
nij nij
k=1
9

Ejemplo de id3

Ejemplo Sitio de 1a cantidad Vivienda Última Clase


acceso gastada (zona) compra
A1 A2 A3 A4
1 1 0 2 Libro Bueno
2 1 0 1 Disco Malo
3 1 2 0 Libro Bueno
4 0 2 1 Libro Bueno
5 1 1 1 Libro Malo
6 2 2 1 Libro Malo
10

Ejemplo de id3
Pnv(A1) nij P3 nij
I(A1) = j=1 n Iij = j=1 6 Iij =
n10 n11 n12 1 4 1
6 I10 + I11 + I12 = I10 + I11 + 6 I12
P62 n10k 6 6 6
I10 = − k=1 n10 log2 nn10k 10
= − 1
1 log 2
1
1 − 0
1 log 2
0
1 =0
P2 n11k
I11 = − k=1 n11 log2 nn11k 11
= − 2
4 log 2
2
4 − 2
4 log 2
2
4 =1
P2 n12k
I12 = − k=1 n12 log2 nn12k 12
= − 0
1 log 21
0
− 1
1 log 1
21 =0

I(A1) = 16 I10 + 46 I11 + 16 I12 = 16 0 + 46 1 + 16 0 = 0, 66

I(A2) = 26 I20 + 16 I21 + 36 I22 = 26 1 + 16 0 + 36 (− 23 log2 23 − 13 log2 13 ) = 0, 79

I(A3) = 61 I30 + 46 I31 + 16 I32 = 16 0 + 46 (− 14 log2 14 − 34 log2 34 ) + 16 0 = 0, 54

I(A4) = 61 I4Disco + 56 I4Libro = 16 0 + 56 (− 35 log2 35 − 25 log2 25 ) = 0, 81


11

Ejemplo de id3

Vivienda (zona)?
0 2
ejemplo3 (B) ejemplo1 (B)

Bueno 1 Bueno
ejemplo2 (M)
ejemplo4 (B)
ejemplo5 (M)
ejemplo6 (M)
12

Ejemplo de id3

Ejemplo Sitio de 1a cantidad Última Clase


acceso gastada compra
A1 A2 A4
2 1 0 Disco Malo
4 0 2 Libro Bueno
5 1 1 Libro Malo
6 2 2 Libro Malo
I(A1) = 14 I10 + 24 I11 + 14 I12 = 41 0 + 24 0 + 14 0 = 0

I(A2) = 14 I20 + 14 I21 + 24 I22 = 14 0 + 14 0 + 24 1 = 0, 5

I(A4) = 14 I4Disco + 34 I4Libro = 14 0 + 34 (− 13 log2 13 − 23 log2 23 ) = 0, 23


13

Ejemplo de id3

Vivienda (zona)?
0 2
ejemplo3 (B) ejemplo1 (B)

Bueno 1 Bueno
Sitio de acceso?
0 2
ejemplo4 (B) 1 ejemplo6 (M)
ejemplo2 (M)
Bueno ejemplo5 (M) Malo

Malo
14

Traducción a reglas

• Cualquier árbol de decisión se puede convertir a reglas


• Regla: estructura del tipo Si-Entonces
• Ejemplo
Si Vivienda (zona)=1
Sitio de acceso=0
Entonces Bueno
• Algoritmo: por cada rama del árbol, las preguntas y sus valores estarán en
la parte izquierda de las reglas y la etiqueta del nodo hoja correspondiente
será la parte derecha (clasificación)
15

Ejemplo de traducción a reglas

Si Vivienda (zona)=0
Entonces Bueno

Si Vivienda (zona)=1 y Sitio de acceso=0


Entonces Bueno

Si Vivienda (zona)=1 y Sitio de acceso=1


Entonces Malo

Si Vivienda (zona)=1 y Sitio de acceso=2


Entonces Malo

Si Vivienda (zona)=2
Entonces Bueno

También podría gustarte