R-Quadro
Scorri per mostrare il menu
Cos'è R-quadro
Abbiamo già trattato MSE, RMSE e MAE. Questi aiutano a confrontare i modelli, ma un singolo punteggio è difficile da valutare senza contesto. Potresti non sapere se il valore è “abbastanza buono” per il tuo dataset.
R-quadro risolve questo problema misurando quanta parte della varianza del target viene spiegata dal modello. Il suo valore varia da 0 a 1, rendendo l'interpretazione immediata.
Il problema è che non possiamo calcolare subito 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):
Nell'esempio, le differenze tra i valori reali e la media del target (linee arancioni) vengono elevate al quadrato e sommate, poi divise per m−1, ottenendo una varianza totale di 11,07.
Varianza non spiegata
Successivamente calcoliamo la varianza che il modello non spiega. Se le previsioni fossero perfette, tutti i punti si troverebbero esattamente sulla retta di regressione. Usiamo la stessa formula della varianza, ma sostituiamo ȳ con i valori previsti.
Ecco un esempio con visualizzazione:
Ora abbiamo 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 anche il valore di R-quadro per un altro modello.
Il valore di R-quadro è più basso poiché il modello sottostima leggermente i dati.
R-quadro in Python
La classe sm.OLS calcola per noi il valore di R-quadro. Possiamo trovarlo nella tabella summary() qui.
R-quadro varia da 0 a 1, e valori più alti sono migliori (a meno che il modello non sia sovradattato). L'output summary() di sm.OLS include il punteggio R-quadro.
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