Está en la página 1de 18

Árboles de decisión en R

Los árboles de decisión son una forma de aprendizaje supervisado que se utiliza
en una variedad de formas para resolver problemas de regresión y clasificación.
Imaginemos que estás jugando un juego de Veinte Preguntas. Tu oponente ha
elegido secretamente un tema, y ​debes descubrir qué eligió. En cada turno,
puedes hacer una pregunta de sí o no, y tu oponente debe responder con
sinceridad. ¿Cómo descubrir el secreto con la menor cantidad de preguntas?
Debería ser obvio que algunas preguntas son mejores que otras. Por ejemplo,
preguntando "¿Puede volar?" ya que es probable que la primera pregunta sea
infructuosa, mientras que si pregunta "¿Está vivo?" es un poco más útil.
Intuitivamente, se desea que cada pregunta reduzca significativamente el espacio
de posibles secretos, lo que eventualmente conduce a su respuesta.
Esa es la idea básica detrás de los árboles de decisión. En cada punto, se considera un conjunto
de preguntas que pueden dividir su conjunto de datos. Elegimos la pregunta que proporciona la
mejor división y nuevamente buscamos las mejores preguntas para las siguientes particiones.
Paramos una vez que todos los puntos que se consideran son de la misma clase. Entonces la tarea
de clasificación es fácil. Simplemente puedes empezamos por un punto y empezamos el árbol.
Las preguntas nos guiarán a la clase apropiada.
.
Generalidades
El árbol de decisión es un tipo de algoritmo de
aprendizaje supervisado que se puede usar tanto
en problemas de regresión como de clasificación.
Funciona para variables de entrada y salida
categóricas y continuas.
Identifiquemos las terminologías más importantes en Árboles de decisión, en la imagen de
arriba:
• El nodo raíz representa a toda la población o muestra. Además, se divide en dos o más
conjuntos homogéneos.
• La partición es un proceso de dividir un nodo en dos o más subnodos.
• Cuando un subnodo se divide en subnodos adicionales, se llama nodo de decisión.
• Los nodos que no se dividen se denominan nodos terminales u hojas.
• Cuando se eliminan subnodos, de un nodo de decisión, el proceso se denomina poda. Lo
contrario de la poda es la división.
• Una subsección de un árbol completo se llama Rama.
• Un nodo, que se divide en subnodos, se denomina nodo principal de los subnodos; mientras
que los subnodos se denominan hijos del nodo primario.
Tipos de árboles de decisión
Árboles de regresión
Echemos un vistazo a la imagen de abajo, que ayuda a visualizar la naturaleza de la partición
realizada por un árbol de regresión. Esto muestra un árbol sin podar y un árbol de regresión
ajustado a un conjunto de datos aleatorio. Ambas visualizaciones muestran una serie de reglas
de división, comenzando en la parte superior del árbol. Observe que cada división del dominio
está alineada con uno de los ejes de características.

El concepto de división paralela de ejes se


generaliza directamente a dimensiones mayores
de dos. Para un espacio de características de
tamaño p, un subconjunto de Rp, el espacio se
divide en M regiones, Rm, cada una de las cuales
es una p "hiperbloque" tridimensional.
Para construir un árbol de regresión, primero usamos la división binaria recursiva
para hacer crecer un árbol grande de los datos de entrenamiento, deteniéndose
solo cuando cada nodo terminal tiene menos de un número mínimo de
observaciones. La división binaria recursiva es un algoritmo exigente, de arriba
abajo, que se usa para minimizar la suma residual de cuadrados (RSS), una medida
de error que también se usa en configuraciones de regresión lineal. El RSS, en
el caso de un espacio de entidades particionadas con particiones M está dado por:

Comenzando en la parte superior del árbol, lo divide en 2 ramas, creando una


