Sunteți pe pagina 1din 16

1. ¿Qué es un árbol de decisión? Como funciona ?

El árbol de decisión es un tipo de algoritmo de aprendizaje supervisado (que tiene una variable objetivo predefinida) que se usa principalmente
en problemas de clasificación. Funciona para variables de entrada y salida tanto categóricas como continuas. En esta técnica, dividimos la
población o la muestra en dos o más conjuntos homogéneos (o subpoblaciones) basados en el separador / diferenciador más significativo en las
variables de entrada.

Ejemplo:-

Digamos que tenemos una muestra de 30 estudiantes con tres variables: género (niño / niña), clase (IX / X) y altura (5 a 6 pies). 15 de estos 30
juegan al cricket en el tiempo libre. Ahora, quiero crear un modelo para predecir quién jugará cricket durante el período de ocio. En este
problema, debemos separar a los estudiantes que juegan cricket en su tiempo libre en función de una variable de entrada altamente significativa
entre los tres.

Aquí es donde el árbol de decisiones ayuda, segregará a los estudiantes en función de todos los valores de tres variables e identificará la variable,
lo que crea los mejores conjuntos homogéneos de estudiantes (que son heterogéneos entre sí). En la instantánea a continuación, puede ver que
la variable Género puede identificar los mejores conjuntos homogéneos en comparación con las otras dos variables.
Como se mencionó anteriormente, el árbol de decisión identifica la variable más significativa y su valor es el que proporciona los mejores
conjuntos homogéneos de población. Ahora la pregunta que surge es, ¿cómo identifica la variable y la división? Para hacer esto, el árbol de
decisión usa varios algoritmos, los cuales discutiremos en la siguiente sección.

Tipos de árboles de decisión:Los tipos de árbol de decisión se basan en el tipo de variable objetivo que tenemos. Puede ser de dos tipos:

1. Árbol de decisión de variable categórica: Árbol de decisión que tiene una variable objetivo categórica y luego se llama árbol de decisión
de variable categórica Ejemplo: - En el escenario anterior del problema del alumno, donde la variable objetivo era "El alumno jugará
cricket o no", es decir, SÍ o NO.

2. Árbol de decisión de variable continua: El árbol de decisión tiene una variable objetivo continua y, a continuación, se denomina Árbol
de decisión de variable continua.

Ejemplo: Digamos que tenemos un problema para predecir si un cliente pagará su prima de renovación con una compañía de seguros (sí /
no). Aquí sabemos que el ingreso del cliente es una variable significativa, pero la compañía de seguros no tiene detalles de ingreso para todos los
clientes. Ahora, como sabemos que esta es una variable importante, podemos construir un árbol de decisiones para predecir los ingresos de los
clientes en función de la ocupación, el producto y otras variables. En este caso, estamos pronosticando valores para variable continua.

Terminología importante relacionada con los árboles de decisión

Veamos la terminología básica utilizada con los árboles de decisión:

1. Nodo raíz: representa una población o muestra completa y esto se divide en dos o más conjuntos homogéneos.

2. División: es un proceso de división de un nodo en dos o más subnodos.

3. Nodo de decisión: cuando un subnodo se divide en subnodos adicionales, se denomina nodo de decisión.
4. Nodo hoja / terminal: Los nodos que no se dividen se denominan nodo hoja o terminal.

5. Poda:cuando eliminamos los subnodos de un nodo de decisión, este proceso se denomina poda. Se puede decir proceso opuesto de
división.

6.

7. Rama / Subárbol: Una subsección de todo el árbol se llama rama o subárbol.

8. Nodo primario y secundario : un nodo, que se divide en subnodos, se denomina nodo principal de los subnodos, donde, como
subnodos, es el secundario del nodo principal.

Estos son los términos comúnmente utilizados para los árboles de decisión. Como sabemos que cada algoritmo tiene ventajas y desventajas, a
continuación se presentan los factores importantes que uno debe saber.

Ventajas

1. Fácil de entender : la salida del árbol de decisión es muy fácil de entender incluso para personas con antecedentes no analíticos. No
requiere ningún conocimiento estadístico para leerlos e interpretarlos. Su representación gráfica es muy intuitiva y los usuarios pueden
relacionar fácilmente sus hipótesis.

