You are on page 1of 6

7.

3 Clasificacin por induccin de rboles de decisin



Qu es un rbol de decisin?

Un rbol de decisin es un diagrama de flujo similar a una estructura de rbol,
donde cada nodo interno denota una prueba en un atributo, cada rama representa
un resultado de la prueba, y los nodos hoja representan clases o distribuciones de
clase. El nodo superior en un rbol es el nodo raz. Un rbol de decisin tpico se
muestra en la Figura 7.2. Representa el concepto de compras de computadoras,
es decir, que predice si un cliente en AllElectronics es probable que adquiera o no
una computadora. Los nodos internos se indican mediante rectngulos, y nodos
hoja se denotan por valos.


Figura 7.2: Un rbol de decisin para el concepto compra_computadora, indicando
si es o no es probable que un cliente de AllElectronics adquiera una computadora.
Cada nodo (sin hojas) interno representa una prueba en un atributo. Cada nodo
hoja representa una clase (ya sea compra de computadora = yes o compra
computadora = no).

Para la clasificacin de una muestra desconocida, los valores de los atributos de la
muestra son probados contra el rbol de decisiones. Un camino est trazado
desde la raz a un nodo hoja que contiene la clase de prediccin para esa
muestra. Los rboles de decisin pueden ser fcilmente convertidas en reglas de
clasificacin.

En la Seccin 7.3.1 se describe un algoritmo bsico para el aprendizaje de los
rboles de decisin. Cuando se construyen los rboles de decisin, muchas de las
ramas pueden reflejar el ruido o los valores atpicos en los datos de
entrenamiento.

Algoritmo 7.3.1 (Generar rbol de decisin) Generar un rbol de decisiones a
partir de los datos del entrenamiento dado.


Entradas: El entrenamiento de muestras, muestras, representada por atributos
con valores discretos; el conjunto de atributos candidatos, la lista de atributos.

Salidas: Un rbol de decisin.

Mtodo:
1) crear un nodo N;
2) if las muestras son todas de la misma clase, then C
3) return N como un nodo hoja etiquetado con la clase C;
4) if la lista de atributos es vaca, then
5) return N como un nodo hoja etiquetado con la clase ms comn en las
muestras; // Votacin por mayora
6) seleccionar la prueba-atributo, el atributo de entre la lista de atributos de la ms
alta ganancia de informacin;
7) nodo de etiqueta N con la prueba de atributo;
8) para cada valor conocido ai de prueba-atributo // particin de las muestras
9) crecer una rama del nodo N de la condicin de prueba-atributo = ai;
10) Sea si el conjunto de muestras de muestras para las que la prueba-atributo =
ai; // Una particin
11) if si est vaco, then
12) adjuntar una hoja marcada con la clase ms comn en las muestras;
13) else unir el nodo devuelto por Generar rbol de decisin (si, de lista de
atributos - atributo de prueba);

Figura 7.3: algoritmo bsico para inducir un rbol de decisin a partir de muestras
de entrenamiento.

7.3.1 Induccin de rboles de Decisin

El algoritmo bsico para la induccin de rboles de decisin es un algoritmo voraz
que construye rboles de decisin de una manera recursiva de divide-y-vencers
de arriba hacia abajo. El algoritmo, que se resumen en la figura 7.3, es una
versin de ID3, un algoritmo de induccin de rboles de decisin conocido.

La estrategia bsica es la siguiente:

El rbol comienza como un solo nodo que representa las muestras de
entrenamiento (paso 1).
Si las muestras son todas de la misma clase, entonces el nodo se convierte en
una hoja y se etiqueta con esa clase (pasos 2 y 3).
De lo contrario, el algoritmo utiliza una medida basada en la entropa conocido
como ganancia de informacin como un heurstico para seleccionar el atributo que
mejor separar las muestras en clases individuales (paso 6). Este atributo se
convierte en el "test" o atributo "decisin" en el nodo (paso 7). En esta versin del
algoritmo, todos los atributos son categrica, es decir, valor-discreto. Atributos
continuos deben ser discretizados.
Una rama se crea para cada valor conocido del atributo de prueba, y las
muestras se reparti en consecuencia (pasos 8-10).
El algoritmo utiliza el mismo proceso de forma recursiva para formar un rbol de
decisin para las muestras a cada particin. Una vez que se ha producido un
atributo en un nodo, no necesita ser considerado en cualquiera de los
descendientes del nodo (paso 13).
El particionamiento recursivo se detiene slo cuando cualquiera de las siguientes
condiciones:
1. Todas las muestras para un nodo dado pertenecen a la misma clase (etapa
2 y 3), o
2. No hay atributos restantes en los que las muestras pueden particionarse
ms (paso 4). En este caso, la votacin por mayora se emplea (paso 5).
Esto implica convertir el nodo dado en una hoja y etiquetarlo con la clase en
la mayora entre las muestras. Por otra parte, la distribucin de clases de
las muestras de los nodos se puede almacenar; o
3. No hay muestras de la rama de prueba-atributo = ai (paso 11). En este
caso, una hoja se crea con la clase de la mayora de las muestras (paso
12).

