Árvores de decisão

Os modelos de floresta de decisão são compostos por árvores de decisão. Os algoritmos de aprendizado da floresta de decisão (como florestas aleatórias) dependem, pelo menos em parte, do aprendizado das árvores de decisão.

Nesta seção do curso, você vai estudar um pequeno conjunto de dados de exemplo e aprender como uma única árvore de decisão é treinada. Nas próximas seções, você aprenderá como as árvores de decisão são combinadas para treinar florestas de decisão.

Código YDF

No YDF, use o aprendizado do CART para treinar modelos de árvore de decisão individuais:

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

O modelo

Uma árvore de decisão é um modelo composto por uma coleção de "perguntas" organizadas hierarquicamente no formato de uma árvore. Geralmente,as perguntas são chamadas de condição, divisão ou teste. Usaremos o termo "condição" nesta aula. Cada nó que não é de folha contém uma condição, e cada nó de folha contém uma previsão.

As árvores botânicas geralmente crescem com a raiz na parte inferior. No entanto, as árvores de decisão geralmente são representadas com a raiz (o primeiro nó) na parte superior.

Uma árvore de decisão contendo duas condições e três folhas. A primeira condição (a raiz) é num_legs >= 3. A segunda condição é num_eyes >= 3. As três folhas são o pinguim,
a aranha e o cachorro.

Figura 1. Uma árvore de decisão de classificação simples. A legenda em verde não faz parte da árvore de decisão.

 

A inferência de um modelo de árvore de decisão é calculada roteando um exemplo da raiz (na parte superior) para um dos nós folha (na parte de baixo) de acordo com as condições. O valor da folha alcançada é a previsão da árvore de decisão. O conjunto de nós visitados é chamado de caminho de inferência. Por exemplo, considere os seguintes valores de recurso:

num_legs num_eyes
4 2

A previsão seria dog. O caminho de inferência seria:

  1. num_legs ≥ 3 → Sim
  2. num_eyes ≥ 3 → Não

É a mesma ilustração da Figura 1, mas ela mostra o caminho de inferência em duas condições, terminando na folha para cachorro.

Figura 2. O caminho de inferência que culmina na folha *dog* no exemplo *{num_legs : 4, num_eyes : 2}*.

 

No exemplo anterior, as folhas da árvore de decisão contêm previsões de classificação, ou seja, cada folha contém uma espécie animal entre um conjunto de possíveis espécies.

Da mesma forma, as árvores de decisão podem prever valores numéricos rotulando folhas com previsões regressivas (valores numéricos). Por exemplo, a árvore de decisão a seguir prevê uma pontuação de fofura numérica de um animal entre 0 e 10.

Uma árvore de decisão em que cada folha contém um número de ponto flutuante diferente.

Figura 3. Uma árvore de decisão que faz previsão numérica.