2. Útil en la exploración de datos: el árbol de decisión es una de las maneras más rápidas de identificar las variables más significativas y la
relación entre dos o más variables. Con la ayuda de los árboles de decisión, podemos crear nuevas variables / características que tienen
mayor poder para predecir la variable objetivo. Puede consultar el artículo ( Truco para mejorar el poder del modelo de regresión ) para
uno de estos trucos. También se puede utilizar en la etapa de exploración de datos. Por ejemplo, estamos trabajando en un problema en
el que tenemos información disponible en cientos de variables; el árbol de decisiones ayudará a identificar la variable más importante.
3. Se requiere menos limpieza de datos : requiere menos limpieza de datos en comparación con otras técnicas de modelado. No está
influenciado por valores atípicos y valores perdidos en un grado razonable.

4. El tipo de datos no es una restricción: puede manejar variables numéricas y categóricas.

5. Método no paramétrico: el árbol de decisión se considera un método no paramétrico. Esto significa que los árboles de decisión no
tienen suposiciones sobre la distribución del espacio y la estructura del clasificador.

Desventajas

1. Sobre ajuste: el ajuste excesivo es una de las dificultades más prácticas para los modelos de árbol de decisión. Este problema se resuelve
estableciendo restricciones en los parámetros del modelo y la poda (que se explica a continuación).

2. No apto para variables continuas : mientras se trabaja con variables numéricas continuas, el árbol de decisión pierde información
cuando categoriza variables en diferentes categorías.

2. Regresión de árboles vs árboles de clasificación

Todos sabemos que los nodos terminales (u hojas) se encuentran en la parte inferior del árbol de decisión. Esto significa que los árboles de
decisión normalmente se dibujan al revés, de modo que las hojas son la parte inferior y las raíces son las partes superiores (que se muestran a
continuación).

Ambos árboles funcionan casi de manera similar, veamos las principales diferencias y similitudes entre los árboles de clasificación y regresión:
1. Los árboles de regresión se utilizan cuando la variable dependiente es continua. Los árboles de clasificación se utilizan cuando la variable
dependiente es categórica.

2. En el caso de un árbol de regresión, el valor obtenido por los nodos terminales en los datos de entrenamiento es la respuesta media de la
observación que cae en esa región. Por lo tanto, si una observación de datos invisible cae en esa región, haremos su predicción con el
valor medio.

3. En el caso del árbol de clasificación, el valor (clase) obtenido por el nodo terminal en los datos de entrenamiento es el modo de
observación que cae en esa región. Por lo tanto, si una observación de datos invisible cae en esa región, haremos su predicción con el
valor del modo.

4. Ambos árboles dividen el espacio del predictor (variables independientes) en regiones distintas y no superpuestas. En aras de la
simplicidad, puede pensar en estas regiones como cajas de alta dimensión o cajas.

5. Ambos árboles siguen un enfoque codicioso de arriba hacia abajo conocido como división binaria recursiva. Lo llamamos 'arriba-abajo'
porque comienza desde la parte superior del árbol cuando todas las observaciones están disponibles en una sola región y,
sucesivamente, divide el espacio del predictor en dos nuevas ramas hacia abajo del árbol. Se conoce como 'codicioso' porque el
algoritmo se preocupa (busca la mejor variable disponible) solo sobre la división actual, y no sobre las futuras divisiones que conducirán a
un mejor árbol.

6. Este proceso de división continúa hasta que se alcanza un criterio de detención definido por el usuario. Por ejemplo: podemos decirle al
algoritmo que se detenga una vez que el número de observaciones por nodo sea inferior a 50.

7. En ambos casos, el proceso de división da como resultado árboles completamente desarrollados hasta que se alcanza el criterio de
detención. Sin embargo, es probable que el árbol completamente desarrollado se adapte excesivamente a los datos, lo que lleva a una
pobre precisión en los datos invisibles. Esto trae 'poda'. La poda es una de las técnicas utilizadas para abordar el
sobreajuste. Aprenderemos más sobre esto en la siguiente sección.

3. ¿Cómo decide un árbol dónde dividirse?


La decisión de hacer divisiones estratégicas afecta en gran medida la precisión de un árbol. Los criterios de decisión son diferentes para los
árboles de clasificación y regresión.

