Día 7 del “Calendario de Adviento” de aprendizaje automático: Clasificador de árbol de decisiones

exploramos cómo un regresor de árbol de decisión elige su división óptima minimizando el error cuadrático medio (MSE).

Hoy, para el día 7 del “Calendario de Adviento” de aprendizaje automático, continuamos con el mismo enfoque pero con un clasificador de árbol de decisión, la contraparte de clasificación del modelo de ayer.

Experimento de intuición rápida con dos conjuntos de datos simples

Comencemos con un conjunto de datos de juguete muy pequeño que generé, con una característica numérica y una variable objetivo con dos clases: 0 y 1.

La idea es dividir el conjunto de datos en dos partes, según una regla. Pero la pregunta es: ¿cuál debería ser esta regla? ¿Cuál es el criterio que nos dice qué división es mejor?

Ahora, incluso si aún no sabemos las matemáticas, ya podemos mirar los datos y adivinar posibles puntos de división.

Y visualmente serían 8 o 12, ¿no?

Pero la pregunta es cuál es más adecuado numéricamente.

Clasificador de árbol de decisión en Excel – imagen del autor

Si pensamos intuitivamente:

Con división en 8: lado izquierdo: sin clasificación errónea lado derecho: una clasificación errónea Con división en 12: lado derecho: sin clasificación errónea lado izquierdo: dos clasificaciones erróneas

Claramente, la división en 8 se siente mejor.

Ahora, veamos un ejemplo con tres clases. Agregué algunos datos más aleatorios e hice 3 clases.

Aquí los etiqueto 0, 1, 3 y los trazo verticalmente.

Pero debemos tener cuidado: estos números son sólo nombres de categorías, no valores numéricos. No deben interpretarse como “ordenados”.

Entonces la intuición es siempre: ¿Cuán homogénea es cada región después de la división?

Pero es más difícil determinar visualmente cuál es la mejor división.

Ahora, necesitamos una forma matemática de expresar esta idea.

Este es exactamente el tema del próximo capítulo.

Medida de impureza como criterio de división.

En el regresor del árbol de decisión, ya sabemos:

La predicción para una región es el promedio del objetivo. La calidad de una división se mide por MSE.

En el clasificador del árbol de decisión:

La predicción para una región es la clase mayoritaria de la región. La calidad de una división se mide mediante una medida de impureza: impureza de Gini o entropía.

Ambos son estándar en los libros de texto y ambos están disponibles en scikit-learn. Gini se utiliza de forma predeterminada.

PERO, ¿cuál es realmente esta medida de impureza?

Si nos fijamos en las curvas de Gini y de Entropía, ambas se comportan de la misma manera:

Son 0 cuando el nodo es puro (todas las muestras tienen la misma clase). Alcanzan su máximo cuando las clases están mezcladas uniformemente (50 por ciento / 50 por ciento). La curva es suave, simétrica y aumenta con el desorden.

Ésta es la propiedad esencial de cualquier medida de impureza:

La impureza es baja cuando los grupos están limpios y alta cuando los grupos están mezclados.

Clasificador de árbol de decisión en Excel – gini y entropía – imagen del autor

Así que usaremos estas medidas para decidir qué división crear.

Dividir con una característica continua

Al igual que con el regresor del árbol de decisión, seguiremos la misma estructura.

Lista de todas las divisiones posibles

Exactamente como la versión del regresor, con una característica numérica, las únicas divisiones que necesitamos probar son los puntos medios entre valores x ordenados consecutivos.

Para cada división, calcule la impureza en cada lado.

Tomemos un valor dividido, por ejemplo, x = 5,5.

Separamos el conjunto de datos en dos regiones:

Región L: x < 5,5 Región R: x ≥ 5,5

Para cada región:

Contamos el número total de observaciones Calculamos la impureza de Gini Por último, calculamos la impureza ponderada de la división

Clasificador de árbol de decisión en Excel – imagen del autor

Seleccione la división con la impureza más baja.

Como en el caso del regresor:

Enumere todas las divisiones posibles. Calcule la impureza para cada una. La división óptima es aquella que tiene la mínima impureza.

Clasificador de árbol de decisión en Excel – imagen del autor

Tabla sintética de todas las divisiones

Para que todo sea automático en Excel,
Organizamos todos los cálculos en una tabla, donde:

cada fila corresponde a una división candidata; para cada fila, calculamos: Gini de la región izquierda, Gini de la región derecha y el Gini ponderado general de la división.

Esta tabla ofrece una descripción clara y compacta de cada división posible,
y la mejor división es simplemente la que tiene el valor más bajo en la columna final.

Clasificador de árbol de decisión en Excel – imagen del autor

Clasificación multiclase

Hasta ahora trabajamos con dos clases. Pero la impureza de Gini se extiende naturalmente a tres clases, y la lógica de la división sigue siendo exactamente la misma.

Nada cambia en la estructura del algoritmo:

enumeramos todas las divisiones posibles, calculamos la impureza en cada lado, tomamos el promedio ponderado, seleccionamos la división con la impureza más baja.

Sólo la fórmula de la impureza Gini se alarga un poco.

Impureza de Gini con tres clases.

Si una región contiene proporciones p1, p2, p3

para las tres clases, entonces la impureza de Gini es:

La misma idea que antes:
una región es “pura” cuando una clase domina,
y la impureza aumenta cuando se mezclan clases.

Regiones izquierda y derecha

Para cada división:

La Región L contiene algunas observaciones de las clases 1, 2 y 3. La Región R contiene las observaciones restantes.

Para cada región:

cuente cuántos puntos pertenecen a cada clase calcule las proporciones p1,p2,p3 calcule la impureza de Gini usando la fórmula anterior

Todo es exactamente igual que en el caso binario, sólo que con un término más.

Tabla resumen para splits de 3 clases

Al igual que antes, recopilamos todos los cálculos en una tabla:

cada fila es una posible división contamos la clase 1, clase 2, clase 3 a la izquierda contamos la clase 1, clase 2, clase 3 a la derecha calculamos Gini (izquierda), Gini (derecha) y el Gini ponderado

La división con la impureza ponderada más pequeña es la seleccionada por el árbol de decisión.

Clasificador de árbol de decisión en Excel – imagen del autor

Podemos generalizar fácilmente el algoritmo a K clases, usando las siguientes fórmulas para calcular Gini o Entropía

Clasificador de árbol de decisión en Excel – imagen del autor

¿Qué tan diferentes son realmente las medidas de impureza?

Ahora bien, siempre mencionamos como criterio el Gini o la Entropía, pero ¿realmente difieren? Al observar las fórmulas matemáticas, algunos pueden decir

La respuesta no es tanto.

En teoría, en casi todas las situaciones prácticas:

Gini y Entropy eligen la misma división La estructura del árbol es casi idéntica Las predicciones son las mismas

¿Por qué?

Porque sus curvas se ven extremadamente similares.

Ambos alcanzan su punto máximo con una mezcla del 50 por ciento y caen a cero con una pureza.

La única diferencia es la forma de la curva:

Gini es una función cuadrática y penaliza la clasificación errónea de manera más lineal. La entropía es una función logarítmica, por lo que penaliza la incertidumbre un poco más cerca de 0,5.

Pero la diferencia es pequeña en la práctica, ¡y puedes hacerlo en Excel!

¿Otras medidas de impureza?

Otra pregunta natural: ¿es posible inventar/utilizar otras medidas?

Sí, puedes inventar tu propia función, siempre que:

Es 0 cuando el nodo es puro Es máximo cuando las clases son mixtas Es suave y estrictamente creciente en “desorden”

Por ejemplo: Impureza = 4*p0*p1

Esta es otra medida de impureza válida. Y en realidad es igual a Gini multiplicado por una constante cuando sólo hay dos clases.

De nuevo, da las mismas divisiones. Si no estás convencido, puedes

Aquí hay algunas otras medidas que también se pueden utilizar.

Clasificador de árbol de decisión en Excel – muchas medidas de impureza – imagen del autor

Ejercicios en Excel

Pruebas con otros parámetros y características.

Una vez que cree la primera división, puede extender su archivo:

Pruebe Entropy en lugar de Gini Intente agregar características categóricas Intente construir la siguiente división Intente cambiar la profundidad máxima y observe el ajuste insuficiente y excesivo Intente crear una matriz de confusión para las predicciones

Estas sencillas pruebas ya le dan una buena intuición de cómo se comportan los árboles de decisión reales.

Implementaciones de las reglas para Titanic Survival Dataset

Un ejercicio de seguimiento natural es recrear las reglas de decisión para el famoso conjunto de datos de supervivencia del Titanic (CC0/dominio público).

En primer lugar, podemos empezar con sólo dos características: sexo y edad.

Implementar las reglas en Excel es largo y un poco tedioso, pero ese es exactamente el punto: te hace darte cuenta de cómo son realmente las reglas de decisión.

No son más que una secuencia de declaraciones IF/ELSE, repetidas una y otra vez.

Ésta es la verdadera naturaleza de un árbol de decisiones: reglas simples, apiladas unas sobre otras.

Clasificador de árbol de decisión en Excel para el conjunto de datos de supervivencia del Titanic (CC0/dominio público) – imagen del autor

Conclusión

La implementación de un clasificador de árbol de decisión en Excel es sorprendentemente accesible.

Con algunas fórmulas, descubres el corazón del algoritmo:

enumerar posibles divisiones calcular la impureza elegir la división más limpia

Clasificador de árbol de decisión en Excel – imagen del autor

Este mecanismo simple es la base de modelos de conjunto más avanzados como los árboles potenciados con gradiente, que analizaremos más adelante en esta serie.

¡Y estad atentos al día 8 mañana!