Introducción a los árboles de decisión

1

Objetivos
– Explorar los conceptos generales de los árboles de decisión. – Entender los distintos algoritmos para árboles de decisión. – Discutir los beneficios y desventajas de los modelos de árboles de decisión.

2

Decision Tree
New Case DEBTINC = 20 NINQ = 2 DELINQ = 0 0 2% BAD = DEBTINC <45 DELINQ 1-2 45% 0,1 10% >2 NINQ >1 75%
3

 45 21%

45%

Iniciando con el nodo raíz y siguiendo hacia el nodo terminal (hoja). Cuando es continuo. en este caso la probabilidad de un “default”.Interpretación • Los nodos internos contienen reglas que involucran una de las variables de entrada. • Las hojas contienen el valor esperado del target. • Cuando el target es categórico. el árbol de decisión es llamado de clasificación. 4 . es llamado un árbol de regresión.

650 5% BAD 21% BAD 5 .350 Debt-to-Income Ratio < 45 no n = 1.Dividir y conquistar n = 5.000 10% BAD yes n = 3.

La partición se refiere a la segmentación de los datos en subgrupos que son tan homogéneos como sea posible con respecto al target.• El árbol se ajusta a los datos mediante partición recursiva. 6 . • El método es recursivo ya que cada subgrupo resulta de partir un subgrupo de un split previo.

El “cultivo” de los árboles – Split Search • Cuántas particiones deben considerarse? – Splitting Criterion • Qué partición es mejor? – Stopping Rule • Cuándo debe detenerse la partición? – Pruning Rule • Deben podarse algunas ramas? 7 .

Criterios para dividir Left Not Bad Bad 3196 154 Left Not Bad Bad Not Bad Bad 2521 115 4500 0 Right 1304 346 4500 500 Debt-to-Income Ratio < 45 Center Right 1188 162 0 500 791 223 4500 500 4500 500 A Competing Three-Way Split Perfect Split 8 .

• Para árboles de clasificación. esta división es la mejor. • En contraste. 9 . por lo que la división tiene poco valor. no se hizo ninguna mejora. si un split resulta en nodos hijo “puros”. los criterios son: Prueba de Pearson chi-cuadrado. Los tres miden la diferencia en las distribuciones a través de los nodos hijo. Gini index y entropía.Mejor split • Un mal split es cuando el target esperado es el mismo en los nodos hijo que en el nodo padre.

El tamaño correcto de un árbol 10 .

11 . Un árbol puede dividirse hasta que todas las hojas sean puras o contengan un solo caso. se tiene un árbol con una sola hoja (nodo raíz). • En el otro extremo. pero con nuevos datos la predicción sería pobre. todos los casos tendrían el mismo valor predictivo. Para el juego de datos de entrenamiento esto es perfecto.Complejidad de un árbol • Se mide por el número de hojas.

Determinación del tamaño correcto del árbol • Forward-stopping rules (prepruning): – Detenerse si el número de casos caen por debajo de un límite específico ó cuando el split no es estadísticamente significativo. Se necesita un criterio de evaluación para decidir cual es el mejor subárbol. 12 . • Que el árbol crezca y después podarlo (postpruning): – Los árboles que se van creando se les incrementa la complejidad.

5 C5.0 13 .Algoritmos AID THAID CHAID CART ID3 C4.

5.Algoritmos para árboles de decisión • Los algoritmos más populares son CART. • CHAID (chi-squared automatic interaction detection) usa splits multicamino y prepruning. CHAID y C4. 14 . • El CART estándar está restringido a splits binarios y usa post-pruning.

– Mezclas de Escalas de Medición • nominal. interval – Permite tratar missing values. ordinal. de lo contrario Default = no 15 . – Los resultados pueden escribirse como reglas: • IF(DEBTINC>=45) or (Debits<45 and 1<=Delinquencies<=2) or (Debits <45 and ADB > 2 and Inquiries >1).Ventajas de los árboles – Interpretabilidad • Es útil en la valoración de la importancia de las variables y de como interactúan en ellas. then Default = yes .

CONSTRUYENDO ARBOLES DE DECISIÓN 16 .

Objetivos – Explorar los tipos de modelos de árboles de decisión disponibles en Enterprise Miner. – Construir un modelo de árbol – Examinar los resultados del modelo 17 .