Los árboles de decisión utilizan múltiples algoritmos para decidir dividir un nodo en dos o más subnodos. La creación de subnodos aumenta la
homogeneidad de los subnodos resultantes. En otras palabras, podemos decir que la pureza del nodo aumenta con respecto a la variable
objetivo. El árbol de decisión divide los nodos en todas las variables disponibles y luego selecciona la división que resulta en los subnodos más
homogéneos.

La selección del algoritmo también se basa en el tipo de variables objetivo. Veamos los cuatro algoritmos más utilizados en el árbol de decisión:

Gini

Gini dice que si seleccionamos dos elementos de una población al azar, deben ser de la misma clase y la probabilidad de que esto sea 1 si la
población es pura.

1. Funciona con la variable objetivo categórica "Success" o "Failure".

2. Realiza solo divisiones binarias.

3. Cuanto mayor sea el valor de Gini mayor será la homogeneidad.

4. CART (árbol de clasificación y regresión) utiliza el método Gini para crear divisiones binarias.

Pasos para calcular Gini para una división

1. Calcule Gini para los subnodos, utilizando la fórmula suma de cuadrados de probabilidad para el éxito y el fracaso (p ^ 2 + q ^ 2).

2. Calcule Gini para dividir usando la puntuación de Gini ponderada de cada nodo de esa división

Ejemplo: - Refiriéndonos al ejemplo utilizado anteriormente, donde queremos segregar a los estudiantes según la variable objetivo (jugar cricket
o no). En la instantánea a continuación, dividimos la población utilizando dos variables de entrada, Género y Clase. Ahora, quiero identificar qué
división está produciendo subnodos más homogéneos utilizando Gini.
Dividir en género:

1. Calcule, Gini para subnodo Mujer = (0.2) * (0.2) + (0.8) * (0.8) = 0.68

2. Gini para subnodo Masculino = (0.65) * (0.65) + (0.35) * (0.35) = 0.55

3. Calcule el Gini ponderado para la división de género = (10/30) * 0.68 + (20/30) * 0.55 = 0.59

Similar para dividir en clase:

1. Gini para subnodo Clase IX = (0.43) * (0.43) + (0.57) * (0.57) = 0.51

2. Gini para subnodo Clase X = (0.56) * (0.56) + (0.44) * (0.44) = 0.51

3. Calcule el Gini ponderado para la Clase dividida = (14/30) * 0.51 + (16/30) * 0.51 = 0.51

Arriba, puede ver que la puntuación de Gini para Dividir en género es mayor que Dividir en clase, por lo tanto, la división de nodos tendrá lugar
en Género.

A menudo, puede encontrarse con el término 'Gini Impurity', que se determina restando el valor de gini de 1. Así que matemáticamente
podemos decir,

Gini Impurity = 1-Gini

Chi-cuadrado

Es un algoritmo para averiguar la importancia estadística entre las diferencias entre los subnodos y el nodo principal. Lo medimos por la suma de
los cuadrados de las diferencias estandarizadas entre las frecuencias observadas y esperadas de la variable objetivo.
1. Funciona con la variable objetivo categórica "Success" o "Failure".

2. Puede realizar dos o más splits.

3. Cuanto mayor sea el valor de Chi-cuadrado, mayor será la importancia estadística de las diferencias entre subnodo y nodo principal.

4. Chi-cuadrado de cada nodo se calcula utilizando la fórmula,

5. Chi cuadrado = ((real - esperado) ^ 2 / esperado) ^ 1/2

6. Genera un árbol llamado CHAID (Detector automático de interacción Chi-cuadrado)

Pasos para calcular Chi-cuadrado para una división:

1. Calcule Chi-cuadrado para cada nodo individual calculando la desviación para el éxito y el fracaso tanto

2. Calculado Chi-cuadrado de Split usando Suma de todo Chi-cuadrado de éxito y falla de cada nodo de la división

Ejemplo: Trabajemos con el ejemplo anterior que hemos usado para calcular Gini.

Dividir en género:

1. Primero, estamos rellenando para el nodo Hembra, llenamos el valor real para " Jugar Cricket" y "No jugar Cricket" , aquí están 2 y 8
respectivamente.

