Post on 12-Sep-2015
description
ARBOLES DE DECISIONMiguel Crdenas-Montes
Los rboles de decisin son estructuras lgicas con amplia utilizacin en
la toma de decisin, la prediccin y la minera de datos.
Objetivos:
Entender como funcionan los algoritmos basados en rboles de de-
cisin.
Conocer el uso prctico de la ganancia de informacin en estos al-
goritmos.Este documento puede contener impre-cisiones o errores. Por favor no lo utilicepara citarlo como una fuente fiable.
1 Introduccin
Un rbol de decisin puede ser tan simple como la imposicin de
una regla sobre el comportamiento mayoritario de un conjunto de da-
tos.
Por ejemplo, en la tabla 1 se presenta cuando se juega o no al golf
en funcin de las condiciones meteorolgicas.
Aspecto Temperatura Humedad Viento Jugar
cubierto fro normal verdad s
cubierto calor alta falso s
cubierto calor normal falso s
cubierto templado alta verdad s
lluvia fro normal verdad no
lluvia templado alta verdad no
lluvia fro normal falso no
lluvia templado alta falso s
lluvia templado normal falso s
soleado calor alta falso no
soleado calor alta verdad no
soleado templado alta falso no
soleado fro normal falso s
soleado templado normal verdad s
Cuadro 1: Meteorologa y golf.
Estas reglas son siempre de la forma IF...THEN..., y pueden aplicar-
se tanto a variables continuas como discretas. Cuando se implementa
una sola sola regla condicional el algoritmo se denomina 1-rule algo-
rithm.
Las reglas con muy fciles de entendery aplicar a problemas de clasificacin,siendo uso genrico a la clasificacin conrboles.
Un ejemplo sencillo de este tipo de algoritmo de una regla es:
IF humedad=normal THEN jugar=si
ELSE IF humedad=alta then jugar=no
2 m m
La precisin de esta regla se puede medir mediante la matriz de
confusin (Tabla 1).
Cuadro 2: Matriz de confusin para unasola regla sobre el atributo "humedad".
Clas. Verdadero Clas. Falso
Verdadero 5 3
Falso 2 4
Con esta simple regla se obtiene un 64% de acierto, 5+414 = 64%. La
pregunta que se plantea a continuacin es cul es la mejor eleccin
(mejor regla) para obtener el mejor rbol de decisin (ms preciso)?.
Si se utiliza otro criterio, por ejemplo si no hace viento s se juega, y
si hace viento no se juega, entonces se obtiene el siguiente porcentaje
de acierto 5+314 = 57%. Como puede apreciarse, esta regla produce una
ms baja predecibilidad sobre los datos.
2 Eleccin del Mejor Atributo
Un aspecto esencial de los algoritmos basado en rboles de decisin
es la eleccin del mejor criterio para la divisin de los datos. Una de las
mejores opciones es realizar esta seleccin basndose en el concepto de
entropa (ecuacin 1).
Entropia = x
px log2(px) (1)
donde pxes la probabilidad de la clase x.
Valores ms bajos de la entropa (ecuacin 1) hacen ms predecible
el caso. Dicho de otra forma: un valor ms alto de la entropa produce
ms impredecibilidad, mientras que un valor ms bajo de la entropa
se interpreta como una menor impredecibilidad.
La entropa caracteriza la impureza deuna coleccin de datos.
Se define la entropa de Shannon (1948),H(X), de una variable aleatoria discretaX como la esperanza matemtica de lavariable aleatoria asociada I(X).
H(X) = E(I(X)) = x
p(xi) log2(p(xi))
Figura 1: Para una muestra homogneala entropa es x px log2(px) = 1 log2(1) = 0. Esta muestra no es buenapara el proceso de aprendizaje.
Figura 2: Para una nuestra con dos cla-ses con 50% de aparicin de cada una,la entropa es x px log2(px) = 0,5 log2(0,5) 0,5 log2(0,5) = 1. Esta mues-tra s es buena para el proceso de apren-dizaje.
La ganancia de informacin es la reduccin de la entropa causada por
el particionado de los datos por un determinado atributo.
La entropa del conjunto de datos mostrado en la tabla 1 es:
814 log2814
614 log2
614 = 0,985 puesto que de los 14 casos, hay 8
casos de s y 6 casos de no.
Si se dividen los datos por la temperatura, se obtiene que hay 4
casos de fro de los cuales hay 2 en que s se juega y 2 casos de
fro en que no se juega. Por otro lado, hay 6 casos de templado de lo
cuales s se juega en 4 y otros 2 casos en que no se juega. Finalmente,
hay 4 casos de calor de los cuales en 2 s se juega y en 2 no se juega
no se juega.
De esta forma, las entropas de cada uno de estos subgrupos es:
E( f rio) = (2/4) log2(2/4) (2/4) log2(2/4) = 1
a r b o l e s d e d e i s i o n 3
E(templado) = (4/6) log2(4/6) (2/6) log2(2/6) = 0,918
E(calor) = (2/4) log2(2/4) (2/4) log2(2/4) = 1
Estos resultados tienen que ser pesados por el frecuencia de apa-
ricin de cada caso:
E(Temperatura) = 414 E( f rio)+614 E(templado)+
414 E(calor) =
414 1+
614 0,918+
414 1 = 0,965
Si se dividen los datos por el viento, se obtiene que hay 6 casos de
verdad de los cuales s se juega en 3 y otros 3 casos en los cuales no
se juega. Por otro lado, de los 8 casos de falso, de los cuales en 5 s
se juega y en 8 en los cuales no se juega.
E(verdad) = (3/6) log2(3/6) (3/6) log2(3/6) = 1
E( f also) = (5/8) log2(5/8) (3/8) log2(3/8) = 0,954
Estos resultados son pesados por el frecuencia de aparicin:
E(Viento) = 614 E(verdad) +814 E( f also) =
614 1+
814 0,954 =
0,974
Cunta informacin se gana dependiendo si se establece el atributo
viento o el atributo temperatura como punto de decisin del rbol?
G(E(Jugar), E(Jugar|temperatura)) = E(Jugar)E(Jugar|temperatura) =
0,985 0,965 = 0,020
G(E(Jugar), E(Jugar|viento)) = E(Jugar) E(Jugar|viento) =
0,985 0,974 = 0,011
Como consecuencia de este resultado el primer nodo del rbol de
decisin debe ser la divisin por el atributo temperatura, y no por
el atributo viento. En un caso real, este clculo debe ser aplicado a
todos los atributos.
Figura 3: Datos ms el nodo raz del r-bol.
3 Algoritmo C4.5
El algoritmo C4.5 construye rboles de decisin basndose en la
ganancia de informacin, I(Xi,C) = H(C) H(C,Xi). En cada nodo
4 m m
Figura 4: Datos, nodo raz del rbol conalgunas divisiones adicionales.
Figura 5: Datos ms el rbol completa-mente desarrollado.
del rbol, el algoritmo elige el atributo que produce la mayor ganancia
de informacin, y divide los datos por este criterio. En los siguientes
pasos del algoritmo, el algoritmo aplica esta estrategia a los atributos
restantes.
En pseudocdigo, el algoritmo general para construir rboles de
decisin es:
1. Para cada atributo
2. Encontrar la ganancia de informacin normalizada de la divisin
de este atributo.
3. Una vez encontrado el atributo cuya ganancia de informacin es
ms alta, crear un nodo de decisin que divida a ste.
4. Repetir en las sublistas obtenidas por divisin del mejor atributo, y
agregar estos nodos como hijos de nodo
4 Random Forest
La tcnica denominada bagging esampliamente utilizada para mejorar laprecisin de los algoritmos de aprendi-zaje. La tcnica opera de la siguiente for-ma, dato un conjunto de entrenamientoD compuesto de n objetos, se generan mnuevos conjuntos de entrenamiento Dide tamao n mediante un muestreo uni-forme de D con reemplazamiento. Paraun nmero suficientemente de n se espe-ra que la muestra bootstrap Di tenga unafraccin 1 1e 63,2% de muestras ni-cas, siendo el resto duplicadas.
La tcnica denominada Random Forest consiste en la aplicacin de
Random subspace a rboles de decisin. De esta forma se obtiene un
amplio conjunto de clasificadores cada uno de ellos con distintan ca-
lidad, y en algunos casos con diferente asignacin de clase. Para la
asignacin de la clase se establece un sistema de voto mayoritario. El
resto de objetos no seleccionados mediante Random subspace son utili-
zados para estimar el error.
La tcnica denominada Random subspaceo attribute bagging consiste en la seleccinde un subconjunto m > D. De foma que al final se tie-ne un subconjunto Di >> D de objetostomando solamente un subconjunto deatributos m
a r b o l e s d e d e i s i o n 5
Figura 6: Ejemplo de random forest uti-lizando la tcnica de bagging.
objetos no seleccionados por su muestra bootstrap de entrenamiento
para ser clasificados con dicho rbol. Promediando sobre el conjunto
de rboles de random forest se puede estimar el error del algoritmo.
Por otro lado, random forest puede ser paralelizado eficazmente pues-
to que cada rbol puede construirse de manera independiente a los
otros rboles. Esta caracterstica lo hace deseable para entornos para-
lelos.
IntroduccinEleccin del Mejor AtributoAlgoritmo C4.5Random Forest