Cos'è la classificazione nel machine learning?

Autori

Ivan Belcic

Staff writer

Cos'è la classificazione nel machine learning?

Nel 'machine learning, la classificazione è un processo di modellazione predittiva attraverso il quale i modelli di machine learning utilizzano algoritmi di classificazione per prevedere l'etichetta corretta per i dati di input. 

Via via che modelli AI imparano ad analizzare e classificare i dati nei loro set di dati di addestramento, diventano più abili nell'identificare vari tipi di dati, scoprire tendenze e fare previsioni più accurate. 

Al termine del processo di addestramento del modello, le prestazioni del modello vengono valutate utilizzando i dati di test. Quando il modello funziona bene in modo costante, viene introdotto nei dati reali invisibili. Le reti neurali addestrate applicano ciò che hanno appreso durante l'addestramento per fare previsioni efficaci con i nuovi dati. 

Le ultime tendenze in materia di AI, proposte da esperti

Ricevi insight selezionati sulle notizie più importanti e interessanti sull'AI. Iscriviti alla nostra newsletter settimanale Think. Leggi l'Informativa sulla privacy IBM.

Grazie per aver effettuato l'iscrizione!

L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.

Cosa sono i modelli di classificazione?

Un modello di classificazione è un tipo di modello di machine learning che divide i punti dati in gruppi predefiniti chiamati classi. I classificatori apprendono le caratteristiche delle classi dai dati di input, quindi imparano ad assegnare possibili classi a nuovi dati non visti in base alle caratteristiche apprese.1

AI Academy

AI all'opera nell'ambito del servizio clienti

Scopri come l'AI generativa può offrire ai clienti un'esperienza più fluida e aumentare la produttività dell'organizzazione in queste tre aree chiave: self-service, agenti umani e operazioni di contact center.

Cosa sono gli algoritmi di classificazione?

Un algoritmo di classificazione è un algoritmo di machine learning orientato alla categorizzazione che ordina i dati di input in diverse classi o categorie. I modelli di intelligenza artificiale (AI) utilizzano algoritmi di classificazione per elaborare i set di dati di input rispetto a un classificatore specificato che stabilisce i criteri per l'ordinamento dei dati. Gli algoritmi di classificazione sono ampiamente utilizzati nella data science per il forecasting dei pattern e per prevedere i risultati. 

Come funzionano i modelli di classificazione?

Sebbene non esistano due algoritmi di classificazione del machine learning esattamente uguali, tutti seguono lo stesso processo generale di classificazione dei dati in due fasi: 

  1. Formazione
  2. Classificazione 

Passaggio 1: apprendimento

La classificazione è tradizionalmente un tipo di machine learning supervisionato, il che significa che utilizza dati etichettati per addestrare i modelli. Nell'apprendimento supervisionato, ogni punto dati nei dati di addestramento contiene variabili di input (note anche come variabili o caratteristiche indipendenti) e una variabile di output, o etichetta. 

Nell'addestramento per classificazione, il compito del modello è quello di comprendere le relazioni tra caratteristiche ed etichette di classe, quindi applicare tali criteri ai set di dati futuri. Il modello usa le funzioni di ogni punto dati, insieme alla relativa etichetta di classe, per decodificare le funzioni che definiscono ogni classe. In termini matematici, il modello considera ogni punto dati come una tupla x. Una tupla è una sequenza numerica ordinata che è rappresentata come x = (x1,x2,x3... xn).

Ogni valore nella tupla è una determinata funzione del punto dati. Eseguendo il mapping dei dati di addestramento con questa equazione, un modello apprende quali caratteristiche sono associate a ogni etichetta di classe. 

Lo scopo dell'addestramento è quello di ridurre al minimo gli errori durante la modellazione predittiva. Gli algoritmi di discesa del gradiente addestrano i modelli riducendo al minimo il divario tra i risultati previsti e quelli effettivi. Successivamente, i modelli possono essere perfezionati con ulteriore addestramento per svolgere compiti più specifici. 

