Árboles de decisiones

Los modelos de bosques de decisión se componen de árboles de decisión. Bosque de decisiones de aprendizaje automático (como bosques aleatorios) se basan, al menos en parte, en la el aprendizaje automático de los árboles de decisiones.

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 decisiones. En las próximas secciones, aprenderás se combinan para entrenar bosques de decisión.

Código de 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 decisión es un modelo compuesto por una colección de preguntas. organizado jerárquicamente en la forma de árbol. Por lo general, las preguntas se denominan condition, una split o una test. Usaremos el término "estado" en esta clase. Cada nodo de hoja contiene una condición, y cada nodo de hoja contiene una predicción.

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

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

Figura 1: Un árbol de decisión de clasificación simple. La leyenda en verde no es parte del árbol de decisiones.

 

La inferencia de un modelo de árbol de decisión se calcula enrutando un ejemplo del raíz (en la parte superior) a uno de los nodos hoja (en la parte inferior) según el 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 de la Figura 1, aunque esta muestra
  ruta de inferencia a través de dos condiciones, que termina en “hoja” para “perro”.

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

 

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

De forma similar, los árboles de decisión pueden predecir valores numéricos etiquetando las hojas con predicciones retroactivas (valores numéricos). Por ejemplo, la siguiente decisión que predice una puntuación numérica de ternura de un animal entre 0 y 10.

Árbol de decisión en el que cada hoja contiene un punto flotante diferente
  de la fila.

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