Atributo de seleccin de las medidas. La medida de ganancia de informacin se
utiliza para seleccionar el atributo de prueba a cada nodo en el rbol. Esta medida
se conoce como una medida de la seleccin de atributo o una medida de la
bondad de la divisin. El atributo con la ganancia de informacin ms alta (o
mayor reduccin de la entropa) se elige como el atributo de prueba para el nodo
actual. Este atributo reduce al mnimo la informacin necesaria para clasificar las
muestras en las particiones resultantes y refleja la menos aleatoriedad o
"impureza" en estas particiones. Tal enfoque terico de la informacin minimiza el
nmero esperado de los ensayos necesarios para clasificar un objeto y garantiza
que un simple (pero no necesariamente el ms simple) rbol se encuentra.
Sea S un conjunto que consta de muestras s de datos. Supongamos que el
atributo de etiqueta de clase tiene m valores distintos que definen m clases
distintas, Ci (para i = 1;:::; m). Sea si el nmero de muestras de S en la clase Ci. La
informacin esperada necesaria para clasificar una muestra dada viene dada por:


donde pi es la probabilidad de que una muestra arbitraria pertenece a la clase Ci y
se estima por si/s. Tenga en cuenta que una funcin log a la base 2 se utiliza ya
que la informacin est codificada en bits.
Sea A el atributo que tiende a tener v valores distintos, {a1; a2;:::; av}. El atributo A
se puede utilizar para particionar S en v subconjuntos, {S1; S2;:::; Sv}, donde Sj
contiene las muestras en S que tienen un valor aj de A. Si A se selecciona como el
atributo de prueba (es decir, mejor atributo para la divisin), entonces estos
subconjuntos corresponderan a las ramas obtenidas del nodo que contiene el
conjunto S. Sea sij el nmero de muestras de la clase Ci en un subconjunto Sj. La
entropa, o informacin esperada sobre la base de la divisin en subconjuntos de
A viene dado por:

El trmino acta como el peso del subconjunto y jth es el
nmero de muestras en el subconjunto (es decir, que tiene un valor aj de A)
dividido por el nmero total de muestras en S. Cuanto menor sea el valor de
entropa, mayor es la pureza de las particiones de subconjuntos. La informacin
de codificacin que se gana con ramificacin en A es
Ganancia(A) = I(s1; s2; : : :; sm) - E(A). (7.3)

En otras palabras, Ganancia(A) es la reduccin esperada en la entropa causada
por conocer el valor de atributo A.
El algoritmo calcula la ganancia de informacin de cada atributo. El atributo con la
mayor ganancia de informacin se elige como el atributo de prueba para el
conjunto dado S. Un nodo es creado y etiquetado con el atributo, las ramas se
crean para cada valor del atributo, y las muestras se dividen en consecuencia.
Ejemplo 7.2 La induccin de un rbol de decisin. La Tabla 7.1 presenta un
conjunto de entrenamiento de tuplas de datos extrados de la base de datos de
clientes de AllElectronics. (Los datos se han adaptado de [Quinlan, 1986b]). El
atributo de etiqueta de clase, compra ordenador, tiene dos valores distintos (es
decir, {yes, no}), por lo tanto, hay dos clases distintas (m = 2). Sea C1 corresponde
a la clase yes y C2 corresponde a la clase no. Hay 9 muestras de la clase yes y 5
muestras de clase no. Para calcular la ganancia de informacin de cada atributo,
primero utilizamos la ecuacin (7.1) para calcular la informacin esperada
necesaria para clasificar una muestra dada. Esto es:

A continuacin, tenemos que calcular la entropa de cada atributo. Vamos a
empezar con el atributo age. Tenemos que mirar a la distribucin de yes y no
muestras para cada valor de age. Calculamos la informacin esperada para cada
una de estas distribuciones.


Tabla 7.1: Tuplas de datos de entrenamiento de la base de datos clientes de
AllElectronics.
Utilizando la ecuacin (7.2), la informacin esperada necesaria para clasificar una
muestra dada si las muestras se dividen de acuerdo a age, es:

Por lo tanto, la ganancia en la informacin de una particin de este tipo sera:
Ganancia(age) = I(s1,s2) E(age) = 0.246
Del mismo modo, podemos calcular Ganancia(income) = 0.029, Ganancia(student)
= 0.151, y Ganancia(credit_rating) = 0.048. Puesto que age tiene la ganancia de
informacin ms alto entre los atributos, es seleccionado como el atributo de
prueba. Se crea un nodo y se marca con age, y las ramas se cultivan para cada
uno de los valores del atributo. Las muestras entonces se reparten por
consiguiente, como se muestra en la Figura 7.4. Observe que las muestras deben
caer en la particin para age = 30-40 todos pertenecen a la misma clase. Dado
que todos ellos pertenecen a la clase yes, una hoja, por lo tanto debe ser creada
en el extremo de esta rama y se marc con yes. El rbol de decisin final devuelto
por el algoritmo se muestra en la Figura 7.2.

Figura 7.4: El atributo age tiene la mayor ganancia de informacin y por lo tanto se
convierte en un atributo de prueba en el nodo raz del rbol de decisin. Las
Ramas crecen para cada valor de age. Las muestras se muestran divididas segn
cada rama.
En resumen, los algoritmos de induccin de rboles de decisin se han utilizado
para la clasificacin en una amplia gama de dominios de aplicacin. Estos
sistemas no utilizan el conocimiento del dominio. Los pasos de aprendizaje y
clasificacin de rbol de decisin de induccin son generalmente rpidos.
Exactitud en la clasificacin es generalmente elevada para datos donde el mapeo
de clases consta de regiones largas y delgadas en el concepto de espacio.

You might also like