Gli approcci di apprendimento non supervisionato per i problemi di classificazione sono stati di grande interesse per la ricerca recente. I metodi di apprendimento non supervisionato consentono ai modelli di scoprire autonomamente schemi in dati non etichettati. La mancanza di etichette è ciò che differenzia l'apprendimento non supervisionato e l'apprendimento supervisionato

Nel frattempo, l' apprendimento semi-supervisionato combina dati etichettati e non etichettati per addestrare i modelli ai fini della classificazione e della regressione. In situazioni in cui non è possibile ottenere grandi set di dati etichettati, l'apprendimento semi-supervisionato è una valida alternativa. 

Passaggio 2: 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 test di dati non visibili. I dati precedentemente inutilizzati vengono usati per valutare le prestazioni del modello, al fine di evitare l' overfitting, ovvero quando un modello si affida troppo ai suoi dati di addestramento e diventa incapace di fare previsioni accurate nel mondo reale. 

Il modello usa la 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

Quali tipi di classificazione esistono? 

Le attività di modellazione predittiva basate sulla classificazione si distinguono l'una dall'altra in base al numero di categorie e al grado di esclusività delle categorie: 

  • La classificazione binaria ordina i dati in due categorie. 

  • La classificazione multiclasse ordina i dati in più di due categorie esclusive. 

  • La classificazione multi-etichetta ordina i dati in categorie non esclusive. 

  • La classificazione non bilanciata presenta una distribuzione non equilibrata dei punti dati tra le categorie. 

Classificazione binaria

Nei problemi di classificazione binaria, un modello prevede se i dati rientrano in una di due classi. Le tecniche di apprendimento applicate durante l'addestramento prevedono modelli che valutano le caratteristiche dei dati di addestramento e prevedono quale delle due possibili etichette si applica a ciascun punto dati: positiva o negativa, vera o falsa e sì o no. 

Ad esempio, un filtro antispam classifica le e-mail come spam o non spam. Oltre al rilevamento dello spam, i modelli di classificazione binaria costituiscono predittori di comportamento affidabili: un potenziale cliente abbandonerà o acquisterà un determinato prodotto? Sono utili anche nell'elaborazione del linguaggio naturale (PNL), nell'analisi del sentiment, nella classificazione delle immagini e nel rilevamento delle frodi.

Classificazione multiclasse

I problemi di classificazione multiclasse classificano i dati con più di due etichette di classe, che si escludono a vicenda. In questo modo, le sfide multiclasse sono simili alle attività di classificazione binaria, ma hanno più classi. 

I modelli di classificazione multiclasse hanno molti casi d'uso reali. Oltre a determinare se le e-mail sono spam o meno, una soluzione di classificazione multiclasse sarebbe anche in grado di determinare se le e-mail sono promozionali o ad alta priorità. 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 ecc. 

L'obiettivo di un metodo di apprendimento con classificazione multiclasse è quello di insegnare a un modello ad assegnare dati di input con precisione a una vasta gamma di categorie possibili. Una funzione di obiettivo comune nell'addestramento multiclasse è la perdita cross-entropy categorica, che valuta il divario tra le previsioni del modello con i dati di test rispetto alle etichette corrette per ogni punto dati.

Classificazione multi-etichetta

La classificazione multi-etichetta viene utilizzata in situazioni in cui è possibile assegnare più etichette non esclusive a ciascun punto dati. A differenza dei tipi di classificazione basati sull'esclusività, la classificazione multi-etichetta accetta la possibilità che i punti dati presentino caratteristiche appartenenti a più di una categoria, il che rappresenta meglio l'ambiguità del mondo reale nelle raccolte di big data. 

Le attività di classificazione multi-etichetta vengono spesso eseguite combinando le previsioni di diversi modelli di classificazione binari o multiclasse.

Classificazione non bilanciata