2. Calcule el valor esperado para " Play Cricket" y " Not Play Cricket" , aquí sería 5 para ambos porque el nodo principal tiene una
probabilidad del 50% y hemos aplicado la misma probabilidad en el conteo femenino (10).

3. Calcule las desviaciones utilizando la fórmula, real - esperado. Es para " Jugar Cricket" (2 - 5 = -3) y para " No jugar cricket" (8 - 5 = 3).

4. Calcule el Chi-cuadrado del nodo para " Play Cricket " y " Not Play Cricket " usando la fórmula con la fórmula, = ((Real - Esperado) ^ 2 /
Esperado) ^ 1/2 . Puede consultar la siguiente tabla para el cálculo.

5. Siga los pasos similares para calcular el valor de Chi cuadrado para el nodo Masculino.

6. Ahora agregue todos los valores de Chi-cuadrado para calcular Chi-cuadrado para género dividido.
Dividir en clase:

Realice pasos de cálculo similares para la división en Clase y aparecerá la tabla de abajo.

Arriba, puedes ver que Chi cuadrado también


identifica la división de Género que es más significativa en comparación con la Clase.

Ganancia de información:

Mire la imagen de abajo y piense qué nodo se puede describir fácilmente. Estoy seguro de que su respuesta es C porque requiere menos
información, ya que todos los valores son similares. Por otro lado, B requiere más información para describirlo y A requiere la información
máxima. En otras palabras, podemos decir que C es un nodo puro, B es menos impuro y A es más impuro.
Ahora, podemos construir una conclusión de que un nodo menos impuro requiere menos información para describirlo. Y, nodo más impuro
requiere más información. La teoría de la información es una medida para definir este grado de desorganización en un sistema conocido como
Entropía. Si la muestra es completamente homogénea, entonces la entropía es cero y si la muestra está dividida en partes iguales (50% - 50%),
tiene una entropía de uno.

La entropía se puede calcular utilizando la fórmula:

Aquí p y q es probabilidad de éxito y fracaso respectivamente en ese nodo. La entropía también se utiliza con la variable objetivo categórica. Elige
la división que tiene la entropía más baja en comparación con el nodo principal y otras divisiones. Cuanto menor sea la entropía, mejor es.

Pasos para calcular la entropía para una división:

1. Calcular la entropía del nodo padre

2. Calcule la entropía de cada nodo individual de división y calcule el promedio ponderado de todos los subnodos disponibles en división.

Ejemplo: Usemos este método para identificar la mejor división para el ejemplo de los estudiantes.

1. Entropía para el nodo primario = - (15/30) log2 (15/30) - (15/30) log2 (15/30) = 1 . Aquí 1 muestra que es un nodo impuro.

2. Entropía para nodo femenino = - (2/10) log2 (2/10) - (8/10) log2 (8/10) = 0.72 y para nodo masculino, - (13/20) log2 (13/20) - ( 7/20) log2
(7/20) = 0.93
3. Entropía para género dividido = Entropía ponderada de subnodos = (10/30) * 0.72 + (20/30) * 0.93 = 0.86

4. Entropía para el nodo de Clase IX, - (6/14) log2 (6/14) - (8/14) log2 (8/14) = 0.99 y para el nodo de Clase X, - (9/16) log2 (9/16) - (7/16)
log2 (7/16) = 0.99.

5. Entropía para la clase dividida = (14/30) * 0.99 + (16/30) * 0.99 = 0.99

Arriba, puedes ver que la entropía para Dividir en género es la más baja de todas, por lo que el árbol se dividirá en Género . Podemos obtener
información de la entropía como 1- Entropía.

Reducción de la variación

Hasta ahora, hemos discutido los algoritmos para la variable objetivo categórica. La reducción de la varianza es un algoritmo utilizado para las
variables objetivo continuas (problemas de regresión). Este algoritmo utiliza la fórmula estándar de variación para elegir la mejor división. La
división con menor varianza se selecciona como el criterio para dividir la población:

Sobre X-bar está la media de los valores, X es real y n es el número de valores.

Pasos para calcular la variación:

1. Calcular la varianza para cada nodo.

2. Calcule la varianza para cada división como promedio ponderado de cada varianza del nodo.

Ejemplo: - Asignemos el valor numérico 1 para jugar cricket y 0 para no jugar cricket. Ahora sigue los pasos para identificar la división correcta:

1. Varianza para el nodo raíz, aquí el valor medio es (15 * 1 + 15 * 0) / 30 = 0.5 y tenemos 15 uno y 15 cero. Ahora la varianza sería ((1-0.5) ^
2 + (1-0.5) ^ 2 + ... .15 veces + (0-0.5) ^ 2 + (0-0.5) ^ 2 + ... 15 veces) / 30, esto puede se escribirá como (15 * (1-0.5) ^ 2 + 15 * (0-0.5) ^ 2)
/ 30 = 0.25

2. Media del nodo femenino = (2 * 1 + 8 * 0) /10=0.2 y Varianza = (2 * (1-0.2) ^ 2 + 8 * (0-0.2) ^ 2) / 10 = 0.16

3. Media del nodo masculino = (13 * 1 + 7 * 0) /20=0.65 y Varianza = (13 * (1-0.65) ^ 2 + 7 * (0-0.65) ^ 2) / 20 = 0.23

4. Varianza para género dividido = Varianza ponderada de subnodos = (10/30) * 0.16 + (20/30) * 0.23 = 0.21

5. Media del nodo de Clase IX = (6 * 1 + 8 * 0) /14=0.43 y Varianza = (6 * (1-0.43) ^ 2 + 8 * (0-0.43) ^ 2) / 14 = 0.24


6. Media del nodo de Clase X = (9 * 1 + 7 * 0) /16=0.56 y Varianza = (9 * (1-0.56) ^ 2 + 7 * (0-0.56) ^ 2) / 16 = 0.25

7. Varianza para el género dividido = (14/30) * 0.24 + (16/30) * 0.25 = 0.25

Arriba, puede ver que la división de Género tiene una varianza más baja en comparación con el nodo principal, por lo que la división se llevaría a
cabo en la variable Género .

Hasta aquí, aprendimos sobre los conceptos básicos de los árboles de decisión y el proceso de toma de decisiones involucrado para elegir las
mejores divisiones en la construcción de un modelo de árbol. Como dije, el árbol de decisión se puede aplicar tanto en problemas de regresión
como de clasificación. Vamos a entender estos aspectos en detalle.

4. ¿Cuáles son los parámetros clave del modelado de árboles y cómo podemos evitar el ajuste excesivo en los árboles de decisión?

El exceso de equipamiento es uno de los desafíos clave que se enfrentan al modelar árboles de decisiones. Si no hay un conjunto de límites de un
árbol de decisiones, le dará un 100% de precisión en el conjunto de entrenamiento porque, en el peor de los casos, terminará haciendo 1 hoja
por cada observación. Por lo tanto, la prevención del sobreajuste es fundamental al modelar un árbol de decisiones y se puede hacer de dos
maneras:

1. Establecer restricciones en el tamaño del árbol

2. Poda de árboles

Vamos a discutir ambos de estos brevemente.

Establecer restricciones en el tamaño del árbol

Esto se puede hacer usando varios parámetros que se usan para definir un árbol. Primero, veamos la estructura general de un árbol de decisión:
Los parámetros utilizados para definir un árbol se explican con más detalle a continuación. Los parámetros descritos a continuación son
independientemente de la herramienta. Es importante comprender el papel de los parámetros utilizados en el modelado de árboles. Estos
parámetros están disponibles en R & Python.

1. Muestras mínimas para un nodo dividido

o Define el número mínimo de muestras (u observaciones) que se requieren en un nodo para ser considerado para la división.

o Se utiliza para controlar el ajuste excesivo. Los valores más altos impiden que un modelo aprenda relaciones que podrían ser muy
específicas para la muestra particular seleccionada para un árbol.

o Los valores demasiado altos pueden llevar a una adaptación insuficiente, por lo tanto, debe ajustarse utilizando CV.

2. Muestras mínimas para un nodo terminal (hoja)

o Define las muestras mínimas (u observaciones) requeridas en un nodo terminal u hoja.

o Se utiliza para controlar el ajuste excesivo similar a min_samples_split.

o En general, se deben elegir valores más bajos para los problemas de clase desequilibrados porque las regiones en las que la
mayoría de la clase minoritaria será muy pequeña.

3. Profundidad máxima del árbol (profundidad vertical)

o La profundidad máxima de un árbol.

