R-Quadro
Cos'è R-quadro
Abbiamo trattato alcune delle metriche più utilizzate per la regressione nel capitolo Metriche. Queste sono MSE, RMSE e MAE. Sono utili per confrontare modelli, ma quando si costruisce un solo modello, non è sempre chiaro se il punteggio ottenuto sia buono per il proprio dataset o se sia necessario continuare a provare altri modelli.
Fortunatamente esiste una metrica chiamata R-quadro che misura le prestazioni del modello su una scala da 0 a 1. R-quadro calcola la proporzione della varianza del target spiegata dal modello.
Il problema è che non possiamo calcolare immediatamente la varianza spiegata. Tuttavia, possiamo calcolare la varianza non spiegata, quindi trasformeremo l'equazione sopra in:
Varianza totale
La varianza totale è semplicemente la varianza del target, e possiamo calcolare la varianza del target utilizzando la formula della varianza campionaria dalla Statistica (ȳ è la media del target):
Ecco un esempio con visualizzazione. Le differenze tra il valore reale del target e la media del target sono colorate in arancione. Proprio come nel calcolo dell'SSR, prendiamo la lunghezza di ogni linea arancione, la eleviamo al quadrato e la sommiamo, ma ora dividiamo anche il risultato per m-1. In questo caso abbiamo ottenuto una varianza totale di 11.07.
Varianza non spiegata
Ora è necessario calcolare la varianza che non è spiegata dal modello. Se il modello spiegasse tutta la varianza, tutti i punti si troverebbero sulla retta di regressione costruita. Questo accade raramente, quindi vogliamo calcolare la varianza del target ma ora rispetto alla retta di regressione invece che alla media. Utilizzeremo la stessa formula ma sostituiremo ȳ con le previsioni del modello.
Ecco un esempio con visualizzazione:
Ora conosciamo tutto il necessario per calcolare l'R-quadro:
Abbiamo ottenuto un valore di R-quadro pari a 0,92, che è vicino a 1, quindi il modello è ottimo. Calcoleremo inoltre l'R-quadro per un altro modello.
Il valore R-quadro è più basso poiché il modello sottostima leggermente i dati.
R-quadro in Python
La classe sm.OLS
calcola per noi il valore R-quadro. Possiamo trovarlo nella tabella summary()
qui.
In sintesi, il valore R-quadro è una metrica per la regressione. Può assumere valori da 0 a 1. A differenza di altre metriche come MSE/MAE, un valore più alto è preferibile (a meno che il modello non sia sovradattato). È possibile trovare il valore R-quadro nella tabella summary()
della classe sm.OLS
.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Can you explain what a good R-squared value is?
How does R-squared compare to other regression metrics like MSE or MAE?
Can R-squared ever be negative?
Awesome!
Completion rate improved to 5.26
R-Quadro
Scorri per mostrare il menu
Cos'è R-quadro
Abbiamo trattato alcune delle metriche più utilizzate per la regressione nel capitolo Metriche. Queste sono MSE, RMSE e MAE. Sono utili per confrontare modelli, ma quando si costruisce un solo modello, non è sempre chiaro se il punteggio ottenuto sia buono per il proprio dataset o se sia necessario continuare a provare altri modelli.
Fortunatamente esiste una metrica chiamata R-quadro che misura le prestazioni del modello su una scala da 0 a 1. R-quadro calcola la proporzione della varianza del target spiegata dal modello.
Il problema è che non possiamo calcolare immediatamente la varianza spiegata. Tuttavia, possiamo calcolare la varianza non spiegata, quindi trasformeremo l'equazione sopra in:
Varianza totale
La varianza totale è semplicemente la varianza del target, e possiamo calcolare la varianza del target utilizzando la formula della varianza campionaria dalla Statistica (ȳ è la media del target):
Ecco un esempio con visualizzazione. Le differenze tra il valore reale del target e la media del target sono colorate in arancione. Proprio come nel calcolo dell'SSR, prendiamo la lunghezza di ogni linea arancione, la eleviamo al quadrato e la sommiamo, ma ora dividiamo anche il risultato per m-1. In questo caso abbiamo ottenuto una varianza totale di 11.07.
Varianza non spiegata
Ora è necessario calcolare la varianza che non è spiegata dal modello. Se il modello spiegasse tutta la varianza, tutti i punti si troverebbero sulla retta di regressione costruita. Questo accade raramente, quindi vogliamo calcolare la varianza del target ma ora rispetto alla retta di regressione invece che alla media. Utilizzeremo la stessa formula ma sostituiremo ȳ con le previsioni del modello.
Ecco un esempio con visualizzazione:
Ora conosciamo tutto il necessario per calcolare l'R-quadro:
Abbiamo ottenuto un valore di R-quadro pari a 0,92, che è vicino a 1, quindi il modello è ottimo. Calcoleremo inoltre l'R-quadro per un altro modello.
Il valore R-quadro è più basso poiché il modello sottostima leggermente i dati.
R-quadro in Python
La classe sm.OLS
calcola per noi il valore R-quadro. Possiamo trovarlo nella tabella summary()
qui.
In sintesi, il valore R-quadro è una metrica per la regressione. Può assumere valori da 0 a 1. A differenza di altre metriche come MSE/MAE, un valore più alto è preferibile (a meno che il modello non sia sovradattato). È possibile trovare il valore R-quadro nella tabella summary()
della classe sm.OLS
.
Grazie per i tuoi commenti!