La classificazione non bilanciata, in cui alcune categorie contengono più dati di altre, richiede un approccio specializzato. Via via che alcuni gruppi accumulano più dati, alcuni modelli di classificazione diventano distorti verso quei gruppi e prevedono sempre più a loro favore. 

Le contromisure includono algoritmi configurati per valutare maggiormente il costo delle previsioni errate o metodi di campionamento che eliminano la maggioranza dei campioni o il sovracampionamento da gruppi sottorappresentati. 

Previsioni discrete e continue

I modelli predittivi generano due tipi di previsioni: 

  • Le previsioni discrete ordinano definitivamente i dati in categorie distinte. 

  • Le previsioni continue assegnano una classe in base a una probabilità. 

Previsioni 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 di categoria discrete.

Previsioni continue

I classificatori assegnano le previsioni di classe come probabilità continue, chiamate punteggi di affidabilità. Queste probabilità sono valori compresi tra 0 e 1 che rappresentano percentuali. Il modello predittivo del diabete potrebbe classificare un paziente come diabetico con una probabilità di 0,82. Il modello ritiene che il paziente abbia una probabilità dell'82% di avere il diabete. 

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. Se il nostro predittore del diabete ha una soglia di 0,4 (40%) e classifica un paziente come diabetico con una probabilità di 0,35 (35%), il modello ignorerà tale etichetta e non assegnerà il paziente alla classe dei diabetici.3

Classificazione e regressione a confronto

La differenza tra classificazione e regressione è che, mentre la classificazione prevede la categoria di un punto dati, la regressione prevede un valore numerico reale associato. Sia la classificazione che la regressione sono tipi di modelli predittivi, ma con casi d'uso distinti. 

I modelli di classificazione ordinano i punti dati in categorie. La classificazione è il processo di addestramento di un modello di deep learning per scoprire la funzione che categorizza i punti dati. 

I modelli di regressione considerano vari punti dati per prevedere un valore numerico continuo per un'altra variabile. Ad esempio, un modello di regressione sul posto di lavoro potrebbe prevedere lo stipendio di un lavoratore in base all'età, all'esperienza, al luogo e al livello di istruzione. 

Nella pratica, le due cose sono spesso strettamente correlate. Ad esempio, l'algoritmo di regressione logistica utilizza la regressione per adempiere alle attività di classificazione.

Tipi di algoritmi di classificazione

Esistono numerosi tipi di algoritmi di classificazione. Sebbene presentino casi d'uso sovrapposti, alcuni sono più adatti per particolari applicazioni rispetto ad altri. Gli algoritmi di classificazione più diffusi includono: 

  • Regressione logistica

  • Albero decisionale 

  • Random forest

  • Support vector machine (SVM) 

  • K-nearest neighbors 

  • naive bayes

Molti di questi algoritmi possono essere facilmente implementati in Python con l'uso di librerie scikit-learn. Nel frattempo, i metodi di insieme e i modelli di trasformatori sono sviluppi più recenti, applicati ai problemi di classificazione.

Regressione logistica

Gli algoritmi di regressione logistica vengono spesso utilizzati per eseguire attività di classificazione. La regressione logistica è un classificatore di probabilità derivato da modelli di regressione lineare. La regressione lineare utilizza una o più variabili indipendenti per prevedere il valore di una variabile indipendente. Questo 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

equazione logit per la regressione logistica

I modelli di regressione logistica vengono utilizzati per la classificazione binaria nei problemi di regressione multivariata: quando si considerano più variabili, il punto dati appartiene a una categoria o all'altra? 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

Albero decisionale

Utilizzati sia per la classificazione che per la regressione, gli alberi decisionali suddividono i set di dati in gruppi progressivamente più piccoli in una serie di giudizi di classificazione binaria. La struttura risultante ricorda un albero, che si ramifica a partire da un giudizio iniziale verso le foglie o i nodi successivi. 

Diagramma di un algoritmo ad albero decisionale

