Árboles de decisiones

Los modelos de bosques de decisión se componen de árboles de decisión. Los algoritmos de aprendizaje de bosques de decisión (como los bosques aleatorios) dependen, al menos en parte, del aprendizaje de árboles de decisión.

En esta sección del curso, estudiarás un pequeño conjunto de datos de ejemplo y aprenderás cómo se entrena un solo árbol de decisión. En las próximas secciones, aprenderás cómo se combinan los árboles de decisión para entrenar bosques de decisión.

Código YDF

En YDF, usa el algoritmo de aprendizaje CART para entrenar modelos de árbol de decisión individuales:

# https://ydf.readthedocs.io/en/latest/py_api/CartLearner
import ydf
model = ydf.CartLearner(label="my_label").train(dataset)

El modelo

Un árbol de decisiones es un modelo compuesto por una colección de "preguntas" organizadas jerárquicamente en forma de árbol. Por lo general,las preguntas se denominan condición, división o prueba. En esta clase, usaremos el término "condición". Cada nodo hoja, a su vez, contiene una condición, al igual que una predicción.

Los árboles botánicos suelen crecer con la raíz en la parte inferior. Sin embargo, los árboles de decisión suelen representarse con la raíz (el primer nodo) en la parte superior.

Un árbol de decisiones que contiene dos condiciones y tres hojas. La primera condición (la raíz) es num_legs >= 3; la segunda condición es num_eyes >= 3. Las tres hojas son pingüino,
araña y perro.

Figura 1: Es un árbol de decisión de clasificación sencillo. La leyenda en verde no forma parte del árbol de decisión.

 

La inferencia de un modelo de árbol de decisión se calcula mediante el enrutamiento de un ejemplo desde la raíz (en la parte superior) a uno de los nodos hoja (en la parte inferior) según las condiciones. El valor de la hoja alcanzada es la predicción del árbol de decisión. El conjunto de nodos visitados se denomina ruta de inferencia. Por ejemplo, considera los siguientes valores de atributos:

num_legs num_eyes
4 2

La predicción sería dog. La ruta de inferencia sería la siguiente:

  1. num_legs ≥ 3 → Sí
  2. num_eyes ≥ 3 → No

La misma ilustración que la Figura 1, pero esta muestra la ruta de inferencia en dos condiciones, que terminan en la hoja para el perro.

Figura 2: La ruta de inferencia que culmina en el *perro* de hoja en el ejemplo *{num_legs : 4, num_eyes : 2}*.

 

En el ejemplo anterior, las hojas del árbol de decisión contienen predicciones de clasificación, es decir, cada hoja contiene una especie animal entre un conjunto de especies posibles.

De manera similar, los árboles de decisión pueden predecir valores numéricos mediante el etiquetado de hojas con predicciones regresivas (valores numéricos). Por ejemplo, el siguiente árbol de decisión predice una puntuación de belleza numérica de un animal entre 0 y 10.

Es un árbol de decisión en el que cada hoja contiene un número de punto flotante diferente.

Figura 3: Árbol de decisión que realiza predicciones numéricas.