Metriche
Scorri per mostrare il menu
Quando si costruisce un modello, è necessario un indicatore che misuri quanto bene si adatta ai dati. Una metrica fornisce un punteggio numerico che descrive le prestazioni del modello. In questo capitolo ci concentriamo sulle più comuni.
Utilizzeremo la seguente notazione:
Siamo già familiari con una metrica, SSR (Somma dei Residui Quadrati), che abbiamo minimizzato per identificare i parametri ottimali.
Utilizzando la nostra notazione, possiamo esprimere la formula per SSR come segue:
oppure, in modo equivalente:
Questa metrica funziona solo quando i modelli utilizzano lo stesso numero di punti dati. Non mostra quanto bene un modello si comporti realmente. Immagina due modelli addestrati su set di dati di dimensioni diverse.
Il primo modello si adatta meglio visivamente ma presenta un SSR più alto perché ha più punti, quindi la somma aumenta anche con residui medi più piccoli. Utilizzare la media dei residui quadratici risolve questo problema — il Mean Squared Error (MSE).
MSE
oppure, in modo equivalente:
Calcolo dell'MSE utilizzando NumPy:
mse = np.mean((y_true - y_pred)**2)
Oppure Scikit-learn:
from sklearn.metrics import mean_squared_error
mse = mean_squared_error(y_true, y_pred)
L'MSE è elevato al quadrato, il che rende l'interpretazione più difficile. Se l'MSE è 49 dollari², si desidera l'errore in dollari. Prendendo la radice quadrata si ottiene 7 — il Root Mean Squared Error (RMSE).
RMSE
Calcolo dell'RMSE utilizzando:
rmse = np.sqrt(np.mean((y_true - y_pred)**2))
Oppure con Scikit-learn:
rmse = mean_squared_error(y_true, y_pred, squared=False)
MAE
Invece di elevare al quadrato i residui, possiamo prenderne il valore assoluto — questo fornisce il Mean Absolute Error (MAE).
oppure in modo equivalente
MAE si comporta come MSE ma tratta gli errori grandi in modo più delicato. Poiché utilizza i valori assoluti, è più robusto agli outlier, risultando utile quando valori estremi alterano il dataset.
Calcolo di MAE:
mae = np.mean(np.fabs(y_true - y_pred))
Oppure:
from sklearn.metrics import mean_absolute_error
mae = mean_absolute_error(y_true, y_pred)
SSR ci ha aiutato a derivare l'Equazione Normale, ma qualsiasi metrica può essere utilizzata per confrontare i modelli.
SSR, MSE e RMSE classificano sempre i modelli nello stesso modo, mentre MAE potrebbe preferirne uno diverso perché penalizza meno gli errori grandi. È consigliabile scegliere una metrica in anticipo e ottimizzare specificamente per essa.
Ora puoi sicuramente affermare che il secondo modello è migliore poiché tutte le sue metriche sono più basse. Tuttavia, metriche più basse non significano sempre che il modello sia migliore.
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
Metriche
Quando si costruisce un modello, è necessario un indicatore che misuri quanto bene si adatta ai dati. Una metrica fornisce un punteggio numerico che descrive le prestazioni del modello. In questo capitolo ci concentriamo sulle più comuni.
Utilizzeremo la seguente notazione:
Siamo già familiari con una metrica, SSR (Somma dei Residui Quadrati), che abbiamo minimizzato per identificare i parametri ottimali.
Utilizzando la nostra notazione, possiamo esprimere la formula per SSR come segue:
oppure, in modo equivalente:
Questa metrica funziona solo quando i modelli utilizzano lo stesso numero di punti dati. Non mostra quanto bene un modello si comporti realmente. Immagina due modelli addestrati su set di dati di dimensioni diverse.
Il primo modello si adatta meglio visivamente ma presenta un SSR più alto perché ha più punti, quindi la somma aumenta anche con residui medi più piccoli. Utilizzare la media dei residui quadratici risolve questo problema — il Mean Squared Error (MSE).
MSE
oppure, in modo equivalente:
Calcolo dell'MSE utilizzando NumPy:
mse = np.mean((y_true - y_pred)**2)
Oppure Scikit-learn:
from sklearn.metrics import mean_squared_error
mse = mean_squared_error(y_true, y_pred)
L'MSE è elevato al quadrato, il che rende l'interpretazione più difficile. Se l'MSE è 49 dollari², si desidera l'errore in dollari. Prendendo la radice quadrata si ottiene 7 — il Root Mean Squared Error (RMSE).
RMSE
Calcolo dell'RMSE utilizzando:
rmse = np.sqrt(np.mean((y_true - y_pred)**2))
Oppure con Scikit-learn:
rmse = mean_squared_error(y_true, y_pred, squared=False)
MAE
Invece di elevare al quadrato i residui, possiamo prenderne il valore assoluto — questo fornisce il Mean Absolute Error (MAE).
oppure in modo equivalente
MAE si comporta come MSE ma tratta gli errori grandi in modo più delicato. Poiché utilizza i valori assoluti, è più robusto agli outlier, risultando utile quando valori estremi alterano il dataset.
Calcolo di MAE:
mae = np.mean(np.fabs(y_true - y_pred))
Oppure:
from sklearn.metrics import mean_absolute_error
mae = mean_absolute_error(y_true, y_pred)
SSR ci ha aiutato a derivare l'Equazione Normale, ma qualsiasi metrica può essere utilizzata per confrontare i modelli.
SSR, MSE e RMSE classificano sempre i modelli nello stesso modo, mentre MAE potrebbe preferirne uno diverso perché penalizza meno gli errori grandi. È consigliabile scegliere una metrica in anticipo e ottimizzare specificamente per essa.
Ora puoi sicuramente affermare che il secondo modello è migliore poiché tutte le sue metriche sono più basse. Tuttavia, metriche più basse non significano sempre che il modello sia migliore.
Grazie per i tuoi commenti!