La natura simile a un diagramma di flusso degli alberi decisionali li rende uno dei modelli più intuitivi da comprendere per gli utenti aziendali. Facili da visualizzare, gli alberi decisionali apportano trasparenza al processo di classificazione, rappresentando chiaramente i processi decisionali e i criteri utilizzati per classificare i dati. 

Foresta casuale

La foresta casuale è una tecnica di insieme che combina l'output di più alberi decisionali in un unico risultato. La "foresta" risultante migliora l'accuratezza della previsione rispetto a quella di un singolo albero, contrastando l'overfitting. Come gli alberi decisionali, le foreste casuali possono gestire sia attività di classificazione che di regressione. 

Diagramma di un algoritmo di foresta casuale

Gli algoritmi delle foreste casuali creano più alberi decisionali per ogni attività, aggregano la previsione di tutti gli alberi, quindi scelgono la risposta più popolare quale risultato definitivo. Ogni albero considera un sottoinsieme casuale di caratteristiche dei dati, contribuendo a garantire una bassa correlazione tra gli alberi. 

Support vector machine (SVM)

Gli algoritmi delle support vector machine (SVM) tracciano i punti dati in uno spazio multidimensionale, con il numero di dimensioni corrispondente al numero di caratteristiche nei dati. L'obiettivo dell'algoritmo è scoprire la linea ottimale, nota anche come iperpiano o boundary, che meglio divide i punti dati in categorie. 

L'iperpiano ottimale è quello con il margine più ampio, ovvero la distanza tra l'iperpiano e i punti dati più vicini in ogni classe. Questi punti dati vicini sono noti come vettori di supporto. I modelli che separano i dati con un iperpiano sono modelli lineari, ma gli algoritmi SVM possono anche gestire attività di classificazione non lineari con set di dati più complessi. 

La regressione logistica, gli alberi decisionali, le foreste casuali e gli algoritmi SVM sono tutti esempi di studenti affamati di apprendimento, ovvero algoritmi che costruiscono modelli a partire dai dati di addestramento e poi li applicano alle previsioni future. L'addestramento richiede più tempo, ma dopo che l'algoritmo ha creato un buon modello, le previsioni sono più rapide. 

K-nearest neighbors (KNN)

Gli algoritmi K-Nearest Neighbors (KNN) mappano i punti dati su uno spazio multidimensionale. Raggruppano quindi i punti dati con valori di funzionalità simili in gruppi o classi separati. Per classificare nuovi campioni di dati, il classificatore esamina il numero k di punti più vicini ai nuovi dati, conta i membri di ogni classe che comprende il sottoinsieme adiacente 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 sono studenti pigri, ovvero algoritmi che non costruiscono immediatamente un modello dai dati di addestramento, ma si riferiscono invece ai dati di addestramento e li confrontano con nuovi dati. In genere questi modelli impiegano più tempo per fare previsioni rispetto agli studenti più affamati di apprendimento. 

I modelli KNN in genere confrontano la distanza tra i punti dati con la distanza euclidea:13

Equazione della distanza euclidea

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à e l'ANN sono due soluzioni a questo problema. 

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 multi-etichetta.14

Naive Bayes

Sulla base del teorema di Bayes, i classificatori Naive Bayes calcolano la probabilità a posteriori per le previsioni di classe. Naive Bayes aggiorna le previsioni della classe iniziale, o probabilità precedenti, con ogni nuovo dato.

Con un predittore del diabete, i dati medici del paziente (pressione sanguigna, età, livelli di zucchero nel sangue e altro) sono le variabili indipendenti. Un classificatore bayesiano combina l'attuale prevalenza del diabete in una popolazione (probabilità a priori) con la probabilità condizionata che i valori dei dati medici del paziente appaiano in una persona diabetica. 

I classificatori Naïve Bayes seguono l'equazione della regola di Bayes:11

equazione della regola di Bayes

Naïve Bayes è noto come classificatore generativo. Utilizzando i valori delle variabili di un'osservazione, il classificatore bayesiano calcola la classe che ha più probabilità di generare l'osservazione. 

