Questa unità è incentrata sui diversi tipi di conditions utilizzate per creare alberi decisionali.
Condizioni allineate all'asse e oblique
Una condizione allineata all'asse riguarda una sola funzionalità. Una condizione oblicata comporta più funzionalità. Ad esempio, di seguito è riportata una condizione allineata all'asse:
num_legs ≥ 2
Sebbene la seguente condizione sia obliqua:
num_legs ≥ num_fingers
Spesso, gli alberi decisionali vengono addestrati solo con condizioni allineate all'asse. Tuttavia, le suddivisioni oblique sono più potenti perché sono in grado di esprimere pattern più complessi. Le divisioni oblique a volte producono risultati migliori a scapito di costi di addestramento e inferenza più elevati.
split_axis="SPARSE_OBLIQUE"
.
Figura 4. Esempi di condizione allineata all'asse e obliqua.
La rappresentazione grafica delle due condizioni precedenti restituisce la seguente separazione degli spazi delle caratteristiche:
Figura 5. Separazione dello spazio delle caratteristiche per le condizioni nella Figura 4.
Condizioni binarie e non binarie
Le condizioni con due possibili risultati (ad esempio, vero o falso) sono chiamate condizioni binarie. Gli alberi decisionali che contengono solo condizioni binarie vengono chiamati alberi di decisione binari.
Le condizioni non binarie hanno più di due risultati possibili. Pertanto, le condizioni non binarie hanno un potere discriminativo maggiore rispetto alle condizioni binarie. Le decisioni contenenti una o più condizioni non binarie sono chiamate alberi di decisioni non binarie.
Figura 6: alberi di decisione binarie e non binarie.
È inoltre più probabile che si verifichino condizioni con troppa potenza. Per questo motivo, le foreste decisionali in genere usano alberi di decisione binaria.
Il tipo di condizione più comune è la condizione di soglia espressa come segue:
feature ≥ threshold
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 della soglia | $\mathrm{feature}_i \geq \mathrm{threshold}$ | $\mathrm{num\_legs} \geq 2$ |
condizione di uguaglianza | $\mathrm{feature}_i = \mathrm{value}$ | $\mathrm{species} = ''gatto"$ |
condizione impostata | $\mathrm{feature}_i \in \mathrm{collection}$ | $\mathrm{species} \in \{``gatto", ``cane", ``bird"INSTANCE$ |
condizione obliqua | $\sum_{i} \mathrm{weight}_i \mathrm{feature}_i \geq \mathrm{threshold}$ | $5 \ \mathrm{num\_legs} + 2 \ \mathrm{num\_eyes} \geq 10$ |
funzionalità mancante | $\mathrm{feature}_i \mathrm{is} \mathrm{Manca}$ | $\mathrm{num\_legs} \mathrm{is} \mathrm{Manca}$ |