Introducción a los árboles de decision

35
Introducción a los árboles de decisión 1

Transcript of Introducción a los árboles de decision

Page 1: Introducción a los árboles de decision

Introducción a los árboles de decisión

1

Page 2: Introducción a los árboles de decision

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

Page 3: Introducción a los árboles de decision

Decision Tree

3

NINQ>1

75%

2%

0 1-2

45%

DELINQ

DEBTINC

<45 45

10%

0,1

21%>2

BAD =New CaseDEBTINC = 20

NINQ = 2DELINQ = 0

45%

Page 4: Introducción a los árboles de decision

Interpretación

• Los nodos internos contienen reglas que involucran una de las variables de entrada. 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”.

• Cuando el target es categórico, el árbol de decisión es llamado de clasificación. Cuando es continuo, es llamado un árbol de regresión.

4

Page 5: Introducción a los árboles de decision

Dividir y conquistar

5

n = 5,000

10% BAD

n = 3,350 n = 1,650Debt-to-Income

Ratio < 45

yes no

21% BAD5% BAD

Page 6: Introducción a los árboles de decision

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

6

Page 7: Introducción a los árboles de decision

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

Page 8: Introducción a los árboles de decision

Criterios para dividir

8

Left Right

Perfect Split

Debt-to-Income Ratio < 45

A CompetingThree-Way Split

4500 0

0 500

3196 1304

154 346

Not Bad

Bad

2521 1188

115 162

791

223

Left Center Right

4500

500

4500

500

4500

500

Not Bad

Bad

Not Bad

Bad

Page 9: Introducción a los árboles de decision

Mejor split• Un mal split es cuando el target esperado es el

mismo en los nodos hijo que en el nodo padre, no se hizo ninguna mejora, por lo que la división tiene poco valor.

• En contraste, si un split resulta en nodos hijo “puros”, esta división es la mejor.

• Para árboles de clasificación, los criterios son: Prueba de Pearson chi-cuadrado, Gini index y entropía. Los tres miden la diferencia en las distribuciones a través de los nodos hijo.

9

Page 10: Introducción a los árboles de decision

El tamaño correcto de un árbol

10

Page 11: Introducción a los árboles de decision

Complejidad de un árbol

• Se mide por el número de hojas. Un árbol puede dividirse hasta que todas las hojas sean puras o contengan un solo caso. Para el juego de datos de entrenamiento esto es perfecto, pero con nuevos datos la predicción sería pobre.

• En el otro extremo, se tiene un árbol con una sola hoja (nodo raíz), todos los casos tendrían el mismo valor predictivo.

11

Page 12: Introducción a los árboles de decision

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.

• Que el árbol crezca y después podarlo (postpruning):– Los árboles que se van creando se les

incrementa la complejidad. Se necesita un criterio de evaluación para decidir cual es el mejor subárbol.

12

Page 13: Introducción a los árboles de decision

Algoritmos

13

CART

AIDTHAIDCHAID

ID3C4.5C5.0

Page 14: Introducción a los árboles de decision

Algoritmos para árboles de decisión

• Los algoritmos más populares son CART, CHAID y C4.5.

• El CART estándar está restringido a splits binarios y usa post-pruning.

• CHAID (chi-squared automatic interaction detection) usa splits multicamino y prepruning.

14

Page 15: Introducción a los árboles de decision

Ventajas de los árboles

– Interpretabilidad

• Es útil en la valoración de la importancia de las

variables y de como interactúan en ellas.

– Mezclas de Escalas de Medición• nominal, ordinal, interval

– Permite tratar missing values.– 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), then Default = yes , de lo contrario Default = no 15

Page 16: Introducción a los árboles de decision

CONSTRUYENDO ARBOLES DE DECISIÓN

16

Page 17: Introducción a los árboles de decision

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

Page 18: Introducción a los árboles de decision

Demostración

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

18

Page 19: Introducción a los árboles de decision

• Continuando en el Diagrama 1, colocar un nodo de Data Partition conectado al nodo HMEQ

• Examinar el panel de propiedades:– Se puede seleccionar el método de partición. Por default si la variable

target es tipo clase, se toma una muestra estratificada para dividir la tabla de datos input en trainnig, validation y test. La muestra se estratifica en la variable target.

– Si el target no es una variable de clase, entonces se toma una simple muestra aleatoria.

– Otros métodos que se pueden seleccionar son: Random, cluster y Stratify.

– Se puede especificar un random seed para iniciar el proceso de muestreo.

– Se puede especificar el porcentaje de los datos para training, validation y test.

• En el ejemplo dejar 67.0 para training y 33 para validation, para test 0.

Nodo Data Partition

Page 20: Introducción a los árboles de decision

• Decision Tree y un nodo de Model Comparison y conectarlos.

• Seleccionar el nodo del árbol y ver el Panel de Propiedades.

• Examinar las variables para verificar el role y el level, 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

Nodo Decision Tree

Page 21: Introducción a los árboles de decision

Splitting Criterion

• Depende del nivel de medición de la variable target:– Para targets binarias o nominales, el criterio

es la prueba chi-cuadrado.– Para targets ordinales, se usa Entropía– Para targets el criterio de default es la prueba

F.

Page 22: Introducción a los árboles de decision

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 F-