Demostración • Esta demontración ilustra la construcción de un árbol con Enterprise miner y sus resultados 18 .

se toma una muestra estratificada para dividir la tabla de datos input en trainnig. – Se puede especificar el porcentaje de los datos para training. validation y test. – Otros métodos que se pueden seleccionar son: Random.0 para training y 33 para validation. – Se puede especificar un random seed para iniciar el proceso de muestreo.Nodo Data Partition • Continuando en el Diagrama 1. cluster y Stratify. entonces se toma una simple muestra aleatoria. – Si el target no es una variable de clase. La muestra se estratifica en la variable target. validation y test. para test 0. • En el ejemplo dejar 67. . Por default si la variable target es tipo clase. colocar un nodo de Data Partition conectado al nodo HMEQ • Examinar el panel de propiedades: – Se puede seleccionar el método de partición.

si no estuvieran bien no pueden corregirse en este nodo y hay que ir al nodo de Input Data. • Dejar las propiedades en sus valores de default • Correr el árbol . • Examinar las variables para verificar el role y el level. • Seleccionar el nodo del árbol y ver el Panel de Propiedades.Nodo Decision Tree • Decision Tree y un nodo de Model Comparison y conectarlos.

– Para targets ordinales. . el criterio es la prueba chi-cuadrado.Splitting Criterion • Depende del nivel de medición de la variable target: – Para targets binarias o nominales. se usa Entropía – Para targets el criterio de default es la prueba F.

Significance Level • Esta propiedad se usa para especificar el p-value para el valor de una regla candidata para un split – Por ejemplo para las pruebas Chi-square y Ftest. el umbral es el máximo p-value. .

.Missing value • Determina como las reglas soportan las observaciones que contienen un missing value para una variable. – Largest branch.asigna la observación que contiene missings values a la rama más larga. Las opciones son: – Use in search – usa los missing values durante la búsqueda del split. Este es el default – Most correlated branch – asigna la observación con el missing value a la rama que minimiza la Sum of Squared Error entre las observaciones que contienen missings values.

– Maximum Branch: por default solo los splits binarios son permitidos. – Maximum Depth: la máxima profundidad de un árbol es de 6 niveles. – Leaf Size: mínimo número de observaciones en una hoja. . – Minimum categorical: número mínimo de observaciones que debe tener una variable categórica antes de usarse en la búsqueda de un split.Otras propiedades • Las otras opciones disponibles en el Panes de Propiedades afectan el crecimiento y tamaño del árbol.

