Mått
Vid modellbygge behöver vi en metrisk som mäter hur väl modellen passar data. En metrisk ger ett numeriskt värde som beskriver modellens prestanda. I detta kapitel fokuserar vi på de vanligaste metoderna.
Vi kommer att använda följande notation:
Vi är redan bekanta med en metrisk, SSR (Sum of Squared Residuals), som vi minimerade för att identifiera de optimala parametrarna.
Med vår notation kan vi uttrycka formeln för SSR enligt följande:
eller lika med:
Detta mått fungerade endast när modeller använde samma antal datapunkter. Det visar inte hur väl en modell faktiskt presterar. Föreställ dig två modeller som tränats på dataset av olika storlek.
Den första modellen passar bättre visuellt men har ett högre SSR eftersom den har fler punkter, så summan ökar även med mindre genomsnittliga residualer. Att använda medelvärdet av kvadrerade residualer löser detta — Mean Squared Error (MSE).
MSE
eller lika med:
Beräkna MSE med NumPy:
mse = np.mean((y_true - y_pred)**2)
Eller Scikit-learn:
from sklearn.metrics import mean_squared_error
mse = mean_squared_error(y_true, y_pred)
MSE är kvadrerad, vilket gör tolkningen svårare. Om MSE är 49 dollar² vill vi ha felet i dollar. Att ta roten ger 7 — Root Mean Squared Error (RMSE).
RMSE
Beräkna RMSE med:
rmse = np.sqrt(np.mean((y_true - y_pred)**2))
Eller Scikit-learn:
rmse = mean_squared_error(y_true, y_pred, squared=False)
MAE
Istället för att kvadrera residualerna kan vi ta deras absolutbelopp — detta ger Mean Absolute Error (MAE).
eller lika
MAE beter sig likt MSE men hanterar stora fel mer varsamt. Eftersom den använder absolutvärden är den mer robust mot avvikare, vilket gör den användbar när extrema värden snedvrider datamängden.
Beräkna MAE:
mae = np.mean(np.fabs(y_true - y_pred))
Eller:
from sklearn.metrics import mean_absolute_error
mae = mean_absolute_error(y_true, y_pred)
SSR hjälpte oss att härleda den normala ekvationen, men vilken metrisk som helst kan användas vid jämförelse av modeller.
SSR, MSE och RMSE rankar alltid modeller på samma sätt, medan MAE kan föredra en annan eftersom den straffar stora fel mindre. Du bör välja en metrisk i förväg och optimera specifikt för den.
Nu kan du säkert avgöra att den andra modellen är bättre eftersom alla dess metriska värden är lägre. Dock betyder inte alltid lägre metriska värden att modellen är bättre.
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Awesome!
Completion rate improved to 5.26
Mått
Svep för att visa menyn
Vid modellbygge behöver vi en metrisk som mäter hur väl modellen passar data. En metrisk ger ett numeriskt värde som beskriver modellens prestanda. I detta kapitel fokuserar vi på de vanligaste metoderna.
Vi kommer att använda följande notation:
Vi är redan bekanta med en metrisk, SSR (Sum of Squared Residuals), som vi minimerade för att identifiera de optimala parametrarna.
Med vår notation kan vi uttrycka formeln för SSR enligt följande:
eller lika med:
Detta mått fungerade endast när modeller använde samma antal datapunkter. Det visar inte hur väl en modell faktiskt presterar. Föreställ dig två modeller som tränats på dataset av olika storlek.
Den första modellen passar bättre visuellt men har ett högre SSR eftersom den har fler punkter, så summan ökar även med mindre genomsnittliga residualer. Att använda medelvärdet av kvadrerade residualer löser detta — Mean Squared Error (MSE).
MSE
eller lika med:
Beräkna MSE med NumPy:
mse = np.mean((y_true - y_pred)**2)
Eller Scikit-learn:
from sklearn.metrics import mean_squared_error
mse = mean_squared_error(y_true, y_pred)
MSE är kvadrerad, vilket gör tolkningen svårare. Om MSE är 49 dollar² vill vi ha felet i dollar. Att ta roten ger 7 — Root Mean Squared Error (RMSE).
RMSE
Beräkna RMSE med:
rmse = np.sqrt(np.mean((y_true - y_pred)**2))
Eller Scikit-learn:
rmse = mean_squared_error(y_true, y_pred, squared=False)
MAE
Istället för att kvadrera residualerna kan vi ta deras absolutbelopp — detta ger Mean Absolute Error (MAE).
eller lika
MAE beter sig likt MSE men hanterar stora fel mer varsamt. Eftersom den använder absolutvärden är den mer robust mot avvikare, vilket gör den användbar när extrema värden snedvrider datamängden.
Beräkna MAE:
mae = np.mean(np.fabs(y_true - y_pred))
Eller:
from sklearn.metrics import mean_absolute_error
mae = mean_absolute_error(y_true, y_pred)
SSR hjälpte oss att härleda den normala ekvationen, men vilken metrisk som helst kan användas vid jämförelse av modeller.
SSR, MSE och RMSE rankar alltid modeller på samma sätt, medan MAE kan föredra en annan eftersom den straffar stora fel mindre. Du bör välja en metrisk i förväg och optimera specifikt för den.
Nu kan du säkert avgöra att den andra modellen är bättre eftersom alla dess metriska värden är lägre. Dock betyder inte alltid lägre metriska värden att modellen är bättre.
Tack för dina kommentarer!