I ricercatori nel campo dell'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 Naive Bayes prevede se una classe positiva o negativa ha prodotto il testo in questione.9

Metodi d'insieme

I metodi ensemble e le tecniche di machine learning combinano molti modelli più piccoli in un unico classificatore per ottenere risultati migliori. I metodi deep ensemble riuniscono più modelli di deep learning per creare classificatori di ensemble ancora più potenti. Gli ensemble con deep learning possono gestire complesse attività di classificazione multi-etichetta. 

Il gradient boosting è un metodo ensemble che ha dimostrato di aumentare l'accuratezza delle previsioni. È un tipo di boosting, ovvero una tecnica d'insieme in cui più weak learner imparano gli uni dagli altri in sequenza per migliorare i risultati ad ogni iterazione.

Modelli trasformatori nella classificazione

Sebbene siano tipicamente utilizzati per le attività NLP, i modelli trasformatori sono stati applicati anche a problemi di classificazione. I modelli trasformatori come GPT e Claude utilizzano meccanismi di auto-attenzione per concentrarsi sulle parti più rilevanti di un set di dati di input. La codifica posizionale viene utilizzata per informare il modello su dove si trova ogni punto dati in una sequenza. 

Metodi di valutazione dell'apprendimento per classificazione

I ricercatori e gli sviluppatori scelgono determinate metriche di valutazione per i modelli di classificazione a seconda della specifica attività di classificazione. Tutti misurano l'accuratezza con cui i learner, o classificatori, prevedono accuratamente le classi del modello. 

Alcune delle metriche di valutazione più popolari sono: 

  • Accuratezza 
  • Precisione 
  • Richiamo 
  • Punteggio F1
  • Matrice di confusione
  • Curva ROC

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.

Accuratezza

L'accuratezza è il rapporto tra i veri positivi e tutte le previsioni nel set di dati. Misura la frequenza con cui un modello di machine learning prevede correttamente un risultato, in questo caso la classe giusta per un punto dati. 

La precisione offre una panoramica di alto livello delle prestazioni di un modello, ma non rivela se un modello è migliore nel prevedere determinate classi rispetto ad altre. Nei casi in cui i set di dati sono altamente sbilanciati, concentrarsi sull'accuratezza può portare un modello a ignorare tutti i set di dati più piccoli e a prevedere tutti i risultati come classe maggioritaria. In questa situazione, la precisione complessiva sarà comunque elevata. 

Un filtro antispam avrebbe un'elevata precisione se la maggior parte delle sue ipotesi fossero corrette, anche se non rileva la maggior parte delle e-mail di spam effettive. 

Precisione

La precisione, o valore previsto positivo (PPV), è la percentuale di previsioni di classe positive che appartengono alla classe specificata. La precisione rivela se un modello esegue correttamente la stima per la classe target, rendendolo utile per attività di classificazione non bilanciate o quando il costo dei falsi positivi è elevato. 

In un filtro antispam, la precisione indica quante delle e-mail di spam rilevate sono spam. I modelli che classificano erroneamente i dati come falsi positivi hanno una precisione bassa, mentre i modelli con un numero inferiore di falsi positivi hanno una precisione elevata.10

Formula di precisione

Richiamo

Il richiamo, noto anche come sensibilità o tasso di veri positivi (TPR), indica la percentuale di istanze di classe rilevate da un modello. Il richiamo mostra la frequenza con cui un modello rileva i membri della classe target nel set di dati. Per un filtro antispam, il richiamo mostra la quantità effettiva di spam che il modello identifica come spam.11

F1 score

Precisione e richiamo condividono una relazione inversa. Via via che un classificatore restituisce più veri positivi con un maggiore richiamo, può classificare erroneamente le non istanze, generando falsi positivi e diminuendo la precisione. Il punteggio F1 risolve questo compromesso combinando precisione e richiamo per rappresentare l'accuratezza totale di un modello in termini di classe.12

Formula di F-score

Visualizzazione dei dati e valutazione del modello

