Professional Documents
Culture Documents
CAPITULO VI - ÁRBOLES
Temas:
• Introducción
• Árboles
• Árboles Binarios
• Árboles n-arios
• Árboles Etiquetados
• Representación de los Árboles
• Árbol de decisión
• Desarrollo
• Ejemplos
• Usos Generales
• Ventajas y Desventajas de los Árboles
• Software
• Referencias Bibliográficas
Introducción
Muchas veces los métodos científicos no permiten valorar con anticipación las consecuencias de
cada decisión, cuanto más compleja, costosa y grande es la actividad planificada más difícil es
determinar si la información existente es adecuada para decidir.
Los grafos constituyen una herramienta básica para modelizar fenómenos discretos. Su aplicación
se extiende a campos tan diversos cómo el Diseño y Análisis de Redes de Comunicación, la
Planificación de la Producción, la Ingeniería Eléctrica o las Ciencias de Computación.
Existe una clase de grafos que tienen una relación especial en estadística y en particular con el
data mining y es además, uno de los tipos de grafos más importantes: los árboles. Estos se
utilizan para organizar información de tal modo que sea posible efectuar eficientemente
operaciones que atañen a esa información. Es frecuente que resulte posible desglosar los
problemas complejos y representarlos mediante una estructura de árbol. Ésta estructura que
llamamos árbol apareció en 1847 en la obra de Gustav Kirchoff acerca de las redes eléctricas. El
concepto también apareció en Geometrie die Lage de Karl von Staudt. En 1857, los árboles fueron
redescubiertos por Arthur Cayley, quien no conocía tales desarrollos anteriores y fue el primero en
llamar “árbol” a esta estructura: Cayley los utilizó en las aplicaciones relacionadas con los isómeros
químicos.
El pilar sobre el que se asienta el modelo de los árboles de decisión es la teoría de grafos,
específicamente en los grafos denominados árboles.
Un árbol de decisión puede interpretarse esencialmente como una serie de reglas compactadas
representadas en forma de árbol.
En el presente capítulo primero, se introduce al concepto de árboles, y luego se trata los árboles
de decisión ya que es una de las herramientas utilizadas por data mining.
Árboles
Los árboles son un subconjunto importante de los grafos, y son una herramienta útil para describir
estructuras que representan algún tipo de jerarquía.
Para definir el concepto de árbol debemos saber cuando un grafo es conexo. Un grafo es conexo si
para cada par de nodos existe un camino que los conecta.
N1
N2 N3
N2 N3 N2 N3
Los árboles binarios constituyen un tipo particular de árboles de gran aplicación. Estos árboles se
caracterizan porque no existen nodos con grado mayor a dos. Acontinuación se presenta un árbol
binario.
Árboles n-arios
Un árbol n-ario es un grafo dirigido en el cual, de cada nodo pueden partir n aristas y así
consecutivamente, sin que sea obligatorio que de cada nodo partan igual número de aristas.
Esta clase de árboles es poco utilizada en el almacenamiento y manejo de información, ya que los
algoritmos que se pueden implementar para su manipulación son bastante engorrosos, debido a la
aleatoriedad de su estructura.
N1
N2 N3 N4
Árboles Etiquetados
Un árbol, se dice que es etiquetado, si sus aristas tienen asignada una etiqueta. Es útil asociar una
etiqueta, o valor, a cada nodo de un árbol. La etiqueta de un nodo no es el nombre del nodo, sino
el valor almacenado en él.
n1 *
n2 n3
+ +
n4 n5 n6 n7
c
a b a
Figura 3 – Árbol Etiquetado
Analizando las etiquetas, el nodo n2 tiene el operador + como etiqueta y sus hijos: izquierdo y
derecho representa las expresiones a y b, respectivamente. Por lo tanto n2 representa (a) + (b).
El nodo n1 representa (a + b) * (a + c). Puede observarse que estos árboles se pueden utilizar
para representar y/o almacenar expresiones algebraicas.
Existen dos formas de mantener un árbol en la memoria de una computadora, una se llama
representación secuencial, la cual se basa en la matriz de adyacencia (es la que relaciona los
nodos del árbol entre sí), la otra forma es la llamada representación enlazada y se basa en listas
enlazadas de vecinos.
Listas enlazadas: siendo una celda una unidad de almacenamiento de información idealizada que
posee dos elementos: los datos y un apuntador a la siguiente celda. Una colección de celdas,
enlazadas mediante apuntadores, es una lista enlazada. Si cada celda posee dos apuntadores,
estamos hablando de una lista doblemente enlazada.
Representación gráfica:
N1
N2
N5
N3 N4
N6 N7
N1 N5
N2 N4
N3 N7
N6
Figura 5 – Lista doblemente enlazada
Árboles de Decisión
Es una tarea desafiante comparar varios cursos de acción y finalmente seleccionar la acción que se
va a realizar. Las dificultades de la toma de decisiones están representadas por la complejidad de
las alternativas de decisión. La capacidad que tiene quien decide de procesar información es
limitada, pero en muchas decisiones se deben visualizar y comparar las implicancias de varios
cursos de acción. Además, hay factores desconocidos que interfieren en la situación problemática;
rara vez se conoce con certeza el resultado, es decir hay asociado algún grado de incertidumbre.
Se han desarrollado muchas técnicas para facilitar el proceso de decisión. Una de estas técnicas es
conocida como Árboles de Decisión o Sistemas de aprendizaje inductivos
Los árboles de decisión son muy útiles para el planteamiento de problemas secuenciales, pero esta
clase de situaciones implica decisiones con resultados hacia el futuro que, en términos de
comportamiento de quien decide no se ha definido con claridad cómo manejarlos.
Un árbol de decisión es un método gráfico que expresa, en orden cronológico las acciones
alternativas viables para el tomado de decisiones y las opciones que la suerte o el azar determina.
Tampoco están especialmente indicados para tratar con información incompleta y pueden resultar
problemáticos cuando existen dependencias funcionales en los datos del conjunto de
entrenamiento (cuando unos atributos son función de otros).
Se pueden construir con la ayuda de un algoritmo que divida los registros en grupos; la
probabilidad del resultado es diferente en cada grupo atendiendo a los valores de las variables
independientes. Existe una gran variedad de algoritmos de árboles de decisión por ejemplo se
citan aquí los nombres, autor y año en que se desarrolló el algoritmo:
[1]
ID3 [Quinlan 19686]
[2]
C4.5 [Quinlan 1993]
[3]
Cart [Breiman 1984]
Se presentará una descripción de los algoritmos.
Existen varios motivos que explican el auge que han experimentado estas técnicas en DM
últimamente. La razón de mayor peso es la enorme competitividad que existe para obtener
información con el fin de ofrecer un servicio al cliente cada vez mejor, así como aumentar la
rentabilidad.
Otra razón la encontramos en el hecho de que, en la actualidad, se puedan analizar sin grandes
costos las grandes masas de datos transaccionales que generan los negocios y en que estos datos
sean más accesibles gracias a los administradores de bases de datos.
Desarrollo
En principio, se busca la obtención de un árbol de decisión que sea compacto.
En terminología de árboles de decisión, la base del árbol es la raíz. Cada división para un atributo
representa una rama y el punto final del árbol donde se alcanza una decisión que se denomina
hoja.
Nodo
Decisión
Raíz
En un Árbol de Decisiones hay nodos y ramas. En la Figura 6, se puede observar que hay líneas
rectas que son las ramas, hay cuadrados que son los nodos o puntos de decisión y círculos que son
nodos o puntos de azar. Las ramas que se extienden de los nodos indican las alternativas que se
pueden tomar, en el caso de nodos de decisión o los diferentes resultados de un evento en el caso
de los nodos de azar. En este último caso cada rama tiene asociada una probabilidad de
ocurrencia. Esta probabilidad es una medida de la posibilidad de que ese evento ocurra. La suma
de las probabilidades de las ramas que parten de cada nodo del evento es igual a uno. O sea, que
se supone que los eventos son exhaustivos; a los nodos de decisión no se les asigna
probabilidades, ya que en esos puntos quien decide tiene el control y no es un evento aleatorio,
sujeto al azar.
La técnica de análisis de decisiones con árboles de decisión consiste en efectuar cálculos en cada
nodo de azar para encontrar el valor esperado. Ese valor reemplaza al nodo de azar y se compara
con cada uno de los demás que parten de un nodo de decisión y se selecciona el mayor. Este valor
se asigna el nodo de decisión correspondiente y se llama valor de posición del nodo de decisión.
Las reglas de parada tratan de predecir si merece la pena seguir construyendo el árbol por la rama
actual o no. Lo usual es detener la construcción del árbol de decisión cuando se ha llegado a un
nodo puro, entendiendo por nodo puro aquel que contiene ejemplos de una única clase. No
obstante, se pueden utilizar otros criterios de parada además del anterior. A continuación se
describen dos posibles reglas:
• Cota de profundidad
Independientemente de la pureza del nodo, se puede establecer de antemano una cota de
profundidad para no construir árboles excesivamente complejos. Cuando un nodo se halle a
más de cierta profundidad, se detiene el proceso de generación del árbol.
Estas reglas también se denominan reglas de pre-poda porque reducen la complejidad del árbol
durante su construcción, en contraste con las reglas usuales de post-poda que simplifican el árbol
de decisión una vez éste ha sido construido por completo.
La idea básica es la de podar aquellos árboles que produzcan pequeños beneficios de bondad. Se
espera que árboles podados (más simples) produzcan mejores resultados que los obtenidos con
árboles más grandes (más complejos), esto es, los árboles podados tendrán más capacidad de
generalización.
1. Cada nodo corresponde a un atributo y cada rama al valor posible de ese atributo. Una
hoja del árbol específica el valor esperado de la decisión de acuerdo con los ejemplos
dados. La explicación de una determinada decisión viene dada por la trayectoria desde
la raíz a la hoja representativa de esa decisión.
2. A cada nodo se le es asocia aquel atributo más informativo que aún no haya sido
considerado en la trayectoria desde la raíz.
Los sistemas de aprendizaje inductivo se basan, generalmente, en los algoritmos ID3 y C4.5
formulados por Quinlan.
El ID3 es capaz de tratar con atributos cuyos valores sean discretos o continuos. En el primer caso,
el árbol de decisión generado tendrá tantas ramas como valores posibles tome el atributo. Si los
valores del atributo son continuos, el ID3 no clasifica correctamente los ejemplos dados. Por ello,
Quinlan (1993) propuso el C4.5, como extensión del ID3, que permite:
Entre los algoritmos basados en árboles, el CART (acrónimo de Classification And Regression
Trees o árboles de clasificación y regresión) fue propuesto por Breiman. Las diferencias principales
entre los distintos algoritmos de construcción de árboles de decisión radican en las estrategias de
poda y en la regla adoptada para particionar nodos. Así, CART se caracteriza, fundamentalmente,
3. Utilizando los valores de los atributos del patrón X. Este proceso se repite desde el nodo
raíz hasta alcanzar una hoja, siguiendo el camino impuesto por el resultado de cada
evaluación.
1. Aprendizaje ?
S Aprendizaje ? ?
1 2 ? 1
2 1
2. Clasificación
Xt Xt +1
? ?
? ? ? ?
1 2 ? 1 1 2 ? 1
2 1 2 1
d(Xt) = 1 d(Xt+1) = 2
Figura 7 - Metodología
Ejemplo 1
El problema a resolver es el siguiente: se trata de decidir si vamos a jugar al tenis dependiendo de
las condiciones atmosféricas siguientes: nubosidad, humedad y viento.
Considerando un conjunto de aprendizaje en el que los patrones están compuestos por atributos
categóricos y la clase cierta asociada es Si o No, algunos de estos prototipos serán:
Nubosidad
Humedad SI Viento
NO SI NO SI
Que se corresponde con la siguiente regla para la decisión de jugar: (Nubosidad = despejado
Observar que aunque los patrones tienen asociados tres atributos, para la toma de decisiones no
se requiere la evaluación de todos ellos (tener en cuenta en caso Nubosidad = nuboso, por
ejemplo). Para el árbol presentado, sólo se requiere la evaluación de un máximo de dos atributos
para llegar a tomar una decisión.
Una consecuencia es que los árboles de decisión llevan implícitamente un mecanismo de selección
de las variables más significativas. De hecho, si una vez construído el árbol, un atributo no
interviene en ninguna pregunta (no se evalúa en algún nodo interior) éste puede descartarse. Este
procedimiento es, por lo tanto, un mecanismo sencillo de selección de características
Ejemplo 2
El ejemplo consiste en el lanzamiento de un nuevo producto al mercado en la empresa de
aplicación, SAS. En el primer punto de decisión hay que enfrentarse a dos alternativas: introducir el
producto a a escala nacional o escala regional. El segundo punto de decisión hay que decidir entre
VPN en miles
Baja demanda P=0,30 de millones
$1,0
$4,5
Alta demanda
nacional P=0,71
Distribuir a escala C
nacional
Baja demanda nacional
P=0,29 -0,5
2
Introducir
A Alta demanda Alta demanda $2,5
regionalmente
regional P=0,70 nacional P=0,71
No distribuir a
D
Escala nacional
$4,5
Alta demanda
nacional P=0,71
Distribuir a escala
C
nacional
$3,05 $3,05 Baja demanda nacional
P=0,29 -0,5
$2,135 2 1,775
Introducir
A Alta demanda Alta demanda $2,5
regionalmente
regional P=0,70 nacional P=0,71
No distribuir a D
Escala nacional
1 $2,355 Baja demanda nacional
P=0,29 $2,0 -0,5
$2,75 3,75 0,58
En la Figura 10, el VPN de todas las ramas que emanan del evento C es:
Resumiendo todo el proceso y se observa que la decisión que se seleccionaría sería “introducir a
nivel nacional”. Se debe observar que en este análisis se ha utilizado el criterio de maximizar el
VPN esperado. Otro enfoque pudo haber sido maximizar el valor esperado de la utilidad.
Como hemos visto se puede simplificar los árboles asignando distribuciones de probabilidad a los
nodos de azar y efectuando un proceso iterativo de simulación; y realizando eliminaciones en el
desarrollo del proceso con base en el valor esperado y la varianza de las diferentes distribuciones
resultantes. O sea, que se eliminarían aquellas distribuciones con mayores (o menores) valores
esperados y varianzas simultáneamente (sí una distribución tiene menor valor esperado y mayor
varianza que otra, se descarta la primera, bajo el supuesto de que se trata de utilidades; si fueran
costos se consideraría el mayor valor esperado y mayor varianza). También se pueden descartar
en el proceso, valores que no cumplan con ciertos límites preestablecidos. De esta forma el análisis
se simplificaría al reducir los eventos.
Software
PrecisionTree®
Es un programa auxiliar de análisis de decisión para Microsoft Excel®. Le permite crear diagramas
de influencia y árboles de decisión directamente en una hoja de cálculo. Crea diagramas fácilmente
seleccionando celdas en la hoja de cálculo y haciendo clic en los botones de nodo de la barra de
herramientas de PrecisionTree. Se introduce probabilidades y beneficios directamente en las celdas
del árbol de decisión. Con un solo una orden, PrecisionTree puede ejecutar un eficaz análisis de
decisión en un modelo que ayudará a determinar el camino a seguir.
CART
CART es una herramienta Data Mining de estructura tipo árbol que permite automáticamente
descubrir relaciones ocultas en los datos para la búsqueda de análisis predictivos. De este modo,
CART puede encontrar las relaciones que existen entre diferentes tipos de información para
obtener una mejor comprensión de los mismos.
Marketing
Segmentación de mercados.
Calificación de clientes.
Mailings directos
Servicios financieros
Tarjetas de crédito.
Detección de fraudes.
Producción
Salud
Análisis médicos.
Investigación biomédica.
Referencias Bibliográficas
[1]
QUINLAN J.R. “Induction of Decision Trees. Machine Learning”, Kluwer Academic Publishers – 1986.
[2]
QUINLAN J.R. “C4.5: programs for machine learning”, Morgan Kaufmann Publishers Inc. – 1993.
[3]
BREIMAN L., FRIEDMAN J., OLSHEN, R. y STONE, C. “Classification and regression trees”, Pacific
Grove - 1984.