test, el umbral es el máximo p-value.

Page 23: Introducción a los árboles de decision

Missing value

• Determina como las reglas soportan las observaciones que contienen un missing value para una variable. 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.

– Largest branch- asigna la observación que contiene missings values a la rama más larga.

Page 24: Introducción a los árboles de decision

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.– Maximum Depth: la máxima profundidad de un árbol

es de 6 niveles.– 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.

– Leaf Size: mínimo número de observaciones en una hoja.

Page 25: Introducción a los árboles de decision

Resultados• Maximizar la ventana del Tree Map

– Muestra la forma en la que el árbol fue dividido. – Con el cursor se puede ver la información de cada hoja, así como de

los nodos intermedios de el árbol.• Maximizar la ventana Output

– La primera parte da información de los tipos de variables usados en el árbol (role, level, count).

– Más abajo está la tabla de Variable Importance, 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.

– El cálculo de la importancia es una función del número de splits de la variable, el número de observaciones en cada uno de estos splits y la pureza de los mismos. Mientras más alto el valor es más importante.

– Tree Leaf Report, muestra el número de hojas del árbol, (mejor que en el Tree Map). Las hojas en la tabal están en orden desde el mayor número de observaciones en los datos de trainning hasta el menor.

Page 26: Introducción a los árboles de decision

Tree window

• El color en los nodos varía de acuerdo a la proporción del valor del target. En el ejemplo, 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.

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

Page 27: Introducción a los árboles de decision

English Rules

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

Page 28: Introducción a los árboles de decision

Usando las opciones

• Se pueden hacer ajustes a los valores de default que causan que el árbol crezca. Estos cambios no necesariamente mejoran el desempeño del árbol, pero pueden mejorar su interpretabilidadd.

• Por default tenemos binary splits, en teroría los árboles con multiway splits no son más poderosos que los binarios. La meta principal es la de incrementar la interpretabilidad de los resultados.

Page 29: Introducción a los árboles de decision

Continuación ejemplo

• Colocar un nuevo nodo de árbol y ligarlo al Data Partition y al Model Comparision. Cambiarle el nombre.

• En las propiedades cambiar Maximum Branch a 4, esto permitirá splits de 2, de 3 y de 4 caminos.

• Correr el nodo de árbol.

• ¿Cuántas hojas tiene?

Page 30: Introducción a los árboles de decision

Limitando el crecimiento del árbol

• El prepruning puede usarse para evitar demasiados nodos hoja pequeños. Por ejemplo, un nodo no debe dividirse con menos de 50 casos y requiere que cada nodo tenga al menos 25 casos.

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

Page 31: Introducción a los árboles de decision

Comparando Modelos

• Correr el diagrama desde el nodo Model Comparision y seleccionar Results…

• Maximizar la gráfica de Score Rankings.• 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). Para cada persona, el modelo (árbol de decisión) predice la probabilidad de que falle en el pago. Ordenar las observaciones desde la probabilidad de respuesta más alta hasta la más baja.

– Usando la variable target Default, contar el porcentaje de defraudadores en cada grupo y dividirla por el porcentaje de respuesta de la población (aprox 20%)

Page 32: Introducción a los árboles de decision

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. Los respondedores más altos se ponen en el decil 1.

• Si el modelo es bueno, la proporción de defraudadores será relativamente alta en los grupos donde la probabilidad de respuesta calculada es alta.

• 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. Por lo tanto, la lift chart grafica la mejora sobre la respuesta esperada si fueras a tomar una muestra aleatoria.

• La lift chart puede obtenerse dividiendo la tasa de respuesta en cada percentil entre la tasa de respuesta de la población.– Lift = target response/avg response– Lift = % defraudadores/20% > 4

Page 33: Introducción a los árboles de decision

Interactive Training

• Los splits son seleccionados en la base de un criterio analítico. Pero a veces es necesario o deseable hacerlo en la base de un criterio práctico de negocios. Por ejemplo, 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.

Page 34: Introducción a los árboles de decision

Nodo interactivo• Hacer una copia del primer nodo de árbol que se incluyó

en el diagrama. Cambiarle el nombre a Interactive Tree.• Conectarlo al Data Partition Node y correrlo.• Seleccionar en el Panel de Propiedades el renglón

Interactive Training. • Seleccionar View -> Competing Rules• Esta ventana lista las 5 variables top consideradas para

el split• Para ver los valores de los splits, seleccionar View ->

Competing Rules Details.• Vemos que los missings se agruparon con lsos

>=45.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.

Page 35: Introducción a los árboles de decision

Procedimiento• Right-click en el nodo raiz del árbol y seleccionar Split Node…. Se

abre una ventana listando los split.• Seleccionar el renglón de Debt to Income Ratio• Seleccionar Edit Rule• Hasta abajo cambiar el Assign missing value to branch a Missing

only. Esto crea una tercera rama para el split que solo contenga missing values.

• Seleccionar el renglón para Branch 2 y después seleccionar Remove Branch. Quedando 2 ramas.

• Seleccinar Apply y luego OK.• El diagrama ya está actualizado, el nodo izquierdo contiene las

observaciones con no missing value y el derecho las de missing value en DEBTINC.

• Para correr el árbol seleccionar Train -> train• Correr el árbol modificado y ver los resultados.