o Utilizado para controlar el ajuste excesivo, ya que una mayor profundidad permitirá al modelo aprender relaciones muy
específicas para una muestra en particular.
o Debe ser sintonizado utilizando CV.

4. Número máximo de nodos terminales

o El número máximo de nodos terminales u hojas en un árbol.

o Se puede definir en lugar de max_depth. Dado que se crean árboles binarios, una profundidad de 'n' produciría un máximo de 2 ^
n hojas.

5. Características máximas a considerar para la división

o El número de características a considerar al buscar una mejor división. Estos serán seleccionados al azar.

o Como regla general, la raíz cuadrada del número total de funciones funciona muy bien, pero debemos verificar hasta el 30-40%
del número total de funciones.

o Los valores más altos pueden llevar a un ajuste excesivo, pero dependen de cada caso.

Poda de árboles
Como se discutió anteriormente, la técnica de establecer restricciones es un enfoque codicioso. En otras palabras, buscará la mejor división
instantáneamente y avanzará hasta que se alcance una de las condiciones de parada especificadas. Consideremos el siguiente caso cuando estás
conduciendo:

Hay 2 carriles:

1. Un carril con coches que se mueven a 80km / h.

2. Un carril con camiones que se mueven a 30km / h.

En este instante, eres el coche amarillo y tienes 2 opciones:

1. Gira a la izquierda y supera a los otros 2 coches rápidamente.

2. Sigue moviéndote en el carril actual.

Analicemos estas elecciones. En la primera opción, inmediatamente adelantará el automóvil por delante, alcanzará detrás del camión y
comenzará a moverse a 30 km / h, en busca de la oportunidad de retroceder a la derecha. Mientras tanto, todos los autos originalmente detrás
de ti avanzan. Esta sería la opción óptima si su objetivo es maximizar la distancia recorrida en los próximos 10 segundos. En la opción posterior,
realiza la venta a la misma velocidad, cruza camiones y luego supera dependiendo de la situación. ¡Te codician!

Esta es exactamente la diferencia entre el árbol de decisión normal y la poda. Un árbol de decisiones con restricciones no verá al camión por
delante y adoptará un enfoque codicioso al tomar una izquierda. Por otro lado, si usamos la poda, en realidad miramos unos pasos adelante y
hacemos una elección.
Así que sabemos que la poda es mejor. ¿Pero cómo implementarlo en el árbol de decisión? La idea es simple.

1. Primero hacemos el árbol de decisión a una gran profundidad.

2. Luego comenzamos por la parte inferior y comenzamos a eliminar las hojas que nos dan rendimientos negativos en comparación con la
parte superior.

3. Supongamos que una división nos da una ganancia de, digamos, -10 (pérdida de 10) y luego la siguiente división que nos da una ganancia
de 20. Un simple árbol de decisión se detendrá en el paso 1, pero en la poda, veremos que La ganancia es +10 y se conservan ambas
hojas..

Tenga en cuenta que el clasificador del árbol de decisión de sklearn no admite actualmente la poda. Paquetes avanzados como xgboost han
adoptado la poda de árboles en su implementación. Pero la biblioteca rpart en R, proporciona una función para podar. Bueno para los usuarios
de R!

5. ¿Son los modelos basados en árboles mejores que los modelos lineales?

“Si puedo usar la regresión logística para los problemas de clasificación y la regresión lineal para los problemas de regresión, ¿por qué es
necesario utilizar árboles”? Muchos de nosotros tenemos esta pregunta. Y, este es válido también.

En realidad, puedes usar cualquier algoritmo. Depende del tipo de problema que esté resolviendo. Veamos algunos factores clave que te
ayudarán a decidir qué algoritmo usar:

1. Si la relación entre la variable dependiente e independiente está bien aproximada por un modelo lineal, la regresión lineal superará al
modelo basado en árbol.

2. Si hay una alta relación no lineal y compleja entre las variables dependientes e independientes, un modelo de árbol superará a un
método de regresión clásico.

3. Si necesita crear un modelo que sea fácil de explicar a las personas, un modelo de árbol de decisiones siempre será mejor que un modelo
lineal. ¡Los modelos de árbol de decisión son incluso más simples de interpretar que la regresión lineal!

S-ar putea să vă placă și