count). muestra el número de hojas del árbol. así como de los nodos intermedios de el árbol. – Con el cursor se puede ver la información de cada hoja. Las hojas en la tabal están en orden desde el mayor número de observaciones en los datos de trainning hasta el menor. • Maximizar la ventana Output – La primera parte da información de los tipos de variables usados en el árbol (role. (mejor que en el Tree Map). – El cálculo de la importancia es una función del número de splits de la variable. la importancia de la variable calculada con los datos de entrenamiento (IMPORTANCE) y con los datos de validación (VIMPORTANCE) y la relación VIMPORTANCE a IMPORTANCE. level. el número de observaciones en cada uno de estos splits y la pureza de los mismos.Resultados • Maximizar la ventana del Tree Map – Muestra la forma en la que el árbol fue dividido. . mostrando el número de reglas (o splits) en el árbol (NRULES). Mientras más alto el valor es más importante. – Más abajo está la tabla de Variable Importance. – Tree Leaf Report.

• El ancho de las líneas es proporcional a la relación de el número de observaciones en la rama con respecto al número de observaciones de la raíz o nodo superior. En el ejemplo. .Tree window • El color en los nodos varía de acuerdo a la proporción del valor del target. mientras más blanco la proporción de 1s y 0s es más pareja (50-50) y mientras más puro el nodo (sólo 0s ó solo 1s) es más oscuro.

English Rules • Proporcionan una descripción escrita de las hojas del árbol. – View -> Model -> English Rules .

La meta principal es la de incrementar la interpretabilidad de los resultados. Estos cambios no necesariamente mejoran el desempeño del árbol.Usando las opciones • Se pueden hacer ajustes a los valores de default que causan que el árbol crezca. • Por default tenemos binary splits. pero pueden mejorar su interpretabilidadd. en teroría los árboles con multiway splits no son más poderosos que los binarios. .

• En las propiedades cambiar Maximum Branch a 4. de 3 y de 4 caminos. Cambiarle el nombre.Continuación ejemplo • Colocar un nuevo nodo de árbol y ligarlo al Data Partition y al Model Comparision. esto permitirá splits de 2. • Correr el nodo de árbol. • ¿Cuántas hojas tiene? .

• En las propiedades del 4-way Tree cambiar Leaf Size a 25 (al menos 25 observaciones en cada hoja). • Correr el nodo otra vez y ver cuantas hojas tiene ahora. . Por ejemplo. un nodo no debe dividirse con menos de 50 casos y requiere que cada nodo tenga al menos 25 casos.Limitando el crecimiento del árbol • El prepruning puede usarse para evitar demasiados nodos hoja pequeños.

– Usando la variable target Default. el modelo (árbol de decisión) predice la probabilidad de que falle en el pago. Para cada persona. contar el porcentaje de defraudadores en cada grupo y dividirla por el porcentaje de respuesta de la población (aprox 20%) .Comparando Modelos • Correr el diagrama desde el nodo Model Comparision y seleccionar Results… • Maximizar la gráfica de Score Rankings. Ordenar las observaciones desde la probabilidad de respuesta más alta hasta la más baja. • Para interpretar la Cumulative Lift: – En este ejemplo. alguien que responde está definido como el que falló en el pago del préstamo (Default = 1).

Los respondedores más altos se ponen en el decil 1.Lift Chart • • El porcentaje de respuesta es del 20% aproximadamente Se divide a la población en deciles (10 grupos) en los que los miembros de la población se colocan considerando su probabilidad calculada de respuesta. • Si el modelo es bueno. • En el ejemplo la curva muestra que el porcentaje de defraudadores en el 10% más alto es de 4 veces mayor que el porcentaje de 20% de respuesta promedio de la población. la lift chart grafica la mejora sobre la respuesta esperada si fueras a tomar una muestra aleatoria. la proporción de defraudadores será relativamente alta en los grupos donde la probabilidad de respuesta calculada es alta. • La lift chart puede obtenerse dividiendo la tasa de respuesta en cada percentil entre la tasa de respuesta de la población. Por lo tanto. – Lift = target response/avg response – Lift = % defraudadores/20% > 4 .

Pero a veces es necesario o deseable hacerlo en la base de un criterio práctico de negocios. el departamento de crédito quiere tratar las solicitudes donde la relación debt-to-income no está disponible en distinta forma de los que si se tiene esta información. • Para lograr esto se utiliza interactive training en el nodo Decision Tree. .Interactive Training • Los splits son seleccionados en la base de un criterio analítico. Por ejemplo.

• Seleccionar en el Panel de Propiedades el renglón Interactive Training. • Conectarlo al Data Partition Node y correrlo.Nodo interactivo • Hacer una copia del primer nodo de árbol que se incluyó en el diagrama. • Seleccionar View -> Competing Rules • Esta ventana lista las 5 variables top consideradas para el split • Para ver los valores de los splits. Cambiarle el nombre a Interactive Tree. • Vemos que los missings se agruparon con lsos >=45. . seleccionar View -> Competing Rules Details.1848 • La meta es dejar en una rama todos los solicitantes con missing values en esta variable y en la otra a todos los demás.

Quedando 2 ramas. . Para correr el árbol seleccionar Train -> train Correr el árbol modificado y ver los resultados.Procedimiento • • • • • • • • • Right-click en el nodo raiz del árbol y seleccionar Split Node…. el nodo izquierdo contiene las observaciones con no missing value y el derecho las de missing value en DEBTINC. El diagrama ya está actualizado. Esto crea una tercera rama para el split que solo contenga missing values. Seleccionar el renglón de Debt to Income Ratio Seleccionar Edit Rule Hasta abajo cambiar el Assign missing value to branch a Missing only. Se abre una ventana listando los split. Seleccinar Apply y luego OK. Seleccionar el renglón para Branch 2 y después seleccionar Remove Branch.

Sign up to vote on this title
UsefulNot useful