Home/ Wiki/ AI/ Algoritmi di Classificazione

Algoritmi di Classificazione

I sei algoritmi fondamentali del machine learning supervisionato per la classificazione: come funzionano, quando usarli e come confrontarli per scegliere il migliore.

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

Panoramica

La classificazione è il task di machine learning supervisionato che consiste nell'assegnare un'etichetta categorica a un input. Esistono decine di algoritmi, ma sei formano il nucleo fondamentale che ogni professionista AI deve conoscere. Ciascuno ha punti di forza e debolezza specifici — non esiste un algoritmo universalmente migliore.

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 non nell'algoritmo più sofisticato, ma 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, non una scatola nera. 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 professionale il Random Forest è spesso il primo modello che produce risultati davvero competitivi senza tuning estensivo: funziona bene "appena tolto dalla scatola" anche con feature di scale diverse e con valori mancanti. La sua feature importance è preziosa anche al di fuori della predizione: in un'analisi di marketing rivela quali variabili (canale di acquisizione, frequenza d'uso, valore medio dell'ordine) pesano di più nel determinare un comportamento, orientando le decisioni operative ancor prima di mettere il modello 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 piu 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 e l'algoritmo concettualmente piu semplice: per classificare un nuovo punto, trova i K punti piu vicini nel training set e assegna la classe piu 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 con l'assunzione "naive" che tutte le feature siano condizionalmente indipendenti data la classe. Nonostante questa assunzione sia quasi sempre violata, funziona sorprendentemente bene in pratica.

  • 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 capacita 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