Tecniche di DM: Alberi di decisione ed algoritmi - Digilander

Tecniche di DM: Alberi di decisione ed algoritmi di
classificazione
Vincenzo Antonio Manganaro
[email protected], www.statistica.too.it
Indice
1 Concetti preliminari: struttura del dataset negli algoritmi di classificazione, classificazione e raggruppamento.
2 Gli alberi di decisione.
2
3
3 Criteri per la costruzione di alberi di decisione: Entropia ed Information gain.
7
4 Accuratezza degli alberi di decisione.
10
5 L’algoritmo CART.
11
6 Conclusioni.
13
Nella prima parte introdurremo le tecniche di DM relative alla classificazione.
Dopo aver descritto la struttura degli alberi di decisione, considereremo i più diffusi
algoritmi di classificazione.
1
Vincenzo Antonio Manganaro ([email protected]). Palermo, Italia
1
2
Concetti preliminari: struttura del dataset negli algoritmi di classificazione, classificazione e
raggruppamento.
Negli algoritmi di classificazione i dati in input, chiamati anche training set, consistono in records ognuno dei quali avente attributi o caratteristiche multiple. Inoltre
ogni record è etichettato con una speciale etichetta di classe. Il seguente schema
mostra la struttura di un generico training set:
ATTRIB. 1(A1 ) ATTRIB. 2 (A2 )
.........
ATTRIB. p (Ap ) CLASSE
Record 1
Record 2
Record 3
.......
.......
Record n
Obiettivo della classificazione è quello di analizzare i dati in imput e sviluppare un’accurata descrizione o un modello per ogni classe, usando le caratteristiche
(espresse nell’esempio attraverso gli attributi A1 , A2 , . . . , Ap ) presenti nei dati. Gli
algoritmi di classificazione portano all’identificazione di schemi o insiemi di caratteristiche che definiscono la classe cui appartiene un dato record. In genere, partendo
dall’utilizzo di insiemi esistenti e già classificati, si cerca di definire alcune regolarità
che caratterizzano le varie classi. Le descrizioni delle classi vengono usate per classificare records, di cui non si conosce la classe di appartenenza, o per sviluppare una
migliore conoscenza di ogni classe nel dataset. Non a caso, alcune delle applicazioni
di maggiore interesse di questa tecnica di DM includono la ricerca, da parte delle
banche, di categorie di clienti ai quali concedere un prestito (in tal caso ogni record
è etichettato come buon creditore o cattivo creditore e gli attributi sono i dati dei
clienti relativi all’età, al reddito, ecc . . . ) o applicazioni di target marketing, con cui
un’impresa può individuare, sulla base delle caratteristiche dei clienti presenti nel
database, un proprio target di mercato allo scopo di rafforzare la propria posizione
Vincenzo Antonio Manganaro ([email protected]). Palermo, Italia
3
in un determinato settore (in tal caso etichettando ogni record del database come
cliente fedele e cliente non fedele).
Esiste una sostanziale differenza, che è opportuno chiarire, tra le tecniche di classificazione e le tecniche di raggruppamento o clustering (che avremo modo di considerare più avanti nella tesi). Tramite la classificazione l’utente comunica al tool di
DM la caratteristica chiave, di cui i membri del gruppo devono essere dotati, e il
tool non si occupa di nessun altro attributo che i membri del gruppo possono avere
in comune. Ad esempio, si può dire al tool di DM di creare dei gruppi di clienti sulla
base dei diversi livelli di entrate che apportano all’azienda. Utilizzando queste informazioni, l’azienda può investire tempo e denaro per corteggiare potenziali clienti
con caratteristiche simili. In altre parole, nella classificazione esiste un attributo
madre, il cui numero di modalità rappresenterà il numero dei gruppi che si verranno
a formare (questo attributo madre è proprio la classe di appartenenza). Due records
appartenenti al medesimo gruppo in un processo di classificazione possono in realtà
essere fortemente diversi fra loro. Tale diversità è legata al fatto che il tool di DM
ignora gli attributi al di fuori della classe di appartenenza. Nel raggruppamento
non esiste un numero di gruppi prefissato. In tal caso il tool di DM crea dei gruppi
sulla base di tutti gli attributi presenti nel database, in modo che ogni gruppo sia
caratterizzato da elementi “simili” in termini degli attributi descritti nel database e
che due elementi appartenenti a gruppi diversi siano sufficientemente “distanti tra
di loro”.
2
Gli alberi di decisione.
Gli alberi di decisione costituiscono il modo più semplice di classificare degli “oggetti” in un numero finito di classi. Essi vengono costruiti suddividendo ripetutamente
i records in sottoinsiemi omogenei rispetto alla variabile risposta 8 . La suddivisione
produce una gerarchia ad albero, dove i sottoinsiemi (di records) vengono chiamati
nodi e, quelli finali, foglie. In particolare, i nodi sono etichettati con il nome degli
attributi, gli archi (i rami dell’albero) sono etichettati con i possibili valori dell’at8
Si ricordi che la variabile risposta è l’ attributo classe del dataset e quando si parla di omoge-
neità rispetto alla variabile risposta ci si riferisce al fatto che le combinazioni di attributi dell’oggetto
conducono alla medesima modalità di classe.
Vincenzo Antonio Manganaro ([email protected]). Palermo, Italia
4
tributo soprastante, mentre le foglie dell’albero sono etichettate con le differenti
modalità dell’attributo classe che descrivono le classi di appartenenza. Un oggetto è
classificato seguendo un percorso lungo l’albero che porti dalla radice ad una foglia.
I percorsi sono rappresentati dai rami dell’albero che forniscono una serie di regole.
Per capire il meccanismo con il quale, a partire dal training set, si arriva alla costruzione di un albero di decisione, nonché la struttura dell’albero stesso, supponiamo
che i dati del training set provengano da una compagnia di assicurazioni, nella quale un esperto ha assegnato ad ogni utente un livello di rischio (A=alto, B=basso)
basandosi su esperienze precedenti e incidenti effettivamente avvenuti. Supponiamo
che il training set sia il seguente (S sta per sportivo, FA sta per familiare, AU sta
per autocarro):
ETÁ TIPO DI AUTOVEICOLO
RISCHIO
Utente 1
17
S
A
Utente 2
43
FA
B
Utente 3
68
FA
B
Utente 4
32
AU
B
Utente 5
23
FA
A
Utente 6
18
FA
A
Utente 7
20
FA
A
Utente 8
45
S
A
Utente 9
50
AU
B
Utente 10
64
AU
A
Utente 11
46
FA
B
Utente 12
40
FA
B
La compagnia di assicurazioni vorrebbe una procedura automatica che sia in grado
di segnalare se un nuovo cliente può essere rischioso.
L’esempio rappresenta proprio un tipico problema di classificazione che può essere
risolto con la costruzione di un albero di decisione associato al training set di cui
Vincenzo Antonio Manganaro ([email protected]). Palermo, Italia
5
Figura 1: Esempio di un albero di decisione: i nodi rappresentano le combinazioni
di attributi presenti, i rami i risultati dei test effettuati sui nodi mentre le foglie
rappresentano il risultato della classificazione.
sopra. La figura 3.1 fornisce un esempio di albero associato al training set.
Sebbene gli alberi di decisione forniscano una rappresentazione compatta di una procedura di classificazione, spesso risulta difficile presentare a persone non esperte una
struttura del tipo di quella presentata in fig 3.1, per cui si preferisce utilizzare una
rappresentazione equivalente, ma più intuitiva, con l’ausilio di “regole di classificazione”, che possono essere ricavate facilmente dall’albero e che nel caso dell’esempio
in questione potrebbero essere espresse nel modo seguente:
• SE ETÁ ≤ 23 O TIPO DI AUTOVEICOLO É SPORTIVO ⇒ IL RISCHIO
É ALTO
Vincenzo Antonio Manganaro ([email protected]). Palermo, Italia
6
• SE ETÁ > 23 E TIPO DI AUTOVEICOLO É {FAMILIARE, AUTOCARRO} ⇒ IL RISCHIO É BASSO
Risulta dunque abbastanza agevole comprendere quanto gli alberi di decisione possano essere utili per differenti fini e come essi debbano il loro nome al fatto di essere
degli importanti strumenti per il supporto alle decisioni.
Esiste un’importante differenza all’interno della famiglia degli alberi di decisione. Vi
sono alberi di decisione usati per predire variabili categoriali (il nuovo cliente della
compagnia di assicurazione è un potenziale cliente a rischio o no?) e sono comunemente chiamati alberi di classificazione, dal momento che posizionano i records in
categorie o classi. Gli alberi di decisione usati per predire variabili di tipo continuo
sono invece noti in letteratura con il nome di alberi di regressione. Chiaramente
esistono molte più difficoltà nel gestire dati di tipo continuo, per cui nella maggior
parte dei casi gli algoritmi di classificazione esprimono tali dati sotto forma di intervalli discreti.
L’esempio visto è in realtà abbastanza semplice: l’albero di decisione costruito (si
veda fig. 3.1) risulta facile da capire ed interpretare; ma la struttura di un albero di
decisione può diventare molto complicata, soprattutto nei casi derivati da database
contenenti centinaia di attributi ed una variabile risposta con differenti classi. In
situazioni del genere, lasciar “crescere” l’albero senza stabilire un limite di qualsiasi
natura può far si che l’albero ottenuto diventi non interpretabile, crei un numero
elevato di regole, di fatto sovraadattando i dati. Esistono, quindi, dei criteri di controllo che limitano la crescita degli alberi, basati o sul massimo numero di regole
ottenibili dalla classificazione o sulla massima “profondità” raggiungibile dall’albero
o ancora sul numero minimo di records che devono essere presenti in ogni nodo per
poter effettuare la divisione (splitting) in quel nodo. In tale ambito rientra anche la
fase di pruning dell’albero che considereremo più avanti e che consiste nell’ottenere
da un albero il più piccolo “sottoalbero”, che di fatto non comprometta l’accuratezza1 della classificazione/previsione resa possibile dall’albero madre. Ad esempio,
un ramo o un sottoalbero che l’utilizzatore giudica irrilevante perché ha un numero
esiguo di casi, potrebbe essere rimosso effettuando di fatto un’operazione di “pota1
Ci riferiamo all’accuratezza come alla capacità dell’albero di classificare correttamente i records
nelle rispettive classi di appartenenza, cosı̀ come si vede osservando il training set.
Vincenzo Antonio Manganaro ([email protected]). Palermo, Italia
7
tura”. L’algoritmo CART2 effettua la fase di pruning semplicemente verificando se
il miglioramento nell’accuratezza giustifica la presenza aggiuntiva di altri nodi.
Il percorso che porta alla costruzione di alberi di decisione non è certamente semplice; tuttavia nei prossimi paragrafi descriveremo brevemente i principali algoritmi di
costruzione di alberi di decisione. Gli algoritmi che affronteremo in tale ambito sono
prevalentemente di tipo univariato nel senso che considerano un solo “predittore”
alla volta (es. ETÀ ≤ 23 o TIPO DI AUTOVEICOLO con rispettivamente ETÀ e
TIPO DI AUTOVEICOLO predittori). Ma vi possono essere algoritmi che generano i meno noti alberi obliqui, nei quali il criterio di divisione o anche il predittore
potrebbe essere una combinazione lineare di variabili (es. SALARIO < (0.35 ∗ IPOTECA)), o alberi nei quali i predittori siano delle combinazioni logiche di variabili
(es. SALARIO > 35.000 O IPOTECA < 150.000).
3
Criteri per la costruzione di alberi di decisione:
Entropia ed Information gain.
Dedicheremo questo paragrafo all’ esposizione di concetti utili per la costruzione di
alberi di decisione. A tale scopo, consideriamo un problema di classificazione con sole
due classi, “+” e “-”, e sia S l’insieme di records attraverso i quali dobbiamo creare
un albero di decisione. Se indichiamo con P+ la percentuale di esempi classificati
con + e con P− la percentuale di esempi classificati con -, si definisce entropia di S,
H(S), l’espressione:
H(S) = −P+ log2 P+ − P− log2 P− .
(1)
La figura 3.2 riporta l’andamento dell’entropia al variare delle combinazioni di percentuali P+ e P− . Dal grafico si evidenzia come 0 ≤ H(S) ≤ 1 ed in particolare
H(S) = 0 nel caso in cui P+ = 100% o P− = 100%, ovvero nei casi in cui la totalità
degli esempi è classificata in una sola delle due classi. D’altro canto H(S) = 1 nel
caso in cui P+ = 50% e conseguentemente P− = 50%, ovvero nel caso in cui gli
esempi sono esattamente divisi nelle due classi.
2
Classification And Regression Trees. É il più diffuso algoritmo per la costruzione di alberi di
classificazione e di regressione.
Vincenzo Antonio Manganaro ([email protected]). Palermo, Italia
8
Figura 2: Andamento dell’entropia nel caso di due sole classi. Come è evidente il
massimo di entropia si ha in corrispondenza di P+ = P− = 0.5.
Vincenzo Antonio Manganaro ([email protected]). Palermo, Italia
9
In generale, se i records sono classificati in c classi, l’entropia si definisce come:
H(s) = −
c
X
Pi log2 Pi .
(2)
i=1
L’entropia è una misura dell’ordine dello spazio dei records che si considerano per
la costruzione degli alberi di decisione. Un valore elevato di entropia esprime il
“disordine” che caratterizza lo spazio dei records, ovvero una maggiore difficoltà
nell’assegnare ciascun record alla propria classe sulla base degli attributi che caratterizzano la classe: più l’entropia è alta, meno informazione abbiamo sull’attributo
classe. Il caso delle sole classi “+” e “-” con un valore di entropia pari a 1, corrispondente a P+ = 50% e P− = 50%, sarebbe il caso più difficile da considerare, se
l’obiettivo è quello di individuare gli attributi che caratterizzano le due classi.
In generale, partendo da una situazione di massimo disordine in cui H(S) = 1 o
da un qualunque valore elevato di entropia, una partizione dei records effettuata rispetto ad un certo attributo A porterebbe ad un nuovo valore H 0 (S) tale che risulta
H 0 (S) ≤ H(S) e quindi ad una diminuzione di entropia. In tale ambito rientra il
concetto di information gain 3 , definito come la diminuzione di entropia che si ottiene partizionando i dati rispetto ad un certo attributo. Se indichiamo con H(S) il
valore iniziale di entropia e con H(S, A) il valore dell’entropia dopo aver partizionato
i records con l’attributo A, l’information gain, che indicheremo con G, è data da:
G = H(S) − H(S, A).
(3)
Tale quantità è tanto maggiore quanto più elevata è la diminuzione di entropia dopo
aver partizionato i dati con l’attributo A. Dunque un criterio di scelta dei nodi di un
eventuale albero di classificazione4 consiste nello scegliere di volta in volta l’attributo5 A che dà una maggiore diminuzione di entropia o che analogamente massimizza
l’information gain.
3
La traduzione italiana è “guadagno di informazione” ed esprime appunto l’informazione ag-
giuntiva che si ha sull’attributo classe dopo aver partizionato i records attraverso gli altri attributi
del training set.
4
In realtà gran parte degli algoritmi di classificazione si basano proprio sul criterio
dell’information gain.
5
Se si tratta di costruire alberi di regressione bisogna scegliere oltre all’attributo di tipo continuo
anche il valore soglia, cioè il valore in base al quale effettuare la divisione dei records e che inoltre
massimizza l’information gain.
Vincenzo Antonio Manganaro ([email protected]). Palermo, Italia
10
L’information gain ha valori molto elevati in corrispondenza di attributi che sono
fortemente informativi e che quindi aiutano ad identificare con buona probabilità la
classe di appartenenza dei records. Spesso, però, più gli attributi sono informativi,
più perdono di generalità; ad esempio, nel database di una compagnia telefonica,
il campo codice fiscale è altamente informativo, ha dunque un alto valore di information gain, dal momento che identifica con certezza l’utente, ma non è per nulla
generalizzabile. L’ideale è dunque individuare campi altamente informativi con un
buon grado di generalizzazione.
4
Accuratezza degli alberi di decisione.
Esaminiamo ora alcuni concetti con i quali è possibile quantificare le potenzialità
nel classificare (accuratezza) per un albero.
Se indichiamo con ni il numero totale di records del training set che terminano nella
foglia i e con ni il numero di record classificati correttamente in i, è possibile associare
ad ogni foglia i un errore ²i dato dalla frazione di records classificati correttamente
nel training set:
ni
(4)
ni
L’errore associato a tutto l’albero è dato dalla somma degli errori di tutte le foglie,
²i =
pesati rispetto alla probabilità che un record finisca su ciascuna foglia. Se il numero
totale di records del training set è N , la probabilità che un determinato record finisca
nella foglia i è data da:
ni
N
e dunque l’espressione dell’errore associato a tutto l’albero (E) è la seguente:
E=
X ni
i
N
²i
(5)
È chiaro che la situazione di ottimo si ha quando E = 1; in tal caso, infatti, l’albero
classifica perfettamente tutti i records del training set, poiché ²i = 1 per ogni i ed
E risulta uguale alla probabilità che un record cada in una qualsiasi foglia e cioè ad
uno.
Tuttavia, questo modo di valutare le potenzialità di un albero nel classificare non è
esente da critiche: basti pensare al fatto che gli errori di classificazione non sono tutti
Vincenzo Antonio Manganaro ([email protected]). Palermo, Italia
11
uguali6 . Per specificare queste differenze negli errori di classificazione potremmo
definire delle matrici di costo, nelle quali ogni cella della matrice specifica quanto
“costa” un certo errore di classificazione. Si tratta di matrici che hanno la diagonale
principale fatta tutta di zeri (casi in cui l’albero classifica perfettamente i records),
mentre altrove i valori sono generalmente 6= 0 e rappresentano i costi della errata
classificazione dei records. Queste matrici sono in generale non simmetriche, poiché
il costo dell’aver classificato un record nella classe i piuttosto che nella vera classe j
è, di regola, diverso dal costo di errata classificazione opposto.
5
L’algoritmo CART.
Concentriamoci ora sugli algoritmi di classificazione che fanno uso degli alberi di
decisione. Esistono in letteratura diversi algoritmi e tra questi CART, C4.5, CHAID,
SLIQ, SPRINT. Da parte nostra cercheremo di capire la logica sottostante questi
algoritmi, concentrandoci esclusivamente sul primo di questi, che costituisce tra
l’altro il più utilizzato, evitando comunque di entrare troppo in dettagli, il cui livello
andrebbe oltre gli scopi di questa tesi.
L’algoritmo CART permette di generare alberi binari, ovvero alberi in cui ad ogni
nodo corrispondono due soli rami; tuttavia il CART è alla base di altri algoritmi
che generano alberi più complessi. Esso si articola in due fasi:
• GENERAZIONE DELL’ALBERO.
• PRUNING DELL’ALBERO.
Infatti con la prima fase spesso si ottengono alberi completi, ma abbastanza complessi, nel senso che sono costituiti da un numero molto elevato di regole. Per questo
motivo, affinché l’albero possa essere effettivamente utile nel classificare records e
nel fornire regole efficaci, è necessario sfoltire la ridondanza dell’albero, eliminando
i rami meno significativi (pruning sta proprio per potatura).
Consideriamo la fase di generazione dell’albero: si parte dalla totalità dei records
6
Classificare, ad esempio, un utente “non a rischio” come “a rischio” è un errore che reca
meno danno dell’errore contrario; diagnosticare un tumore come benigno quando in realtà questo
è maligno risulta sicuramente più pericoloso del caso contrario.
Vincenzo Antonio Manganaro ([email protected]). Palermo, Italia
12
appartenenti al training set e si comincia una divisione binaria in classi. Il criterio con cui viene effettuata questa divisione si basa sull’information gain e consiste
nell’individuare l’attributo che mi dà il massimo guadagno di informazione, al fine
di stabilire l’appartenenza di un record ad una classe. Nel caso di una divisione
binaria in classi, il concetto di information gain può essere particolarizzato nel più
specifico concetto di diversità (D). La diversità è una funzione della frazione di
records classificati in ciascuna classe. Ad esempio, se N è il numero dei records del
training set, una prima divisione binaria dei records porterebbe alla formazione di
due classi ognuna delle quali possiede una determinata frazione della totalità dei
records. Indicate con P1 e P2 tali frazioni, la funzione diversità D(P1 , P2 ) può essere
pensata come ad una funzione, avente valori in [0, 1], che fornisce una misura di
quanto i records sono equamente distribuiti nelle classi. Essa è definita in modo tale
che D = 1 se i records sono concentrati in una sola classe e D = 0 se i records sono
divisi in parti perfettamente uguali fra le due classi. Poiché l’obiettivo dell’algoritmo
è quello di operare una classificazione posizionando i records in classi prestabilite
(si ricordi la sostanziale differenza tra classificazione e clustering dove, nell’ultimo
caso, non si ha una specificazione iniziale delle classi), esso cercherà di posizionare
i records in maniera “quanto più possibile equa” tra le diverse classi prestabilite e
non considererà quei campi o quei valori dei campi che non portano ad una divisione
equa dei records. In termini formali, l’algoritmo nelle varie fasi sceglierà dei campi
splitter (campi divisori presenti nel training set) e proverà diversi valori in modo
che in ogni nodo venga minimizzata la funzione diversità. Minimizzare tale funzione
coincide col trovare nelle varie fasi i campi e i valori dei campi che in quella fase operano la bipartizione più equa possibile e che quindi c’è da ritenere che danno in quel
contesto un’informazione maggiore (in un gruppo di oggetti o individui l’informazione più interessante può essere un qualche attributo che bipartisce perfettamente
l’insieme). Il procedimento è chiaramente di tipo iterativo e si arresterà quando non
sarà più possibile, modificando le posizioni dei campi e/o i valori dei campi, diminuire le funzioni diversità. Veniamo ora alla fase di pruning (potatura) dell’albero;
è necessario, infatti, per applicare efficacemente l’albero ottenuto ad altri datasets
eliminare alcuni rami, diminuendo l’errore complessivo dell’albero. A questo punto
introduciamo un tasso di errore aggiustato:
At = Et + αλt
(6)
Vincenzo Antonio Manganaro ([email protected]). Palermo, Italia
13
dove l’indice t indica il particolare sottoalbero e λt è il numero di foglie nel sottoalbero t. Il tasso di errore aggiustato tiene conto del numero di foglie λt , nonché
del peso di tale numero (peso indicato con α); esso permette inoltre di effettuare
confronti tra i sottoalberi e l’albero completo. Se t = 0 si ha l’albero completo e
λ0 è il numero di foglie dell’albero, A0 è l’errore aggiustato dell’albero completo.
Esso coincide con E0 solo se α = 0 ed in generale se α = 0 l’errore aggiustato di un
qualunque sottoalbero coincide con Et . L’algoritmo di pruning prevede le seguenti
fasi:
1. fissato α si calcola At per ogni sottoalbero contenente la radice;
2. si aumenta α da 0 a 1 fino ad ottenere un sottoalbero t1 per cui risulta At1 ≤ A0
e si eliminano tutti i rami che non sono parte di t1 ;
3. si procede allo stesso modo fino ad arrivare alla radice ottenendo in tal modo
un set di sottoalberi {t1 , t2 , . . . . . .};
4. si calcola l’errore di ogni sottoalbero utilizzando un altro insieme di dati (test
set) e si sceglie il sottoalbero con l’errore minore.
6
Conclusioni.
Non possiamo concludere questo capitolo dedicato alla classificazione ed in particolare agli alberi di decisione senza considerare la critica più comune rivolta all’uso
degli alberi di decisione nei problemi di classificazione. La critica sostiene che negli
alberi di decisione l’attributo divisore viene scelto quasi sempre da un algoritmo “ingordo”, che non tiene assolutamente conto dell’influenza che la scelta di un attributo
divisore potrebbe avere sui futuri divisori. In altre parole, la decisione dell’attributo
(o campo) divisore avviene ad ogni nodo dell’albero, in un preciso momento durante
l’esecuzione dell’algoritmo, e non è mai più riconsiderata in seguito7 . Conseguenza
7
Quando l’algoritmo sceglie, in un determinato nodo, un opportuno campo divisore non è
assolutamente detto che quello sia (in assoluto) il miglior campo divisore per quel nodo; sicuramente
è il miglior campo divisore per quel nodo in quel preciso istante ed alla luce delle informazioni che
l’algoritmo possiede in quell’istante; il problema è che, alla luce di nuove informazioni, l’algoritmo
non andrà a modificare i campi divisori dei nodi precedenti.
Vincenzo Antonio Manganaro ([email protected]). Palermo, Italia
14
di ciò è che tutti i campi divisori vengono scelti sequenzialmente e ogni campo divisore è di fatto dipendente dai predecedenti. Ciò implica che tutti i futuri campi
divisori sono dipendenti dal nodo radice dell’albero, a tal punto che una modifica
del campo divisore del nodo radice potrebbe portare alla costruzione di un albero
completamente differente. Questa critica, di per sè, potrebbe portare ad una forte
limitazione nell’uso di tali strumenti, tuttavia le informazioni che spesso si ricavano
dalla costruzione di alberi di decisione e che abbiamo accennato in questa parte della
tesi fanno parzialmente dimenticare la correttezza di tale critica.