Tipos de condiciones

Esta unidad se centra en diferentes tipos de conditions que se usan para crear árboles de decisión.

Condiciones oblicuas y alineadas con los ejes

Una condición alineada con el eje involucra un solo atributo. Una condición oblicua involucra varios atributos. Por ejemplo, la siguiente es una condición alineada con el eje:

num_legs ≥ 2

A continuación, se muestra una condición oblicua:

num_legs ≥ num_fingers

A menudo, los árboles de decisión se entrenan solo con condiciones alineadas con ejes. Sin embargo, las divisiones oblicuas son más potentes porque pueden expresar patrones más complejos. En algún momento, las divisiones oblicuas producen mejores resultados a expensas de mayores costos de inferencia y entrenamiento.

Código YDF
En YDF, los árboles de decisión se entrenan con la condición alineada con ejes de forma predeterminada. Puedes habilitar los árboles oblicuos de decisión con el parámetro split_axis="SPARSE_OBLIQUE".

La condición alineada en el eje es "num_legs >= 3". La condición oblicua es "num_legs + weight * 5 >= 12".

Figura 4: Ejemplos de una condición alineada con el eje y una condición oblicua.

 

Si se grafican las dos condiciones anteriores, se obtiene la siguiente separación del espacio de atributos:

Gráfico del peso frente a num_legs La condición alineada con el eje no ignora el peso y, por lo tanto, es solo una línea vertical. La condición oblicua muestra una línea con inclinación negativa.

Figura 5: Separación del espacio de atributos para las condiciones que se muestran en la Figura 4.

 

Condiciones binarias y no binarias

Las condiciones con dos resultados posibles (por ejemplo, verdadero o falso) se denominan condiciones binarias. Los árboles de decisión que contienen solo condiciones binarias se denominan árboles de decisión binarios.

Las condiciones no binarias tienen más de dos resultados posibles. Por lo tanto, las condiciones no binarias tienen más poder discriminativo que las condiciones binarias. Las decisiones que contienen una o más condiciones no binarias se denominan árboles de decisión no binarios.

Es una comparación entre los árboles de decisión binarios y los no binarios. El árbol de decisión binario contiene dos condiciones binarias; el árbol de decisión no binario contiene una condición no binaria.

Figura 6: Árboles de decisión binarios frente a no binarios.

 

También es más probable que las condiciones con demasiada energía se sobreajuste. Por esta razón, en general, los bosques de decisión usan árboles de decisión binarios, por lo que este curso se enfocará en ellos.

El tipo de condición más común es la condición de umbral que se expresa de la siguiente manera:

featurethreshold

Por ejemplo:

num_legs ≥ 2

Existen otros tipos de condiciones. A continuación, se muestran otros tipos de condiciones binarias de uso general:

 

Tabla 2: Tipos comunes de condiciones binarias.

Nombre Afección Ejemplo
condición de umbral $\mathrm{feature}_i \geq \mathrm{umbra}$ $\mathrm{num\_legs} \geq 2$
condición de igualdad $\mathrm{feature}_i = \mathrm{value}$ $\mathrm{species} = ``gato"$
condición de configuración $\mathrm{feature}_i \in \mathrm{collection}$ $\mathrm{species} \in \{``gato", ``perro", ``pájaro"\}$
condición oblicua $\sum_{i} \mathrm{peso}_i \mathrm{función}_i \geq \mathrm{threshold}$ $5 \ \mathrm{num\_legs} + 2 \ \mathrm{num\_eyes} \geq 10$
falta una función $\mathrm{feature}_i \mathrm{is} \mathrm{Faltante}$ $\mathrm{num\_legs} \mathrm{is} \mathrm{Faltante}$