Tipi di condizioni

Questa unità si concentra su diversi tipi di condizioni utilizzate per creare gli alberi decisionali.

Condizioni allineate all'asse e oblique

Una condizione allineata all'asse coinvolge una sola funzionalità. Una condizione obliqua coinvolge più elementi. Ad esempio, la seguente è una condizione allineata all'asse:

num_legs ≥ 2

Mentre la seguente è una condizione obliqua:

num_legs ≥ num_fingers

Spesso, gli alberi decisionali vengono addestrati solo con condizioni allineate agli assi. Tuttavia, le suddivisioni oblique sono più efficaci perché possono esprimere modelli più complessi. A volte le suddivisioni oblique producono risultati migliori a scapito di costi di addestramento e inferenza più elevati.

Codice YDF
In YDF, gli alberi decisionali vengono addestrati con la condizione allineata all'asse per impostazione predefinita. Puoi attivare gli alberi decisionali obliqui con il parametro split_axis="SPARSE_OBLIQUE".

La condizione di allineamento all'asse è "num_legs >= 3". La condizione obliqua è
  "num_legs + weight * 5 >= 12".

Figura 4. Esempi di una condizione allineata all'asse e di una condizione obliqua.

 

Se rappresenti graficamente le due condizioni precedenti, ottieni la seguente separazione dello spazio delle funzionalità:

Un grafico del peso rispetto a num_legs. La condizione allineata all'asse non
  ignora il peso ed è quindi solo una linea verticale. La condizione oblique
  mostra una linea con pendenza negativa.

Figura 5. Separazione dello spazio delle funzionalità per le condizioni riportate nella Figura 4.

 

Condizioni binarie e non binarie

Le condizioni con due possibili risultati (ad esempio, true o false) sono chiamate condizioni binarie. Gli alberi decisionali contenenti solo condizioni binarie sono chiamati alberi decisionali binari.

Le condizioni non binarie hanno più di due possibili risultati. Pertanto, le condizioni non binarie hanno un potere di discriminazione maggiore rispetto alle condizioni binarie. Le decisioni contenenti una o più condizioni non binarie sono chiamate alberi di decisione non binari.

Un confronto tra alberi decisionali binari e non binari. L'albero decisionale
  binario contiene due condizioni binarie; l'albero decisionale
  non binario contiene una condizione non binaria.

Figura 6: alberi decisionali binari e non binari.

 

Anche le condizioni con troppa potenza sono più soggette a overfitting. Per questo motivo, le foreste decisionali generalmente utilizzano alberi decisionali binari, quindi questo corso si concentrerà su questi modelli.

Il tipo di condizione più comune è la condizione di soglia espressa come:

featurethreshold

Ad esempio:

num_legs ≥ 2

Esistono altri tipi di condizioni. Di seguito sono riportati altri tipi di condizioni binarie di uso comune:

 

Tabella 2. Tipi comuni di condizioni binarie.

Nome Condizione Esempio
condizione soglia featureithreshold num_legs2
condizione di uguaglianza featurei=value species=cat"
Condizione in-set featureicollection species{cat",dog",bird"}
condizione obliqua iweightifeatureithreshold 5 num_legs+2 num_eyes10
La funzionalità non è presente featureiisMissing num_legsisMissing