P. 1
Introducción a los árboles de decision

Introducción a los árboles de decision

|Views: 45|Likes:

More info:

Published by: Jose Manuel Masanet García on Feb 11, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

12/14/2013

pdf

text

original

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). • Las hojas contienen el valor esperado del target. en este caso la probabilidad de un “default”.Interpretación • Los nodos internos contienen reglas que involucran una de las variables de entrada. 4 . el árbol de decisión es llamado de clasificación. es llamado un árbol de regresión. • Cuando el target es categórico. Cuando es continuo.

Dividir y conquistar n = 5.000 10% BAD yes n = 3.350 Debt-to-Income Ratio < 45 no n = 1.650 5% BAD 21% BAD 5 .

6 .• El árbol se ajusta a los datos mediante partición recursiva. 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 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 .

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

El tamaño correcto de un árbol 10 .

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). todos los casos tendrían el mismo valor predictivo. pero con nuevos datos la predicción sería pobre. • En el otro extremo. Para el juego de datos de entrenamiento esto es perfecto.Complejidad de un árbol • Se mide por el número de hojas. 11 .

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. • Que el árbol crezca y después podarlo (postpruning): – Los árboles que se van creando se les incrementa la complejidad. 12 .

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

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

then Default = yes . 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). – Mezclas de Escalas de Medición • nominal. ordinal.Ventajas de los árboles – Interpretabilidad • Es útil en la valoración de la importancia de las variables y de como interactúan en ellas. interval – Permite tratar missing values.

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

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

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

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. 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. – 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.

– 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. . – Maximum Depth: la máxima profundidad de un árbol es de 6 niveles. – Leaf Size: mínimo número de observaciones en una hoja.Otras propiedades • Las otras opciones disponibles en el Panes de Propiedades afectan el crecimiento y tamaño del árbol. – Maximum Branch: por default solo los splits binarios son permitidos.

Mientras más alto el valor es más importante. • Maximizar la ventana Output – La primera parte da información de los tipos de variables usados en el árbol (role. el número de observaciones en cada uno de estos splits y la pureza de los mismos. . – El cálculo de la importancia es una función del número de splits de la variable. level. muestra el número de hojas del árbol. – Más abajo está la tabla de Variable Importance. Las hojas en la tabal están en orden desde el mayor número de observaciones en los datos de trainning hasta el menor. – Con el cursor se puede ver la información de cada hoja. – Tree Leaf Report. count). (mejor que en el Tree Map). así como de los nodos intermedios de el árbol.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). 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.

En el ejemplo. • 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.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.

– View -> Model -> English Rules .English Rules • Proporcionan una descripción escrita de las hojas 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. Estos cambios no necesariamente mejoran el desempeño del árbol. La meta principal es la de incrementar la interpretabilidad de los resultados. en teroría los árboles con multiway splits no son más poderosos que los binarios. pero pueden mejorar su interpretabilidadd.

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

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

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

la proporción de defraudadores será relativamente alta en los grupos donde la probabilidad de respuesta calculada es alta.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. • 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 . • 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. • Si el modelo es bueno. Los respondedores más altos se ponen en el decil 1. la lift chart grafica la mejora sobre la respuesta esperada si fueras a tomar una muestra aleatoria.

• 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. 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. . Pero a veces es necesario o deseable hacerlo en la base de un criterio práctico de negocios. Por ejemplo.

• Seleccionar View -> Competing Rules • Esta ventana lista las 5 variables top consideradas para el split • Para ver los valores de los splits. • Seleccionar en el Panel de Propiedades el renglón Interactive Training. seleccionar View -> Competing Rules Details. • Vemos que los missings se agruparon con lsos >=45. • Conectarlo al Data Partition Node y correrlo. .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. Cambiarle el nombre a Interactive Tree.Nodo interactivo • Hacer una copia del primer nodo de árbol que se incluyó en el diagrama.

Seleccionar el renglón de Debt to Income Ratio Seleccionar Edit Rule Hasta abajo cambiar el Assign missing value to branch a Missing only. Quedando 2 ramas. Para correr el árbol seleccionar Train -> train Correr el árbol modificado y ver los resultados. Se abre una ventana listando los split. Esto crea una tercera rama para el split que solo contenga missing values. Seleccinar Apply y luego OK. El diagrama ya está actualizado. Seleccionar el renglón para Branch 2 y después seleccionar Remove Branch. .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.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->