La classificazione è un approccio di apprendimento automatico supervisionato, in cui l’algoritmo impara dai dati di input forniti – e poi usa questo apprendimento per classificare le nuove osservazioni.
In altre parole, il set di dati di training è impiegato per ottenere migliori condizioni di confine che possono essere usate per determinare ogni classe target; una volta che tali condizioni di confine sono determinate, il prossimo compito è prevedere la classe target.
I classificatori binari lavorano con solo due classi o possibili risultati (esempio: sentimento positivo o negativo; se il prestatore pagherà o meno il prestito; ecc), e i classificatori multiclasse lavorano con più classi (esempio: a quale paese appartiene una bandiera, se un’immagine è una mela o una banana o un’arancia; ecc). Multiclasse presuppone che ogni campione sia assegnato a una e una sola etichetta.
Uno dei primi algoritmi popolari per la classificazione nell’apprendimento automatico è stato Naive Bayes, un classificatore probabilistico ispirato al teorema di Bayes (che ci permette di fare deduzioni ragionate su eventi che accadono nel mondo reale sulla base della conoscenza preliminare di osservazioni che possono implicarlo). Il nome (“Naive”) deriva dal fatto che l’algoritmo assume che gli attributi siano condizionatamente indipendenti.
L’algoritmo è semplice da implementare e di solito rappresenta un metodo ragionevole per iniziare gli sforzi di classificazione. Può facilmente scalare a grandi insiemi di dati (richiede un tempo lineare rispetto all’approssimazione iterativa, utilizzata per molti altri tipi di classificatori, che è più costosa in termini di risorse di calcolo) e richiede una piccola quantità di dati di allenamento.
Tuttavia, Naive Bayes può soffrire di un problema noto come ‘problema della probabilità zero’, quando la probabilità condizionata è zero per un particolare attributo, non riuscendo a fornire una previsione valida. Una soluzione è quella di sfruttare una procedura di smoothing (es: metodo Laplace).