Gli strumenti di visualizzazione dei dati aiutano a illustrare i risultati dell'analisi dei dati. I data scientist e i ricercatori nel campo del machine learning usano due strumenti principali per visualizzare le prestazioni dei classificatori: 

  • La matrice di confusione, una tabella che mostra i valori previsti rispetto a quelli reali. 

  • La curva ROC, un grafico che rappresenta la proporzione tra veri positivi e veri negativi.

Matrice di confusione

La matrice di confusione è una tabella che rappresenta sia i valori previsti che quelli effettivi di una classe. Le caselle della matrice rappresentano i numeri di veri positivi, falsi positivi, falsi negativi e veri negativi. Il totale di questi valori è il numero totale di previsioni del modello.13

esempio di matrice di confusione binaria

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 affidabilità più alto rispetto a un negativo casuale. I valori AUC vanno da 0 a 1. Un punteggio pari a 0 indica che il modello assegna un punteggio a tutti i negativi con probabilità più elevate rispetto ai positivi, mentre 1 indica che il modello assegna un punteggio a tutti i positivi con una probabilità più elevata.14

Soluzioni correlate
IBM watsonx.ai

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.

Scopri watsonx.ai
Soluzioni di intelligenza artificiale

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.

Esplora le soluzioni AI
Consulenza e servizi sull'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.

Esplora i servizi AI
Fai il passo successivo

Ottieni l'accesso completo a funzionalità che coprono l'intero ciclo di vita dello sviluppo dell'AI. Crea soluzioni AI all'avanguardia con interfacce intuitive, workflow e accesso alle API e agli SDK standard di settore.

Esplora watsonx.ai Prenota una demo live
Note a piè di pagina

1. Chris Drummond, “Classification,” Encyclopedia of Machine Learning and Data Mining, Springer, 2017.

2. Jaiwei Han, Micheline Kamber, and Jian Pei, Data Mining: Concepts and Techniques, 3rd edition, Morgan Kaufman, 2012.

3. Max Kuhn and Kjell Johnson, Applied Predictive Modeling, Springer, 2016.

4. Max Kuhn and Kjell Johnson, Applied Predictive Modeling, Springer, 2016. Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani, and Jonathan Taylor, An Introduction to Statistical Learning with Applications in Python, Springer, 2023

5. 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, and Yuli Y. Kim, "Prevalence and Correlates of Post-traumatic Stress Disorder in Adults With Congenital Heart Disease," The American Journal of Cardiology, Vol. 117, No. 5, 2016, pp. 853-857, https://www.sciencedirect.com/science/article/abs/pii/S0002914915023590

6. Max Kuhn and Kjell Johnson, Applied Predictive Modeling, Springer, 2016. Kevin Murphy, Machine Learning: A Probabilistic Perspective, MIT Press, 2012.

7. Ville Hyvönen, Elias Jääsaari, Teemu Roos, “A Multilabel Classification Framework for Approximate Nearest Neighbor Search,” Journal of Machine Learning Research, Vol. 25, No. 46, 2024, pp. 1−51, https://www.jmlr.org/papers/v25/23-0286.html  

8. Max Kuhn and Kjell Johnson, Applied Predictive Modeling, Springer, 2016. William Bolstad and James Curran, Introduction to Bayesian Statistics, 3rd edition, Wiley, 2016.

9. Daniel Jurafsky and James Martin, Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition, 3rd edition, 2023.

10. Ethan Zhang and Yi Zhang, “Precision,” Encyclopedia of Database Systems, Springer, 2018.

11. Ethan Zhang and Yi Zhang, “Recall,” Encyclopedia of Database Systems, Springer, 2018.

12. Ben Carterette, “Precision and Recall,” Encyclopedia of Database Systems, Springer, 2018.

13. Kai Ming Ting, “Confusion matrix,” Encyclopedia of Machine Learning and Data Mining, Springer, 2017.

14. Peter Flach, “ROC Analysis,” Encyclopedia of Machine Learning and Data Mining, Springer, 2017.