Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Arboles de Decisi N 2 PDF
Arboles de Decisi N 2 PDF
Carlos Hurtado L.
Depto de Ciencias de la
Computacin, Universidad de
Chile
Arboles de Decisin
Algoritmo de Hunt (I)
Nodo interior
Nodo hoja
Algoritmo de Hunt (II)
Nodos interiores
Nodo hoja
Algoritmo de Hunt (III)
Algoritmo de Hunt
Main(Conjunto de Datos T)
Expandir(T)
Expandir(Conjunto de Datos S)
If (todos los datos estn en la misma
clase) then return
Encontrar el mejor split r
Usar r para particonar S en S1 y S2
Expandir(S1)
Expandir(S2)
Cul es el mejor split?
Buscamos splits que generen nodos hijos
con la menor impureza posible (mayor
pureza posible)
Existen distintos mtodos para eval splits.
Criterios de Seleccin:
Indice Gini
Entropa (Ganancia de informacin)
Test Chi-cuadrado
Proporcin de Ganancia de Informacin
Seleccin de splits usando
ndice Gini
Recordar que cada nodo del rbol
define un subconjunto de los datos
de entrenamientos
Dado un nodo t del rbol, Ginit mide
el grado de pureza de t con
respecto a las clases
Mayor Ginit implica menor pureza
Ginit = 1 Probabilidad de sacar dos
registros de la misma clase
Indice Gini
2
Gini t =1c C pt , c
Gini
0.5
0.5 pt ,c
Seleccin de Splits: GiniSplit
Criterio de seleccin: seleccinar el
split con menor gini ponderado
(GiniSplit)
Dado un split S={s1,,sn} de t
s
GiniSplitt , s=sS Gini s
t
Ejemplo: weather.nominal
0.8 Entropa
0.6
0.4 Gini
0.2
Min
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Seleccin de splits usando
Entropa
Entropy t = pt ,c log2 pt ,c
c C
La entropa mide la impureza de los datos S
Mide la informacin (num de bits) promedio necesaria
para codificar las clases de los datos en el nodo t
Casos extremos
Todos los datos pertenecen a la misma clase (Nota: 0log 0
= 0)
Todas las clases son igualmente frecuentes
C1
C1 C2 C3 C2 C3
s
Gain t ,S =Entropy t Entropy s
s S t
Ejemplo: consideremos el split
de Outlook
Outlook
Sunny Rainy
Overcast
Yes Yes
Yes
Yes Yes
Yes
No Yes
Yes
No No
Yes
No No
Ejemplo: Split simple de Outlook
2
Entropy S = pi log2 p i
i=1
9 9 5 5
log 2 log 2 =0 . 92
14 14 14 14
2 2 3 3
Entropy S sunny = log2 log2 =0 . 97
5 5 5 5
4 4 0 0
Entropy Sovercast = log 2 log 2 =0 . 00
4 4 4 4
3 3 2 2
Entropy Srainy = log 2 log2 =0 .97
5 5 5 5
Ejemplo: Clculo de la
Ganancia de informacin
S v
Gain S,outlook =Entropy S Entropy S v
v Values a S
5 4 5
=0.92 0.97 0 0.97
14 14 14
0.920.69=0.23
GainS ,temp =0.03
GainS ,humidity =0.15
GainS ,windy =0.05
Ejercicio: Expansin de nodo
Sunny (probamos el split
Temperature)
Outlook
Sunny Rainy
Overcast
Temperature
No Yes Yes
No No
Clculo de la Entropa para los
nodos del split Temperature
Entropy S =0. 97
0 0 2 2
Entropy Shot = log 2 log2 =0
2 2 2 2
1 1 1 1
Entropy Smild = log2 log 2 =1
2 2 2 2
1 1 0 0
Entropy Scool = log 2 log2 =0
1 1 1 1
Clculo de la Ganancia para
Temperature
S v
Gain S, temp =Entropy S Entropy S v
v Values a S
2 2 1
0.97 0 1 0
5 5 5
0.970.40=0.57
Gain S , humidity =0.97
Gain S , windy =0.02
La ganancia de humidity es mayor
Por lo que seleccionamos este split
Ejemplo: Arbol resultante
Outlook
Sunny Rainy
Overcast
Humidity
Yes Windy
High Normal
True False
No Yes
No Yes
Entropa vs. Indice Gini
Breiman, L., (1996).Technical note: Some
properties of splitting criteria, Machine
Learning 24, 41-47. Conclusiones de
estudio emprico:
Gini:
Tiende a seleccionar splits que aislan una clase
mayoritaria en un nodo y el resto en otros
nodos.
Tiende a crear splits desbalanceados.
Entropa:
Favorece splits balanceados en nmero de
datos.
Entropa vs. Indice Gini
Entropa tiende a
Indice Gini tiende a encontrar grupos de
aislar clases numerosas
de otras clases clases que suman ms
del 50% de los datos
class A 40 class A 40
class B 30 class B 30
class C 20 class C 20
class D 10 class D 10
Caf
no si
Ejemplo: consideremos el split
simple de Outlook
Outlook
Sunny Rainy
Overcast
Yes Yes
Yes
Yes Yes
Yes
No Yes
Yes
No No
Yes
No No
Tabla de Contingencia
Observada vs. Esperada
Yes No Total
Sunny 2 3 5
Observada Overcast 4 0 4
Rainy 3 2 5
Total 9 5 14
Yes No Total
Esperada Sunny 3.21 1.79 5
Overcast 2.57 1.43 4
Rainy 3.21 1.79 5
Total 9 5 14
Tabla de Contingencia
Esperada
Yes No Total
Sunny 3.21 1.79 5
Overcast 2.57 1.43 4
Rainy 3.21 1.79 5
Total 9 5 14
Estimador Chi-Cuadrado
Yes No Total
Sunny 0.46 0.83
Overcast 0.79 1.43
Rainy 0.01 0.03
Total 3.55
1 Si 1 2 3 4 5
2 No
3 No
4 Si
5 si
Problemas de Entropa, Gini y
Chi-cuadrado
Favorecen splits con muchos nodos
hijos. Favorece atributos con muchos
valores.
Solucin 1.: usar splits binarios
Solucin 2: usar GainRatio
Efecto de la eleccin del
criterio de seleccin de splits
A pesar de lo reportado por Breiman, un estudio de
Mingers (1989) cocluye:
Los rboles obtenidos con distintas criterios de seleccin
de splits no difieren significativamente en su poder
predictivo
El criterio s afecta el tamao del rbol obtenido
La eleccin aleatoria de atributos produce rboles de
alrededor del doble de tamao que si utilizamos una
medida de impureza
Entre las medidas vistas, Gain ratio produce rboles
pequeos y Chi-cuadrado produce rboles grandes
Referencias
(no son obligatorias para el curso)