Деревья решений

Модели леса решений состоят из деревьев решений. Алгоритмы обучения леса решений (например, случайные леса) полагаются, по крайней мере частично, на обучение деревьев решений.

В этом разделе курса вы изучите небольшой пример набора данных и узнаете, как обучается одно дерево решений. В следующих разделах вы узнаете, как комбинируются деревья решений для обучения лесов решений.

Код YDF

В YDF используйте обучающее устройство CART для обучения отдельных моделей дерева решений:

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

Модель

Дерево решений — это модель, состоящая из набора «вопросов», иерархически организованных в форме дерева. Вопросы обычно называются условием, разделением или проверкой. В этом классе мы будем использовать термин «состояние». Каждый нелистовой узел содержит условие, а каждый листовой узел содержит прогноз.

Ботанические деревья обычно растут корнем внизу; однако деревья решений обычно представляются с корнем (первым узлом) вверху.

A decision tree containing two conditions and three leaves. The first
condition (the root) is num_legs >= 3; the second condition is
num_eyes >= 3. The three leaves are penguin, spider,
and dog.

Рисунок 1. Простое дерево решений классификации. Легенда зеленого цвета не является частью дерева решений.

Вывод модели дерева решений вычисляется путем маршрутизации примера от корня (вверху) до одного из конечных узлов (внизу) в соответствии с условиями. Значение достигнутого листа — это предсказание дерева решений. Набор посещенных узлов называется путем вывода . Например, рассмотрим следующие значения функций:

num_legs num_eyes
4 2

Предсказание будет собакой . Путь вывода будет:

  1. num_legs ≥ 3 → Да
  2. num_eyes ≥ 3 → Нет

The same illustration as Figure 1, but this illustration shows the
  inference path across two conditions, terminating in the leaf for dog.

Рисунок 2. Путь вывода, который завершается листом *dog* в примере *{num_legs : 4, num_eyes : 2}*.

В предыдущем примере листья дерева решений содержат прогнозы классификации; то есть каждый лист содержит вид животных из множества возможных видов.

Точно так же деревья решений могут прогнозировать числовые значения, помечая листья регрессионными предсказаниями (числовыми значениями). Например, следующее дерево решений предсказывает числовой показатель привлекательности животного от 0 до 10.

A decision tree in which each leaf contains a different floating-point
  number.

Рисунок 3. Дерево решений, позволяющее осуществлять численный прогноз.