Differenza tra classificazione e regressione nel machine learning

Differenza tra classificazione e regressione nel machine learning

7 Dicembre 2022 ai 1
differenza tra classificazione e regressione

Esiste una grande differenza tra la classificazione e la regressione.

In sostanza, la classificazione riguarda una categoria che viene affidata a un dato, mentre la regressione è più in grado di prevedere una quantità.

Altro concetto importante da capire per chi si occupa di analisi dati e di statistica è l’accuratezza.

Vedremo qui di seguito come si articolano questi tre concetti per consentire di creare una modellazione predittiva.

Cosa differenzia classificazione e regressione nel machine learning?

Iniziamo dal concetto di modellazione predittiva: questo tipo di modellazione prevede di sviluppare un modello utilizzando dati storici per fare una previsione sul futuro.

La modellazione predittiva si occupa di approssimare una funzione di mappatura (f) dalle variabili di ingresso (X) alle variabili di uscita (y). Questo è il cosiddetto problema dell’approssimazione della funzione.

Il compito dell’algoritmo di modellazione è quello di trovare la migliore funzione di mappatura possibile in base al tempo e alle risorse disponibili.

Per comodità possiamo dividere l’approssimazione in due tipi di funzioni: quelle di classificazione e quelle di regressione.

1) Modellazione predittiva di classificazione

La modellazione predittiva di classificazione consente di approssimare una funzione di mappatura (f) da variabili di ingresso (X) a variabili di uscita discrete (y).

Le variabili di uscita ottenute con la funzione di mappatura sono spesso chiamate “categorie”, e corrispondono a un’osservazione. Un esempio molto comune sono i filtri anti-spam: qui l’email viene classificata in ”spam” oppure “non spam”.

La stessa mail però deve anche essere classificata altrimenti: ad esempio come “urgente”, o come proveniente da una categoria di destinatari (ad esempio “lavoro”).

Un comune problema di classificazione è riuscire a trovare tra diverse classi quella corretta per il nostro campione di dati. Se ad esempio le classi sono due, si parla di problema di classificazione binario (o “a due classi”), mentre parliamo di “problema di classificazione multi-label” quando le classi sono più di due.

Ricordiamo che una classificazione può avere variabili di input reali o discrete.

Se prendiamo una mail, le possono essere assegnate le probabilità 0,1 di essere “spam” e 0,9 di essere “non spam”. Queste probabilità possono diventare un tag di classe: sarà una mail “non spam” in quanto questa probabilità è più alta.

Esistono molti modi per stimare l’abilità di un modello predittivo di classificazione, ma forse il più comune è quello di calcolare l’accuratezza della classificazione, ovvero la percentuale di esempi classificati correttamente su tutte le previsioni effettuate.

Ad esempio, se un modello predittivo di classificazione ha fatto 5 previsioni e 3 di queste erano corrette e 2 errate, l’accuratezza di classificazione del modello basata solo su queste previsioni sarà:

accuratezza = previsioni corrette / previsioni totali * 100

accuratezza = 3 / 5 * 100

accuratezza = 60%

Quando un algoritmo riesce a capire e replicare un modello predittivo di classificazione, allora si parla di “algoritmo di classificazione”.

2) Modellazione predittiva di regressione

Onde evitare errori, precisiamo che quando parliamo di algoritmo di regressione predittiva non parliamo di algoritmi di regressione logistica o regressione lineare. O meglio: la regressione lineare è un algoritmo di regressione mentre la regressione logistica è un algoritmo di classificazione.

In ogni caso: la modellazione predittiva di regressione consiste nell’approssimare una funzione di mappatura (f) dalle variabili di ingresso (X) a una variabile di uscita continua (y).

Una variabile di uscita continua è un valore reale, ad esempio un valore intero, che spesso indica delle quantità o delle dimensioni.

Ad esempio si può stimare come andranno le vendite di un determinato prodotto, basandosi su analisi degli anni precedenti e sull’andamento generale del mercato.

Una regressione può avere variabili di input di valore reale o discreto; quando le variabili sono molte, parliamo di “problema di regressione multivariata”.

Un problema di regressione in cui le variabili di input sono ordinate in base al tempo è chiamato invece problema di previsione delle serie temporali.

Ci sono molti modi per stimare l’abilità di un modello predittivo di regressione, ma forse il più comune è quello di calcolare l’errore quadratico medio (RMSE).

Esempio di RMSE

Se un modello predittivo di regressione fa 2 previsioni, una di 1,5 e il valore atteso è 1,0 e un’altra di 3,3 e il valore atteso è 3,0, l’RMSE sarà:

RMSE = sqrt(media(errore^2))

RMSE = sqrt(((1,0 - 1,5)^2 + (3,0 - 3,3)^2) / 2)

RMSE = sqrt((0,25 + 0,09) / 2)

RMSE = sqrt(0,17)

RMSE = 0,412

Un vantaggio dell’RMSE è che le unità del punteggio dell’errore sono le stesse unità del valore previsto.

Classificazione e Regressione: gli ambiti comuni

La modellazione predittiva di classificazione e quella di regressione sono, come è emerso, molto diverse: la classificazione genera un tag discreto, mentre la regressione prevede una quantità continua.

Ci sono alcuni ambiti comuni, come:

  • Un algoritmo di classificazione può prevedere un valore continuo, ma il valore continuo è sotto forma di probabilità per un’etichetta di classe;
  • Un algoritmo di regressione può prevedere un valore discreto, ma il valore discreto ha la forma di una quantità intera.

Alcuni algoritmi possono essere utilizzati sia per la classificazione che per la regressione con piccole modifiche, come gli alberi decisionali e le reti neurali artificiali. Alcuni algoritmi possono o non possono essere facilmente utilizzati per entrambi i tipi di problemi, come la regressione lineare per la modellazione predittiva della regressione e la regressione logistica per la modellazione predittiva della classificazione.

È possibile convertire dei problemi di classificazione in problemi di regressione?

In alcuni casi, è possibile. Ad esempio, la quantità da prevedere può essere convertita in bucket discreti.

Ad esempio, le quantità in un intervallo continuo compreso tra 0 e 200 possono essere convertite in 4 bucket:

Classe 0: 50

Classe 1: 100

Classe 2: 150

Classe 3: 200

Questa operazione di traduzione di elementi continui in elementi discreti è chiamata discretizzazione: ne risulta una variabile di output che consiste in una classificazione in cui le etichette hanno una relazione ordinata.

In alcuni casi, un problema di classificazione può essere convertito in un problema di regressione. Ad esempio, un’etichetta può essere convertita in un intervallo continuo.

Alcuni algoritmi lo fanno già prevedendo una probabilità per ogni classe, che a sua volta può essere ricondotta a un intervallo specifico. Oppure, i valori delle classi possono essere ordinati e mappati in un intervallo continuo.

Se le etichette delle classi nel problema di classificazione non hanno una relazione ordinale naturale, la conversione da classificazione a regressione può fallire o dar luogo a una prestazione deludente.

 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *