Home/ Wiki/ AI/ Algoritmi di Classificazione

Algoritmi di Classificazione

Sei algoritmi coprono quasi tutti i problemi di classificazione su dati in tabella. Come funzionano, quando sceglierne uno, e perché si comincia sempre dal più semplice.

Illustrazione di algoritmi di machine learning per la classificazione
Indice dei contenuti
Aggiornato: Aprile 2026 9 min di lettura

I sei algoritmi in breve

La classificazione è il compito di machine learning supervisionato in cui si assegna un'etichetta a un dato: questo cliente rinnoverà o no, questa mail è spam o no. Gli algoritmi sono decine e sei fanno il lavoro nella grande maggioranza dei casi reali. Nessuno di questi è il migliore in assoluto: cambia con la forma dei dati che hai, ed è per questo che si provano.

Punti chiave

  • La classificazione assegna un'etichetta categorica (spam/non spam, cliente fedele/a rischio) a partire da dati di esempio già etichettati.
  • I sei algoritmi di base: Logistic Regression, Decision Tree, Random Forest, SVM, KNN e Naive Bayes, coprono la grande maggioranza dei problemi tabellari reali.
  • La scelta dipende da tre fattori pratici: dimensione del dataset, esigenza di interpretabilità e linearità dei confini di decisione.
  • Una strategia efficace parte sempre da una baseline semplice (Logistic Regression) per poi salire di complessità solo se i risultati lo giustificano.
  • Nessuna scelta è valida senza una valutazione rigorosa con matrice di confusione e cross-validation.

Per chi lavora nel marketing o nell'analisi dati, padroneggiare questi sei modelli significa saper rispondere a domande concrete: quali clienti abbandoneranno il servizio, quali lead hanno più probabilità di convertire, quali recensioni sono positive o negative. La differenza tra un progetto AI utile e uno fallimentare sta spesso nella corretta corrispondenza tra il problema, i dati disponibili e il modello scelto.

"No Free Lunch Theorem": nessun algoritmo domina su tutti i possibili problemi. La scelta dipende dalla natura dei dati, dalla dimensione del dataset e dai requisiti di interpretabilità.

Logistic Regression

Nonostante il nome, la Logistic Regression è un algoritmo di classificazione (non di regressione). Calcola una combinazione lineare delle feature, la passa attraverso la funzione sigmoid e produce una probabilità di appartenenza alla classe positiva.

Come funziona: P(y=1|x) = sigmoid(w*x + b) = 1 / (1 + e^-(w*x+b)). Se la probabilità supera una soglia (default 0.5), il campione è classificato come positivo.

  • Pro: veloce, interpretabile (i coefficienti indicano l'importanza delle feature), produce probabilità calibrate, funziona bene con feature lineari.
  • Contro: assume relazioni lineari tra feature e log-odds, scarsa con confini di decisione non lineari.
  • Uso tipico: baseline per qualsiasi problema di classificazione, credit scoring, churn prediction.

Il vantaggio pratico che la rende insostituibile è la spiegabilità: un coefficiente positivo elevato su una feature indica che quella variabile spinge verso la classe positiva, e di quanto. In un progetto di churn prediction, ad esempio, puoi mostrare al cliente che "ogni reclamo non risolto aumenta la probabilità di abbandono del 15%": un'informazione azionabile. Per questo in molti contesti regolamentati (banche, assicurazioni, sanità) resta il modello preferito anche quando esistono alternative più accurate.

Decision Tree

Un Decision Tree costruisce un albero di decisioni binarie sulle feature: a ogni nodo si pone una domanda (es. "età > 30?"), e ci si muove a sinistra o destra in base alla risposta, fino a raggiungere una foglia con la predizione.

Come funziona: l'algoritmo sceglie a ogni nodo la feature e la soglia che massimizzano la purezza dei sottogruppi risultanti, misurata con Gini impurity o entropia (information gain).

  • Pro: altamente interpretabile (visualizzabile come albero), gestisce feature numeriche e categoriche, non richiede normalizzazione.
  • Contro: tende fortemente all'overfitting se non potato (pruned), instabile (piccole variazioni nei dati cambiano l'albero).
  • Uso tipico: analisi esplorativa, regole di business interpretabili, base per ensemble.

Il Decision Tree è lo strumento ideale quando devi comunicare la logica decisionale a persone non tecniche: un manager comprende immediatamente un diagramma "se il cliente ha speso più di 500€ e non acquista da 6 mesi, allora è a rischio". Per controllare l'overfitting si limita la profondità massima dell'albero (parametro max_depth) o il numero minimo di campioni per foglia: un albero troppo profondo memorizza il rumore dei dati di training invece di apprendere pattern generalizzabili.

Random Forest

Il Random Forest è un ensemble di molti Decision Tree (tipicamente 100-1000), ciascuno addestrato su un sottoinsieme casuale dei dati (bagging) e delle feature. La predizione finale è la votazione a maggioranza degli alberi.

Perché funziona

Ogni singolo albero ha alta varianza (overfitting), ma errori diversi. Mediando le predizioni di molti alberi decorrelati, la varianza si riduce drasticamente senza aumentare il bias. È il principio del "wisdom of crowds" applicato agli algoritmi.

  • Pro: prestazioni eccellenti out-of-the-box, robusto all'overfitting, gestisce feature miste, fornisce feature importance.
  • Contro: meno interpretabile di un singolo albero, più lento in training e inference, alto consumo di memoria.
  • Uso tipico: il "go-to" per classificazione tabellare, quando l'interpretabilità completa non è necessaria.

Nella pratica il Random Forest è quasi sempre il primo modello che dà risultati decenti senza starci a litigare: regge scale diverse fra le colonne, sopporta i valori mancanti e funziona appena tolto dalla scatola. La sua misura di importanza delle variabili vale anche a prescindere dalla previsione: in un'analisi di marketing ti dice quali variabili pesano davvero su un comportamento (canale di arrivo, frequenza d'uso, valore medio dell'ordine), e quella informazione la usi subito, anche se il modello non andrà mai in produzione.

SVM · Support Vector Machine

La SVM cerca l'iperpiano che separa le classi con il massimo margine: la massima distanza tra l'iperpiano e i punti più vicini di ciascuna classe (support vectors). Per dati non linearmente separabili, il kernel trick proietta i dati in uno spazio a dimensionalita superiore dove diventano separabili.

  • Pro: eccellente con dati ad alta dimensionalita (es. testo), robusto all'overfitting grazie alla massimizzazione del margine, efficace anche con pochi campioni.
  • Contro: lento su dataset grandi (O(n^2) - O(n^3)), sensibile alla scelta del kernel e dei parametri (C, gamma), non produce probabilita native.
  • Uso tipico: classificazione di testi, bioinformatica, dataset piccoli-medi ad alta dimensionalita.

KNN · K-Nearest Neighbors

Il KNN è l'algoritmo concettualmente più semplice: per classificare un nuovo punto, trova i K punti più vicini nel training set e assegna la classe più frequente tra loro. Non ha una vera fase di "training", e un algoritmo lazy che memorizza tutti i dati.

  • Pro: intuitivo, nessun addestramento, si adatta naturalmente a confini di decisione complessi.
  • Contro: lento in inferenza (deve calcolare la distanza da tutti i punti), sensibile alla scala delle feature (richiede normalizzazione), soffre della "maledizione della dimensionalita".
  • Uso tipico: sistemi di raccomandazione, anomaly detection, prototipazione rapida.

Naive Bayes

Il Naive Bayes applica il teorema di Bayes partendo da un'ipotesi che è quasi sempre falsa: che le variabili siano indipendenti fra loro. Continua a funzionare bene comunque, e questo è uno dei fatti che in aula fanno alzare le mani: la matematica non chiede che l'ipotesi sia vera, chiede che sia utile.

  • Pro: estremamente veloce (training e inference), eccellente con pochi dati, funziona bene con alta dimensionalita (testo), produce probabilita.
  • Contro: l'assunzione di indipendenza limita la capacità di catturare interazioni tra feature, probabilita spesso mal calibrate.
  • Uso tipico: filtro antispam (il caso d'uso classico), classificazione di testi, baseline veloce.

Confronto tabellare

AlgoritmoVelocita trainingInterpretabilitaDataset grandiFeature non lineariProbabilita
Logistic RegressionMolto veloceAltaOttimoScarsoSi (calibrate)
Decision TreeVeloceMolto altaBuonoBuonoSi
Random ForestMedioMediaBuonoEccellenteSi
SVMLentoBassaScarsoEccellente (kernel)No (nativo)
KNNNullo (lazy)MediaScarsoBuonoSi
Naive BayesMolto veloceAltaEccellenteScarsoSi (mal calibrate)

Come regola pratica: parti da Logistic Regression come baseline, prova Random Forest per migliorare le prestazioni e valuta gli altri algoritmi in base alle specificita del problema. La valutazione rigorosa richiede sempre la matrice di confusione e la cross-validation. Per implementare questi algoritmi, consulta Python per l'AI con la libreria Scikit-learn.

Vuoi imparare ad applicarlo davvero?

Scopri i corsi e la formazione di Federico Boggia su AI, dati e digitale.

Vai ai corsi
Federico BoggiaRispondo io, in giornata

Ciao! Dimmi che ti serve: un corso online, una giornata in aula a Livorno o la formazione per la tua azienda.

Scrivimi su WhatsApp