partición de 2 espacios. Luego lleva a cabo esta división particular en la parte
superior del árbol varias veces y elige la división de las características que minimiza
el RSS (actual).
A continuación, se aplica la poda, por la complejidad de los costes de un árbol
grande, y obtener una secuencia de mejores subárboles, en función de α.
La idea básica aquí es introducir un parámetro de ajuste adicional, denotado
por α que equilibra la profundidad del árbol y su bondad de ajuste a los datos
de entrenamiento.
Podemos usar la validación cruzada K-fold para elegir α. Esta técnica
simplemente implica dividir las observaciones de entrenamiento en K-folds
para estimar la tasa de error de prueba de los subárboles. Su objetivo es
seleccionar el que obtiene la tasa de error más baja.
Árboles de clasificación
Un árbol de clasificación es muy similar a un árbol de regresión, excepto que
se usa para predecir una respuesta cualitativa en lugar de cuantitativa.
Recordemos que, para un árbol de regresión, la respuesta pronosticada para una observación
viene dada por la respuesta media de las observaciones de entrenamiento que pertenecen al
mismo nodo terminal. Por el contrario, para un árbol de clasificación, predice que cada
observación en función de la clase de observaciones de entrenamiento más común en la región
a la que pertenece.
Al interpretar los resultados de un árbol de
clasificación, a menudo le interesa no solo la
predicción de clase correspondiente a una
región de nodo terminal particular, sino
también las proporciones de clase entre las
observaciones de entrenamiento que se
incluyen en esa región.
La tarea de hacer crecer un árbol de clasificación es bastante similar a la tarea de hacer
crecer un árbol de regresión. Al igual que en la configuración de regresión, utiliza la
división binaria recursiva para hacer crecer un árbol de clasificación. Sin embargo, en la
configuración de clasificación, la suma residual de cuadrados no se puede utilizar como
criterio para hacer las divisiones binarias. En su lugar, puede usar cualquiera de estos 3
métodos a continuación:
• Tasa de error de clasificación: en lugar de ver lo lejos que estamos del valor medio,
como en la configuración de regresión, podemos definir la "tasa de aciertos" como la
fracción de las observaciones de entrenamiento, en una región en particular, que no
pertenecen a la clase más extendida. El error viene dado por esta ecuación:
E = 1 - argmaxc (𝜋ො mc)
en el que 𝜋ො mc representa la fracción de datos de entrenamiento en la región Rm que
pertenecen a la clase c.
• Índice de Gini: el índice de Gini es una métrica de error alternativa que está diseñada para
mostrar como es de "pura" una región. "Pureza" en este caso significa qué cantidad de datos
de entrenamiento en una región particular pertenece a una sola clase. Si una región Rm
contiene datos que provienen principalmente de una sola clase c, entonces el valor del índice
de Gini será pequeño:

• Entropía cruzada: una tercera alternativa, que es similar al índice de Gini, se conoce como
entropía cruzada o desviación:

La entropía cruzada tomará un valor cercano a cero si el 𝜋ො mc si todos están cerca de 0 o cerca de
1. Por lo tanto, al igual que el índice de Gini, la entropía cruzada tendrá un valor pequeño si el
nodo mth es puro. De hecho, resulta que el índice de Gini y la entropía cruzada son
numéricamente bastante similares.
Cuando se construye un árbol de clasificación, el índice de Gini o la entropía cruzada
generalmente se usan para evaluar la calidad de una división particular, ya que son más sensibles
a la pureza de nodo que la tasa de error de clasificación. Cualquiera de estos 3 enfoques podría
usarse al podar el árbol, pero la tasa de error de clasificación es preferible si el objetivo es la
precisión de la predicción del árbol podado final.

Ventajas y desventajas de los árboles de decisión


