Sie sind auf Seite 1von 5

ARBOLES DE DECISION

Miguel 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 decisin.
Conocer el uso prctico de la ganancia de informacin en estos algoritmos.

Este documento puede contener imprecisiones o errores. Por favor no lo utilice


para citarlo como una fuente fiable.

Introduccin

Un rbol de decisin puede ser tan simple como la imposicin de


una regla sobre el comportamiento mayoritario de un conjunto de datos.
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
cubierto
cubierto
cubierto
lluvia
lluvia
lluvia
lluvia
lluvia
soleado
soleado
soleado
soleado
soleado

fro
calor
calor
templado
fro
templado
fro
templado
templado
calor
calor
templado
fro
templado

normal
alta
normal
alta
normal
alta
normal
alta
normal
alta
alta
alta
normal
normal

verdad
falso
falso
verdad
verdad
verdad
falso
falso
falso
falso
verdad
falso
falso
verdad

s
s
s
s
no
no
no
s
s
no
no
no
s
s

Estas reglas son siempre de la forma IF...THEN..., y pueden aplicarse tanto a variables continuas como discretas. Cuando se implementa
una sola sola regla condicional el algoritmo se denomina 1-rule algorithm.
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

Cuadro 1: Meteorologa y golf.

Las reglas con muy fciles de entender


y aplicar a problemas de clasificacin,
siendo uso genrico a la clasificacin con
rboles.

La precisin de esta regla se puede medir mediante la matriz de


confusin (Tabla 1).

Cuadro 2: Matriz de confusin para una


sola regla sobre el atributo "humedad".

La entropa caracteriza la impureza de


una coleccin de datos.

Se define la entropa de Shannon (1948),


H ( X ), de una variable aleatoria discreta
X como la esperanza matemtica de la
variable aleatoria asociada I ( X ).
H ( X ) = E( I ( X )) = p( xi ) log2 ( p( xi ))
x

Clas. Verdadero

Clas. Falso

5
2

3
4

Verdadero
Falso

+4 = 64 %. La
Con esta simple regla se obtiene un 64 % de acierto, 514
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
+3 = 57 %. Como puede apreciarse, esta regla produce una
de acierto 514
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 = p x log2 ( p x )

(1)

Figura 1: Para una muestra homognea


la entropa es x p x log2 ( p x ) = 1
log2 (1) = 0. Esta muestra no es buena
para el proceso de aprendizaje.

Figura 2: Para una nuestra con dos clases con 50 % de aparicin de cada una,
la entropa es x p x log2 ( p x ) = 0,5
log2 (0,5) 0,5 log2 (0,5) = 1. Esta muestra s es buena para el proceso de aprendizaje.

donde p x es 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 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:
8
6
6
8
14
log2 14
= 0,985 puesto que de los 14 casos, hay 8
14 log2 14
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

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 aparicin de cada caso:
6
4
4
E( f rio ) + 14
E(templado ) + 14
E(calor ) =
E( Temperatura) = 14
6
4
4
14 1 + 14 0,918 + 14 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:
6
8
6
8
E(Viento ) = 14
E(verdad) + 14
E( f also ) = 14
1 + 14
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 rbol.

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

Figura 4: Datos, nodo raz del rbol con


algunas divisiones adicionales.

Figura 5: Datos ms el rbol completamente 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.
La tcnica denominada bagging es
ampliamente utilizada para mejorar la
precisin de los algoritmos de aprendizaje. La tcnica opera de la siguiente forma, dato un conjunto de entrenamiento
D compuesto de n objetos, se generan m
nuevos conjuntos de entrenamiento Di
de tamao n mediante un muestreo uniforme de D con reemplazamiento. Para
un nmero suficientemente de n se espera que la muestra bootstrap Di tenga una
fraccin 1 1e 63,2 % de muestras nicas, siendo el resto duplicadas.
La tcnica denominada Random subspace
o attribute bagging consiste en la seleccin
de un subconjunto m << M aleatorio
de atributos de una muestra bootstrap
Di >> D. De foma que al final se tiene un subconjunto Di >> D de objetos
tomando solamente un subconjunto de
atributos m << M.

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 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 calidad, 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 utilizados para estimar el error.
Para medir el error de random forest se suele utilizar la tcnica denominada out-the-bag error. Para cada rbol se utiliza el conjunto de

Figura 6: Ejemplo de random forest utilizando 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 puesto que cada rbol puede construirse de manera independiente a los
otros rboles. Esta caracterstica lo hace deseable para entornos paralelos.

Das könnte Ihnen auch gefallen