Встречается на 36% собеседований по Data Engineer

Какие знаешь метрики регрессии

Метрики регрессии — это числовые показатели, которые оценивают качество модели, предсказывающей непрерывную целевую переменную. Основные метрики: MAE, MSE, RMSE, R², MAPE и MSLE. Выбор конкретной метрики зависит от задачи: нужно ли штрафовать большие ошибки, насколько важна интерпретируемость и устойчивость к выбросам.

Основные метрики

MAE (Mean Absolute Error)

Средняя абсолютная ошибка — это среднее модулей разностей между фактическими и предсказанными значениями. Она интерпретируема: показывает среднюю ошибку в единицах целевой переменной. MAE устойчива к выбросам, так как не возводит ошибки в квадрат.

python
from sklearn.metrics import mean_absolute_error
mae = mean_absolute_error(y_true, y_pred)

MSE (Mean Squared Error)

Средняя квадратичная ошибка — среднее квадратов разностей. Сильно штрафует большие отклонения, поэтому чувствительна к выбросам. Используется, когда большие ошибки недопустимы.

python
from sklearn.metrics import mean_squared_error
mse = mean_squared_error(y_true, y_pred)

RMSE (Root Mean Squared Error)

Корень из MSE. Возвращает ошибку в тех же единицах, что и целевая переменная, что упрощает интерпретацию. Сохраняет чувствительность к выбросам.

python
from sklearn.metrics import mean_squared_error
rmse = mean_squared_error(y_true, y_pred, squared=False)

R² (R-squared, коэффициент детерминации)

Доля дисперсии целевой переменной, объяснённая моделью. Принимает значения от −∞ до 1. 1 — идеальное предсказание, 0 — модель не лучше константного прогноза (среднего). Отрицательные значения означают, что модель хуже простого среднего.

python
from sklearn.metrics import r2_score
r2 = r2_score(y_true, y_pred)

MAPE (Mean Absolute Percentage Error)

Средняя абсолютная процентная ошибка. Выражает ошибку в процентах, что удобно для бизнес-интерпретации. Недостаток: не определена при нулевых фактических значениях и асимметрична (сильнее штрафует переоценку).

python
import numpy as np
mape = np.mean(np.abs((y_true - y_pred) / y_true)) * 100

MSLE (Mean Squared Log Error)

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

python
from sklearn.metrics import mean_squared_log_error
msle = mean_squared_log_error(y_true, y_pred)

Как выбрать метрику

Выбор метрики определяется бизнес-задачей и свойствами данных:

  • MSE/RMSE — когда большие ошибки критичны и их нужно сильно штрафовать.
  • MAE — когда нужна робастность к выбросам и простая интерпретация.
  • — для сравнения моделей и оценки объяснённой дисперсии.
  • MAPE — для отчётов бизнесу, где важна процентная ошибка.
  • MSLE — при логарифмическом распределении целевой переменной.

Подводные камни

  • Выбросы: MSE и RMSE сильно зависят от выбросов, MAE — устойчивее.
  • Нулевые значения: MAPE не работает при y_true = 0.
  • Масштаб: MAE и RMSE зависят от масштаба целевой переменной, поэтому их нельзя сравнивать между разными задачами.
  • : может быть отрицательным, что указывает на плохую модель.
  • MSLE: не подходит, если целевая переменная содержит отрицательные значения.

Коротко

  • Основные метрики: MAE, MSE, RMSE, R², MAPE, MSLE.
  • MSE/RMSE штрафуют большие ошибки, MAE устойчива к выбросам.
  • R² показывает долю объяснённой дисперсии, MAPE — процентную ошибку.
  • Выбор метрики зависит от задачи и свойств данных.
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы