Alberi decisionale

I modelli di foresta decisionale sono composti da alberi di decisione. Gli algoritmi di apprendimento forestale decisionale (come le foreste casuali) si affidano, almeno in parte, all'apprendimento degli alberi decisionale.

In questa sezione del corso, studierai un piccolo set di dati di esempio e scoprirai come viene addestrato un singolo albero decisionale. Nelle sezioni seguenti, scoprirai come combinano gli alberi decisionali per addestrare le foreste decisionale.

In TF-DF, utilizza l'algoritmo CART per addestrare i modelli di albero decisionale:
# https://www.tensorflow.org/decision_forests/api_docs/python/tfdf/keras/CartModel
model = tfdf.keras.CartModel(...)

Il modello

Un albero decisionale è un modello composto da una raccolta di "domande", organizzate in modo gerarchico a forma di albero. In genere le domande sono chiamate condizione, split o test. In questo corso utilizzeremo il termine "condizione". Ogni nodo non foglia contiene una condizione e ogni nodo foglia contiene una previsione.

Gli alberi botanici solitamente crescono con la radice in basso; tuttavia, gli alberi decisionale sono generalmente rappresentati con la radice (il primo nodo) in alto.

Un albero decisionale contenente due condizioni e tre foglie. La prima condizione (la radice) è num_legs >= 3; la seconda condizione è
num_eyes >= 3. Le tre foglie sono pinguino, ragno e cane.

Figura 1. Un albero decisionale semplice. La legenda in verde non fa parte dell'albero decisionale.

 

Il calcolo di un modello di albero decisionale viene calcolato instradando un esempio dalla radice (in alto) a uno dei nodi foglia (in basso) in base alle condizioni. Il valore della foglia raggiunta è la previsione dell'albero decisionale. L'insieme di nodi visitati è chiamato percorso di inferenza. Ad esempio, considera i seguenti valori delle caratteristiche:

num_ gambe num_occhi
4 2

La previsione sarebbe cane. Il percorso di inferenza dovrebbe essere:

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

La stessa illustrazione della Figura 1, ma questa mostra il
  percorso di inferenza in due condizioni, terminando nella foglia per il cane.

Figura 2. Il percorso di inferenza che culmina nella foglia *cane* nell'esempio *{num_legs : 4, num_eyes : 2}*.

 

Nell'esempio precedente, le foglie dell'albero decisionale contengono previsioni di classificazione, ovvero ogni foglia contiene una specie animale tra un insieme di possibili specie.

Analogamente, gli alberi decisionale possono prevedere valori numerici etichettando le foglie con previsioni regressive (valori numerici). Ad esempio, la seguente struttura decisionale prevede un punteggio numerico di attenzione per un animale tra 0 e 10.

Un albero decisionale in cui ogni foglia contiene un numero in virgola mobile diverso.

Figura 3. Un albero decisionale che fa previsioni numeriche.