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.