Какие метрики регрессии вы знаете?

«Какие метрики регрессии вы знаете?» — вопрос из категории Метрики и функции потерь, который задают на 62% собеседований Data Scientist / ML Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Выбор метрики зависит от цели модели и природы ошибок. Вот ключевые метрики с их применением:

  1. 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)
  2. 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)
  3. R² (Коэффициент детерминации):

    • Формула: (R^2 = 1 - frac{SS{res}}{SS{tot}}), где (SS{res}) — сумма квадратов остатков, (SS{tot}) — общая сумма квадратов.
    • Когда использовать: Для сравнения моделей на одном наборе данных. Показывает, какую долю дисперсии целевой переменной объясняет модель. Может быть отрицательным для плохих моделей.
  4. MAPE (Mean Absolute Percentage Error):

    • Когда использовать: Для бизнес-отчетности, где ошибку нужно выражать в процентах. Нестабилен при значениях, близких к нулю.
  5. MSLE (Mean Squared Logarithmic Error):

    • Когда использовать: Когда целевая переменная имеет большой диапазон (например, прогнозирование цен), и мы хотим одинаково учитывать относительные ошибки для малых и больших значений.

На практике я часто отслеживаю несколько метрик: например, RMSE как основную и для сравнения с бейзлайном.