Hai mai giocato a “Indovina chi?” o a “20 domande”? Fai una domanda, ottieni una risposta, restringi il campo, un’altra domanda, e alla fine arrivi a una conclusione. Ecco, un albero decisionale fa esattamente la stessa cosa, ma con i dati.
È uno degli algoritmi di machine learning più intuitivi che esistano, e proprio per questo è un ottimo punto di partenza per capire come le macchine prendono decisioni. Non serve essere programmatori per afferrare il concetto: basta aver fatto una qualsiasi caccia al tesoro a tema.
Di cosa parleremo..
Cos’è un albero decisionale
Immagina un diagramma a forma di albero rovesciato. In cima c’è una domanda, da lì partono due o più risposte possibili (i rami) che portano ad altre domande (i nodi interni), fino ad arrivare a una risposta finale (le foglie).
Ogni nodo è un test su una caratteristica specifica dei dati. L’albero decide come dividere i dati in base alle risposte, e lo fa in modo da separare il più possibile le diverse categorie.

Per esempio, se volessi costruire un albero per decidere se uscire a fare una passeggiata, potrei fare queste domande in sequenza:
- Piove? Se sì, resto a casa (foglia). Se no, passo alla domanda successiva.
- Fa freddo? Se sì, mi metto il giubbotto ed esco. Se no, esco in maniche corte.
Semplice, vero? Ora immagina di farlo con migliaia di dati e decine di variabili. L’albero cresce, si ramifica, e diventa uno strumento potentissimo per classificare o fare previsioni.
Come si costruisce
La costruzione di un albero decisionale è un processo chiamato splitting ricorsivo. L’algoritmo guarda tutti i dati a disposizione e cerca la domanda (cioè la variabile) che separa meglio i risultati.
Il criterio di purezza
L’obiettivo è creare “nodi puri”, cioè gruppi in cui tutti gli elementi appartengono alla stessa categoria. Per misurare quanto un nodo è “puro”, si usano metriche come:
- Gini impurity: misura quanto un nodo è “impuro”, cioè misto. Se un nodo contiene solo elementi della stessa categoria, Gini è 0. Più è alto, più il nodo è disordinato.
- Entropia e Information Gain: l’entropia misura il disordine informativo. L’information gain calcola quanta “informazione” guadagno dividendo i dati in base a una certa domanda.
L’algoritmo in sostanza sceglie la domanda che dà il maggior guadagno informativo.
Il bello è che non devi fare questi calcoli a mano. Librerie come scikit-learn in Python li gestiscono in automatico: tu passi i dati e l’albero si costruisce da solo.
Un esempio concreto
Immagina di avere dati di fiori con due caratteristiche: lunghezza del petalo e larghezza del petalo.
Il tuo obiettivo è classificarli in tre specie.
L’algoritmo prova tutte le possibili “soglie” su entrambe le caratteristiche.
Scopre che la domanda “Lunghezza del petalo è maggiore di 2.5 cm?” separa perfettamente una specie dalle altre.
Perfetto, quella diventa il primo nodo.
Poi ripete il processo sui due sottogruppi, trovando nuove domande per separare le specie rimanenti.
Alla fine, ogni foglia corrisponde a una specie e per classificare un nuovo fiore basta seguire le domande dall’alto verso il basso.
Per capire meglio cosa sono queste “caratteristiche”, dai un’occhiata all’articolo su cosa sono le feature nel machine learning, perché sono proprio quelle su cui l’albero costruisce le sue domande.
Il problema dell’overfitting
Gli alberi hanno un punto debole famoso: più sono grandi e profondi, più rischiano di imparare a memoria i dati di addestramento invece di cogliere le vere regole generali. Questo si chiama overfitting.
Se lasci crescere un albero senza limiti, lui memorizza ogni singolo dato, compresi rumore e outlier.
Funziona benissimo sui dati di partenza ma fallisce su quelli nuovi.
Le soluzioni principali sono:
- Pruning (potatura): si fa crescere l’albero, poi si tagliano i rami meno significativi. Così come viene potato un albero vero: togli quello che non serve.
- Limitare la profondità: si dice all’albero “puoi fare al massimo 5 livelli di domande”. Sembra brutale ma funziona.
- Minimo N campioni per foglia: si impone che ogni foglia contenga almeno N elementi, così l’albero non fa classificazioni basate su un singolo dato.
Vantaggi e svantaggi
Perché usarli
Gli alberi decisionali sono tra gli algoritmi più interpretabili in tutto il machine learning. Mentre una rete neurale è una scatola nera, con un albero puoi vedere esattamente perché una decisione è stata presa. Letteralmente: puoi disegnarlo su un foglio.
Non richiedono molta preparazione dei dati. Non serve normalizzare o standardizzare le variabili e gestiscono naturalmente sia valori numerici che categorici.
I limiti
Oltre all’overfitting, gli alberi sono sensibili a piccole variazioni nei dati. Un dataset leggermente diverso può produrre un albero completamente diverso, il che li rende instabili rispetto ad altri algoritmi.
Per questo, negli usi reali, raramente si usa un singolo albero. Si usano ensemble come Random Forest (tanti alberi messi insieme) o Gradient Boosting, che combinano centinaia di alberi per ottenere previsioni molto più robuste. Ma questa è un’altra storia, e arriveremo anche lì.
A che servono in pratica
Gli alberi decisionali si usano in tantissimi ambiti:
- Diagnosi mediche: sulla base di sintomi, esami e dati, aiutano a classificare patologie.
- Credit scoring: le banche li usano per decidere se concedere un prestito.
- Segmentazione clienti: capire quali gruppi di clienti hanno comportamenti simili.
- Raccomandazioni: suggerire prodotti in base a caratteristiche dei clienti.
Non servono solo per “classificare”. Esistono anche alberi di regressione, che invece di predire una categoria (rosso, blu, verde) predicono un valore numerico (prezzo di una casa, temperatura, ecc.). Il meccanismo è lo stesso: l’albero divide i dati in gruppi sempre più piccoli, e poi assegna a ogni foglia il valore medio del gruppo.
Se vuoi approfondire come si incastra con gli altri tipi di machine learning, l’articolo ML vs DL vs GenAI: le differenze fondamentali ti dà il quadro completo. E se preferisci una visione ancora più ampia, la mappa dei modelli di intelligenza artificiale ti mostra dove si collocano gli alberi decisionali rispetto a tutto il resto.
FAQ
Gli alberi decisionali fanno parte del supervised o unsupervised learning?
Fanno parte dell’apprendimento supervisionato. Hanno bisogno di dati etichettati, dove per ogni esempio conosci già la risposta corretta. L’albero impara a generalizzare da questi esempi per fare previsioni su dati nuovi.
Qual è la differenza tra un albero decisionale e una random forest?
Una random forest è un insieme di tanti alberi decisionali, costruiti su porzioni casuali diverse dei dati. Ogni albero “vota” e la foresta sceglie la risposta più frequente. Questo riduce drasticamente l’overfitting e migliora la precisione.
Gli alberi decisionali sono ancora usati o sono superati?
Sono usatissimi, ma quasi mai da soli. Sono la base di algoritmi moderni come XGBoost, LightGBM e CatBoost, che dominano le competizioni di machine learning su dati tabellari. Quindi non solo non sono superati, sono più vivi che mai.
Posso usare un albero decisionale senza saper programmare?
Esistono strumenti visuali come KNIME, RapidMiner o Orange che permettono di costruire alberi decisionali trascinando blocchi. Ma per un uso serio conviene Python con scikit-learn, anche se non è strettamente necessario essere programmatori esperti.
Quanti dati servono per addestrare un albero decisionale?
Dipende dalla complessità del problema. Con poche centinaia di esempi ben bilanciati puoi già ottenere risultati decenti. Il vantaggio degli alberi è che funzionano bene anche con dataset piccoli, a differenza delle reti neurali che richiedono milioni di esempi.

