I modelli di classificazione sono un tipo di modellazione predittiva che organizza i dati in classi predefinite in base ai valori delle caratteristiche.
I modelli di classificazione sono un tipo di modello di machine learning che divide i punti dati in gruppi predefiniti chiamati classi. I classificatori sono un tipo di modellazione predittiva che apprende le caratteristiche della classe dai dati di input e impara ad assegnare classi possibili a nuovi dati in base alle caratteristiche apprese.1 Gli algoritmi di classificazione sono ampiamente usati nella data science per prevedere modelli e risultati. Hanno infatti una serie di casi d'uso concreti, come la classificazione dei pazienti in base ai potenziali rischi per la salute e il filtraggio delle e-mail spam.
Le attività di classificazione possono essere binarie o multiclasse. Nei problemi di classificazione binaria, un modello prevede tra due classi. Ad esempio, un filtro antispam classifica le e-mail come spam o non spam. I problemi di classificazione a più classi classificano i dati tra più di due etichette di classe. Ad esempio, un classificatore di immagini potrebbe classificare le immagini di animali domestici usando una miriade di etichette di classe, come cane, gatto, lama, ornitorinco e altro ancora.
Alcune fonti, soprattutto online, fanno riferimento alla classificazione come forma di apprendimento automatico supervisionato. Ma i classificatori non rientrano esclusivamente nel dominio dell'apprendimento supervisionato. Gli approcci di apprendimento non supervisionato per i problemi di classificazione sono stati un punto chiave della ricerca recente.
Naturalmente, ogni algoritmo di classificazione del machine learning differisce nelle sue operazioni interne. Ogni algoritmo tuttavia aderisce a un processo generale di classificazione dei dati in due fasi:
Apprendimento. Nell'apprendimento supervisionato, una persona addetta assegna un'etichetta a ciascun punto dati del set di dati di addestramento. Questi punti sono definiti come una serie di variabili di input (o variabili indipendenti), che possono essere numeriche, stringhe di testo, caratteristiche dell'immagine e così via. In termini matematici, il modello considera ogni punto dati come una tupla x. Una tupla è semplicemente una sequenza numerica ordinata rappresentata come x = (x1, x2, x3…xn). Ogni valore nella tupla è una determinata caratteristica del punto dati. Il modello usa le caratteristiche di ogni punto dati insieme alla relativa etichetta di classe per decodificare le caratteristiche che definiscono ogni classe. Mappando i dati di addestramento in base a questa equazione, un modello apprende le caratteristiche generali (o variabili) associate a ogni etichetta di classe.
Classificazione. Il secondo passaggio nelle attività di classificazione è la classificazione vera e propria. In questa fase, gli utenti implementano il modello su un set di prova di dati non visibili. I dati precedentemente non usati sono ideali per valutare la classificazione del modello al fine di evitare l'overfitting. Il modello usa la sua funzione predittiva appresa y=f(x) per classificare i dati non visibili in classi distinte in base alle caratteristiche di ciascun campione. Gli utenti quindi valutano l'accuratezza del modello in base al numero di campioni di dati di test previsti correttamente.2
I modelli di classificazione prevedono due tipi di previsioni: discrete e continue.
Discrete. Le previsioni discrete sono le etichette di classe previste per ciascun punto dati. Ad esempio, possiamo usare un predittore per classificare i pazienti come diabetici o non diabetici in base ai dati del loro stato di salute. Le classi diabetico e non diabetico sono le previsioni categoriali discrete.
Continue. I classificatori assegnano le previsioni di classe come probabilità continue chiamate punteggi di confidenza. Queste probabilità sono valori compresi tra 0 e 1, che rappresentano percentuali. Il nostro modello potrebbe classificare un paziente come diabetico con una probabilità pari a 0,82. Questo significa che il modello ritiene che il paziente abbia una probabilità dell'82% di essere diabetico e una probabilità del 18% di non essere diabetico.
Solitamente i ricercatori valutano i modelli usando previsioni discrete e previsioni continue come soglie. Un classificatore ignora qualsiasi previsione al di sotto di una determinata soglia. Ad esempio, se il nostro predittore di diabete ha una soglia di 0,4 (40%) e classifica un paziente come diabetico con una probabilità di 0,35 (35%), allora il modello ignorerà quell'etichetta e non assegnerà il paziente alla classe diabetica.3
I ricercatori e gli sviluppatori usano un'ampia gamma di metriche di valutazione per i modelli di classificazione. La metrica di valutazione scelta dipende dall'attività di classificazione specifica. Tutte misurano l'accuratezza con cui un learner (cioè un classificatore) prevede accuratamente le classi del modello.
Le metriche di classificazione usano una terminologia comune. I veri positivi (TP) sono quei campioni di dati che il modello prevede correttamente nella rispettiva classe. I falsi positivi (FP) sono quelle istanze di classe negativa identificate erroneamente come casi positivi. I falsi negativi (FN) sono istanze realmente positive erroneamente previste come negative. I veri negativi (TN) sono le istanze effettive della classe negativa che il modello classifica accuratamente come negative.
Precisione. Prende il nome di valore previsto positivo (PPV). È la proporzione di stime di classe positive che appartengono effettivamente alla classe in questione. Ad esempio, in un filtro antispam, la precisione è la percentuale di messaggi che il modello classifica come spam che, di fatto, sono spam. È rappresentato dall'equazione:4
Richiamo. Anche la sensibilità o il tasso di veri positivi (TPR), il richiamo indica la percentuale di istanze di classe rilevate da un modello. Tornando al filtro antispam, il richiamo indica quanti messaggi di spam effettivi il modello classifica come spam. È rappresentato dall'equazione:5
Punteggio F1. Precisione e richiamo possono condividere una relazione inversa; man mano che un classificatore restituisce più veri positivi (maggiore richiamo), il classificatore inevitabilmente classifica erroneamente anche i non casi (cioè falsi positivi), diminuendo la precisione. Il punteggio F1 mira a risolvere questo compromesso. F1 (o F-score) combina efficacemente precisione e richiamo per rappresentare l'accuratezza totale di un modello rispetto alla classe. È rappresentato dall'equazione:6
Gli strumenti di visualizzazione dei dati aiutano a illustrare i risultati dell'analisi dei dati. I data scientist e i ricercatori sul machine learning usano due strumenti principali per visualizzare le prestazioni dei classificatori:
Matrice di confusione. La matrice di confusione è una tabella le cui colonne rappresentano i valori previsti di una determinata classe, mentre le righe rappresentano i valori reali, o viceversa. Il riquadro in alto a sinistra indica il numero di veri positivi; il riquadro in basso i falsi positivi; il riquadro in alto a destra il numero di falsi negativi; il riquadro in basso a destra il numero di veri negativi. Sommando ciascuno di questi valori, si ottiene il numero totale di previsioni del modello.7 Una matrice di confusione per un classificatore binario può apparire come segue:
Curva ROC. Una curva caratteristica operativa del ricevitore (ROC) visualizza la proporzione di veri positivi rispetto ai veri negativi. Il grafico traccia il tasso di veri positivi rispetto al tasso di veri negativi per ogni soglia usata nella classificazione del modello. La statistica dell'area sotto la curva (AUC) deriva dalla curva ROC. L'AUC misura la probabilità che un positivo selezionato a caso abbia un punteggio di confidenza più alto rispetto a un negativo casuale. I valori AUC vanno da 0 a 1. Il primo valore significa che il modello attribuisce a tutti i negativi una probabilità maggiore rispetto ai positivi, mentre 1 significa che il modello attribuisce a tutti i positivi una probabilità maggiore.8
Esistono numerosi tipi diversi di algoritmi di classificazione. Sebbene presentino casi d'uso sovrapposti, alcuni sono più adatti per particolari applicazioni rispetto ad altri. Ecco una panoramica dei tre algoritmi di machine learning più diffusi per la classificazione. Tutti e tre possono essere facilmente implementati in Python usando varie librerie scikit-learn.
Le fonti online spesso accostano i compiti di classificazione e regressione del machine learning. Ma questo è un eccesso di semplificazione. La regressione logistica è un classificatore di probabilità derivato da modelli di regressione lineare. La regressione lineare usa una o più variabili indipendenti per prevedere il valore di una variabile indipendente, il cui valore può essere qualsiasi numero razionale continuo. La regressione logistica è una modifica alla regressione lineare, in quanto il valore di output (o variabile indipendente) è limitato a qualsiasi valore compreso tra 0 e 1. Lo fa applicando una trasformazione logit o log odds alla formula di regressione lineare standard:9
I modelli di regressione logistica sono utili per la classificazione binaria dei problemi di regressione multivariata. Le applicazioni più comuni sono il rilevamento delle frodi e le previsioni biomediche. Ad esempio, la regressione logistica è stata implementata per aiutare a prevedere la mortalità dei pazienti indotta da traumi e malattie coronariche.10
I classificatori Naïve Bayes (chiamati anche Naive Bayes) sono un tipo diffuso di classificatore in base al teorema di Bayes. Una delle sue principali differenze rispetto agli altri classificatori è che calcola la probabilità a posteriori per le previsioni di classe. Questo significa che Naïve Bayes aggiorna le previsioni della classe iniziale (chiamate probabilità a priori) con ogni nuovo dato. Ad esempio, supponiamo di tentare di classificare la probabilità di un paziente di sviluppare il diabete. I dati medici di questo paziente, come la pressione sanguigna, l'età, i livelli di glucosio nel sangue e altro ancora, hanno funzione di variabili indipendenti. Per effettuare una previsione, un classificatore bayesiano calcola la prevalenza attuale presunta del diabete in una popolazione (probabilità a priori) con la probabilità che i valori dei dati medici del nostro paziente si verifichino in una persona affetta da diabete (probabilità condizionale). I classificatori Naïve Bayes seguono l'equazione della regola di Bayes:11
Naïve Bayes è noto come classificatore generativo. Questo significa che il classificatore bayesiano, usando i valori delle variabili di una data osservazione, calcola quale classe è più probabile che abbia generato l'osservazione. I ricercatori di elaborazione del linguaggio naturale (PNL) hanno ampiamente applicato Naïve Bayes per attività di classificazione del testo, come l'analisi del sentiment. Utilizzando un modello bag of words, in cui ogni parola costituisce una variabile, il classificatore Naïve Bayes per l'analisi del sentiment prevede se una classe positiva o negativa ha prodotto il testo in questione.12
K-Nearest Neighbors (KNN) mappa i punti dati su uno spazio multidimensionale. Raggruppa quindi i punti dati con valori di caratteristiche simili in gruppi o classi separati. Per classificare nuovi campioni di dati, il classificatore esamina semplicemente il numero k di punti più vicini a un nuovo input x del test del campione di dati, conta quanti membri di ogni classe compongono il sottoinsieme vicino e restituisce quella proporzione come stima della classe per il nuovo punto dati. In altre parole, il modello assegna un nuovo punto dati a qualsiasi classe che comprende la maggior parte dei neighbors di quel punto. I modelli KNN in genere confrontano la distanza tra i punti dati con la distanza euclidea:13
L'Approximate Nearest Neighbor (ANN) è una variante del KNN. Negli spazi di dati ad alta dimensionalità, può diventare computazionalmente costoso trovare i neighbors esatti di un determinato punto dati. La riduzione della dimensionalità è un modo per risolvere questo problema. ANN è un'altra. Piuttosto che trovare l'esatto nearest neighbor di un determinato punto dati, ANN trova un nearest neighbor approssimativo entro una determinata distanza. Recenti ricerche hanno mostrato risultati promettenti per l'ANN nel contesto della classificazione multilabel.14
Tieni presente che numerose di queste tecniche possono essere influenzate negativamente dagli outlier. Fortunatamente, una serie di tecniche di regolarizzazione può aiutare a tenere conto di tali fattori di impatto negativi. Esistono anche numerosi altri algoritmi per la classificazione nel machine learning. Alcuni algoritmi aggiuntivi sono gli alberi decisionali, le foreste casuali, il gradient boosting e le macchine a vettori di supporto (SVM).
Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e con una minima quantità di dati.
Metti l'AI al servizio della tua azienda grazie all'esperienza leader di settore e alla gamma di soluzioni di IBM nel campo dell'AI.
Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.
1 Chris Drummond, "Classification", Encyclopedia of Machine Learning and Data Mining, Springer, 2017.
2 Jaiwei Han, Micheline Kamber e Jian Pei, Data Mining: Concepts and Techniques, 3a edizione, Morgan Kaufman, 2012.
3 Max Kuhn e Kjell Johnson, Applied Predictive Modeling, Springer, 2016.
4 Ethan Zhang e Yi Zhang, "Precision", Encyclopedia of Database Systems, Springer, 2018.
5 Ethan Zhang e Yi Zhang, "Recall", Encyclopedia of Database Systems, Springer, 2018.
6 Ben Carterette, "Precision and Recall", Encyclopedia of Database Systems, Springer, 2018.
7 Kai Ming Ting, "Confusion matrix", Encyclopedia of Machine Learning and Data Mining, Springer, 2017.
8 Peter Flach, "ROC Analysis", Encyclopedia of Machine Learning and Data Mining, Springer, 2017.
9 Max Kuhn e Kjell Johnson, Applied Predictive Modeling, Springer, 2016. Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani e Jonathan Taylor, An Introduction to Statistical Learning with Applications in Python, Springer, 2023
10 Lisa X. Deng, Abigail May Khan, David Drajpuch, Stephanie Fuller, Jonathan Ludmir, Christopher E. Mascio, Sara L. Partington, Ayesha Qadeer, Lynda Tobin, Adrienne H. Kovacs e Yuli Y. Kim, "Prevalence and Correlates of Post-traumatic Stress Disorder in Adults With Congenital Heart Disease", The American Journal of Cardiology, Vol. 117, N. 5, 2016, pagg. 853-857, https://www.sciencedirect.com/science/article/abs/pii/S0002914915023590 .
11 Max Kuhn e Kjell Johnson, Applied Predictive Modeling, Springer, 2016. William Bolstad e James Curran, Introduction to Bayesian Statistics, 3a edizione, Wiley, 2016.
12 Daniel Jurafsky e James Martin, Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition, 3a edizione, 2023.
13 Max Kuhn e Kjell Johnson, Applied Predictive Modeling, Springer, 2016. Kevin Murphy, Machine Learning: A Probabilistic Perspective, MIT Press, 2012.
14 Ville Hyvönen, Elias Jääsaari, Teemu Roos, "A Multilabel Classification Framework for Approximate Nearest Neighbor Search", Journal of Machine Learning Research, Vol. 25, N. 46, 2024, pagg. 1−51, https://www.jmlr.org/papers/v25/23-0286.html .