La principal ventaja de usar árboles de decisión es que son intuitivamente muy fáciles de explicar.
Reflejan muy bien la toma de decisiones humanas en comparación con otros enfoques de
regresión y clasificación. Se pueden mostrar gráficamente y pueden manejar fácilmente
predictores cualitativos sin la necesidad de crear variables ficticias.
Sin embargo, los árboles de decisión generalmente no tienen el mismo nivel de precisión
predictiva que otros enfoques, ya que no son bastante robustos. Un pequeño cambio en los
datos puede causar un gran cambio en el árbol estimado final.
Al agregar muchos árboles de decisión, utilizando métodos como el bagging, los bosques
aleatorios y boosting, el rendimiento predictivo de los árboles de decisión se puede mejorar
sustancialmente.
Métodos de clasificación basados ​en árboles
Bagging
Los árboles de decisión, discutidos anteriormente, sufren una gran variación, lo que significa que
si dividimos los datos de entrenamiento en 2 partes al azar, y ajustamos un árbol de decisión a
ambas mitades, los resultados que obtenemos podrían ser bastante diferentes. Por el contrario,
un procedimiento con baja varianza producirá resultados similares si se aplica repetidamente a
un conjunto de datos distinto.
Bagging, o agregación desde el inicio, es una técnica utilizada para
reducir la variación de sus predicciones combinando el resultado de
múltiples clasificadores modelados en diferentes submuestras del mismo conjunto de datos.
Aquí está la ecuación para el bagging:
en el que generas B, diferentes conjuntos de datos de entrenamiento
bootstrapped. Luego se entrena nuestro método en el conjunto de
entrenamiento de arranque bth para obtener 𝑓መb(x), y finalmente promediar las
predicciones. La siguiente figura muestra los 3 pasos diferentes en el bagging:
• Paso 1: Aquí reemplazamos los datos originales con datos nuevos. Los nuevos datos generalmente
tienen una fracción de las columnas y filas de los datos originales, que luego pueden usarse como
hiperparámetros en el modelo de bagging.
• Paso 2: Se construye clasificadores en cada conjunto de datos. En general, se puede usar el mismo
clasificador para hacer modelos y predicciones.
• Paso 3: Por último, se utiliza un valor promedio para combinar las predicciones de todos los
clasificadores, según el problema. En general, estos valores combinados son más sólidos que un solo
modelo.
Si bien el bagging puede mejorar las predicciones de muchos métodos de regresión y
clasificación, es particularmente útil para los árboles de decisión. Para aplicar el bagging a los
árboles de regresión / clasificación, simplemente hay que construir B árboles de regresión /
clasificación utilizando conjuntos de entrenamiento B bootstrapped y promedian las predicciones
resultantes. Estos árboles se cultivan profundamente y no se podan. Por lo tanto, cada árbol
individual tiene una alta varianza, pero un bajo sesgo. Promediando estos árboles B se reduce la
varianza.
En términos generales, se ha demostrado que el bagging brinda mejoras impresionantes en la precisión
al combinar cientos o incluso miles de árboles en un solo procedimiento.
Bosques aleatorios
Random Forests es un método versátil de aprendizaje automático capaz de realizar tareas de regresión y
clasificación. También realiza métodos de reducción dimensional, trata los valores perdidos, los valores
atípicos y otros pasos esenciales de la exploración de datos, y hace un trabajo bastante bueno.
Random Forests proporciona una mejora sobre los árboles en bolsas mediante un pequeño ajuste que
“decorrelaciona” los árboles. Al igual que en el boosting, construye una serie de árboles de decisión en
muestras de entrenamiento bootstrapped. Pero al construir estos árboles de decisión, cada vez que se
considera una división en un árbol, se elige
una muestra aleatoria de m predictores
como candidatos divididos del conjunto
completo de p predictores. La división solo
puede usar uno de esos m predictores.
Esta es la principal diferencia entre bosques
aleatorios y bagging; porque como en el
bagging, el predictor de la elección es m = p.
Para hacer crecer un bosque aleatorio, debemos:
• Primero suponer que el número de casos en el conjunto de entrenamiento es K. Luego,
tomamos una muestra aleatoria de estos K casos, y luego usamos esta muestra como conjunto
de entrenamiento para hacer crecer el árbol.
• Si hay p variables de entrada, especifique un número m <p tal que, en cada nodo, pueda
seleccionar m variables aleatorias de las p. La mejor división de los m se usa para dividir el nodo.
• Cada árbol se hace crecer posteriormente en la mayor medida posible y no se necesita podar.
• Finalmente, agregamos las predicciones de los árboles de destino para predecir nuevos datos.
Los bosques aleatorios son muy efectivos para estimar los datos faltantes y mantener la precisión
cuando faltan una gran parte de los datos. También puede equilibrar errores en conjuntos de
datos donde las clases están desequilibradas. Lo más importante, se puede manejar conjuntos de
datos masivos con gran dimensionalidad. Sin embargo, una desventaja del uso de bosques
aleatorios es que podría sobre ajustarse fácilmente en conjuntos de datos ruidosos,
especialmente en el caso de hacer una regresión.
Boosting
Boosting es otro enfoque para mejorar las predicciones resultantes de un árbol de
decisión. Al igual que el bagging y los bosques aleatorios, es un enfoque general que se
puede aplicar a muchos métodos de aprendizaje estadístico para regresión o
clasificación. Recordemos que bagging implica la creación de múltiples copias del
conjunto de datos de entrenamiento original utilizando el bootstrap, ajustando un árbol
de decisión separado para cada copia y luego combinando todos los árboles para crear un
solo modelo predictivo. En particular, cada árbol está construido sobre un conjunto de
datos de arranque, independiente de los otros árboles.
Boosting funciona de manera similar, excepto que los árboles se hacen crecer
secuencialmente: cada árbol se crece utilizando información de árboles previos. Boosting
no implica un muestreo de arranque; en cambio, cada árbol se ajusta a una versión
modificada del conjunto de datos original.
Tanto para los árboles de regresión como de clasificación, boosting funciona así:
• A diferencia de ajustar un solo árbol de decisión grande a los datos, lo que equivale a ajustar
los datos a la fuerza y ​potencialmente sobre ajustarlos, el enfoque de boosting es aprender
lentamente.
• Dado el modelo actual, ajustamos un árbol de decisión a los residuos del modelo. Es decir,
ajustamos un árbol utilizando los residuos actuales, en lugar del resultado Y, como respuesta.
• Luego agregamos este nuevo árbol de decisión a la función ajustada para
actualizar los residuos. Cada uno de estos árboles puede ser bastante pequeño,
con solo unos pocos nodos terminales, determinados por el parámetro d en el
algoritmo. Al ajustar árboles pequeños a los residuos, mejoramos lentamente 𝑓መ
en áreas donde no funciona bien.
• El parámetro de contracción ν ralentiza el proceso aún más, permitiendo que
más árboles, y en formas diferentes para acometer los residuos.
Boosting es muy útil cuando tienes muchos datos y esperas que los árboles de
decisión sean muy complejos. Boosting se ha utilizado para resolver muchos
problemas desafiantes de clasificación y regresión, incluyendo el análisis de
riesgos, el análisis de sentimientos, la publicidad predictiva, el modelado de
precios, la estimación de ventas y el diagnóstico del paciente, entre otros.

También podría gustarte