CAPÍTULO 2. ESTADO DE LA CUESTIÓN
2.2. Técnicas de Data Mining
2.2.2. Clasificación
2.2.2.1. Árboles de decisión
Un árbol de decisión es un modelo de clasificación que sirve para estructurar una serie de condiciones que llevarán a la decisión de asignar a un objeto una clase determinada.
Un árbol de decisión es un diagrama que representa en forma secuencial condiciones y acciones; muestra qué condiciones se consideran en primer lugar, cuáles en segundo
lugar y así sucesivamente. Este método permite mostrar la relación que existe entre cada condición y el grupo de decisiones permisibles asociado con ella.
El árbol de decisión está formado por el nodo raíz, los nodos internos, los nodos hojas y las ramas que conectan los nodos entre sí. Tanto el nodo raíz como los nodos internos representan las condiciones del problema. El nodo raíz representa el nodo a partir del cual se construye el árbol de decisión mientras que los nodos internos son los que derivan del nodo raíz hasta llegar a los nodos hoja, los cuales representan la decisión de clasificación asociada a los objetos que cumplen las condiciones de los nodos anteriores.
En la [Figura 2-3] se muestra un ejemplo de un árbol de clasificación donde se representan las personas que se prestan mejor a un crédito que otras. El objetivo es saber si el riesgo de conceder el crédito es alto o bajo.
Figura 2-3. Árbol de decisión
Una de las ventajas de los árboles de decisión es que permiten explicar las clasificaciones que se realizan, ventaja que no tienen las redes de neuronas (ver apartado 2.2.2.3). También hay que tener en cuenta que esta ventaja puede llevar a confusiones. Por ejemplo, las divisiones radicales con que cuentan los árboles de decisión implican una precisión que no se refleja exactamente en la realidad (¿por qué una persona con salario 1201 € se presta a la concesión de un préstamo con bajo riesgo y otra persona con 1200 € no?).
Otra de las ventajas de los árboles de decisión es que trabajan muy bien con una gran cantidad de variables. Esto hace que los modelos se puedan construir muy rápidamente y de forma eficiente. Sin embargo, se suelen utilizar reglas para limitar el crecimiento del árbol tanto en profundidad como en anchura. Además, se puede conseguir podar el árbol en determinados sitios gracias a heurísticas o a la intervención del propio usuario.
La desventaja fundamental de los árboles de decisión es que crecen desmesuradamente a medida que aumentan los grupos de datos. Cuando se realiza el proceso de clasificar, el objetivo es maximizar la distancia existente entre los diferentes grupos. La forma de calcular esta distancia da lugar a distintos métodos de árboles de decisión. Fijándonos en el ejemplo de la [Figura 2-3], los datos se pueden agrupar en dos posibles grupos, los de alto riesgo y los de bajo riesgo. Este ejemplo es fácil de entender e interpretar, pero existen árboles de decisión muy complicados. Sólo hay que imaginarse la complejidad de un árbol de decisión derivado de una base de datos de cientos de atributos y con una docena de clases de salida. Estos árboles son extremadamente difíciles de entender, aunque se entienda cada nodo hoja por separado.
Los dos puntos más importantes que se deben determinar en el diseño de un árbol de decisión son los siguientes:
Divisiones (o particiones) a considerar: Un conjunto de condiciones exhaustivas y excluyentes. Cuantas más divisiones se permitan más expresivos podrán ser los árboles de decisión generados y, probablemente, más precisos. No obstante, cuantas más divisiones se elijan, la complejidad del árbol será mayor. Por tanto, es importante encontrar un buen compromiso entre expresividad y eficiencia.
Criterio de selección de divisiones: Incluso con sólo dos divisiones por atributo el número de divisiones posibles puede dispararse. Si en una condición, un atributo puede tomar más de dos valores entonces el número de divisiones será mucho mayor (si existen n atributos y m valores posibles para cada atributo, el número de divisiones posibles es de n x m). Los algoritmos clásicos de aprendizaje de decisión son voraces, en el sentido de que una vez elegida la división se continúa hacia abajo la construcción del árbol y no vuelven a plantearse las divisiones ya construidas. Por tanto se debe buscar un criterio que permita realizar una buena elección de la división que parece más prometedora y que esto se haga sin demasiado esfuerzo computacional. Los algoritmos de aprendizaje de árboles de decisión en su forma más sencilla obtienen un modelo que es completo y consistente con respecto a la evidencia. Es decir, el modelo cubre todos los ejemplos vistos y los cubre todos de manera correcta.
Esto puede parecer óptimo a primera vista, pero se vuelve demasiado ingenuo en la realidad. En primer lugar, ajustarse demasiado a la evidencia suele tener como consecuencia que el modelo se comporte mal para nuevos ejemplos, ya que, en la mayoría de los casos, el modelo es solamente una aproximación del concepto objetivo del aprendizaje. Por tanto, intentar aproximar demasiado hace que el modelo sea demasiado específico, poco general y, por tanto, malo con otros datos no vistos. En segundo lugar, esto es especialmente patente cuando la evidencia puede contener ruido (errores en los atributos), ya que el modelo intentará ajustarse a los errores y esto perjudicará el comportamiento global del modelo aprendido. Estos problemas es lo que se conoce como sobreajuste (overfitting).
La manera más frecuente de limitar este problema es modificar los algoritmos de aprendizaje de tal manera que obtengan modelos más generales. En el contexto de los árboles de decisión, generalizar significa eliminar condiciones de las ramas del árbol o de algunas reglas. En el caso de los árboles de decisión dicho procedimiento se puede ver gráficamente como un proceso de poda.
La poda es una de las primeras y más simples modificaciones que se han ideado para mejorar el comportamiento de los árboles de decisión. Con posterioridad se han definido otra serie de operadores y modificaciones, generalmente denominados operadores de reestructuración. Por ejemplo, el algoritmo C4.5 realiza lo que se conoce como colapsamiento (collapsing) [Quinlan 93]. Otros operadores de modificación de la topología del árbol son la transposición, la transposición recursiva y la poda virtual [Utgoff et al. 97].
Existe una amplia variedad de algoritmos para la construcción de árboles de decisión. ID3 [Quinlan 83, Quinlan 86], C4.5 [Quinlan 93] y derivados (Assistant [Cestnik et al. 87]) son métodos de aprendizaje de divide y vencerás que particionan el conjunto de ejemplos en subconjuntos a medida que avanzan; trabajar sobre cada subconjunto es más sencillo que trabajar sobre el total de los datos.
CART (Classification And Regression Trees) [Breiman et al. 84] y QUEST [Loh y Shih 97] son aplicaciones que construyen árboles de clasificación binarios cuyas divisiones se hacen utilizando una sola variable o varias variables ordenadas (medidas al menos en una escala numérica) o una mezcla de ambas. Otras aplicaciones como
FACT [Loh y Vanichsetakul 88] y THAID [Morgan y Messenger 73] (al igual que AID (Automatic Interaction Detection) [Morgan y Sonquist 63] y CHAID (Chi- Square Automatic Interaction Detection) [Kass 80]) realizan divisiones múltiples en lugar de binarias al desarrollar el árbol de clasificación.