Ответ
Выбор метрики зависит от цели модели и природы ошибок. Вот ключевые метрики с их применением:
-
MAE (Mean Absolute Error) / L1-норма:
- Формула: (MAE = frac{1}{n}sum|y_i - hat{y}_i|)
- Когда использовать: Когда все ошибки одинаково важны. Робастна к выбросам. Интерпретируема в единицах целевой переменной.
from sklearn.metrics import mean_absolute_error mae = mean_absolute_error(y_true, y_pred)
-
MSE (Mean Squared Error) / L2-норма и RMSE (Root MSE):
- Формула: (MSE = frac{1}{n}sum(y_i - hat{y}_i)^2), (RMSE = sqrt{MSE})
- Когда использовать: Когда большие ошибки недопустимы и должны штрафоваться сильнее (например, прогнозирование спроса). RMSE имеет ту же размерность, что и целевая переменная.
from sklearn.metrics import mean_squared_error mse = mean_squared_error(y_true, y_pred) rmse = np.sqrt(mse)
-
R² (Коэффициент детерминации):
- Формула: (R^2 = 1 - frac{SS{res}}{SS{tot}}), где (SS{res}) — сумма квадратов остатков, (SS{tot}) — общая сумма квадратов.
- Когда использовать: Для сравнения моделей на одном наборе данных. Показывает, какую долю дисперсии целевой переменной объясняет модель. Может быть отрицательным для плохих моделей.
-
MAPE (Mean Absolute Percentage Error):
- Когда использовать: Для бизнес-отчетности, где ошибку нужно выражать в процентах. Нестабилен при значениях, близких к нулю.
-
MSLE (Mean Squared Logarithmic Error):
- Когда использовать: Когда целевая переменная имеет большой диапазон (например, прогнозирование цен), и мы хотим одинаково учитывать относительные ошибки для малых и больших значений.
На практике я часто отслеживаю несколько метрик: например, RMSE как основную и R² для сравнения с бейзлайном.