Какие знаешь метрики регрессии
Метрики регрессии — это числовые показатели, которые оценивают качество модели, предсказывающей непрерывную целевую переменную. Основные метрики: MAE, MSE, RMSE, R², MAPE и MSLE. Выбор конкретной метрики зависит от задачи: нужно ли штрафовать большие ошибки, насколько важна интерпретируемость и устойчивость к выбросам.
Основные метрики
MAE (Mean Absolute Error)
Средняя абсолютная ошибка — это среднее модулей разностей между фактическими и предсказанными значениями. Она интерпретируема: показывает среднюю ошибку в единицах целевой переменной. MAE устойчива к выбросам, так как не возводит ошибки в квадрат.
from sklearn.metrics import mean_absolute_error
mae = mean_absolute_error(y_true, y_pred)MSE (Mean Squared Error)
Средняя квадратичная ошибка — среднее квадратов разностей. Сильно штрафует большие отклонения, поэтому чувствительна к выбросам. Используется, когда большие ошибки недопустимы.
from sklearn.metrics import mean_squared_error
mse = mean_squared_error(y_true, y_pred)RMSE (Root Mean Squared Error)
Корень из MSE. Возвращает ошибку в тех же единицах, что и целевая переменная, что упрощает интерпретацию. Сохраняет чувствительность к выбросам.
from sklearn.metrics import mean_squared_error
rmse = mean_squared_error(y_true, y_pred, squared=False)R² (R-squared, коэффициент детерминации)
Доля дисперсии целевой переменной, объяснённая моделью. Принимает значения от −∞ до 1. 1 — идеальное предсказание, 0 — модель не лучше константного прогноза (среднего). Отрицательные значения означают, что модель хуже простого среднего.
from sklearn.metrics import r2_score
r2 = r2_score(y_true, y_pred)MAPE (Mean Absolute Percentage Error)
Средняя абсолютная процентная ошибка. Выражает ошибку в процентах, что удобно для бизнес-интерпретации. Недостаток: не определена при нулевых фактических значениях и асимметрична (сильнее штрафует переоценку).
import numpy as np
mape = np.mean(np.abs((y_true - y_pred) / y_true)) * 100MSLE (Mean Squared Log Error)
MSE, вычисленная в логарифмической шкале. Сглаживает влияние больших значений, полезна, когда целевая переменная варьируется на порядки (например, цены на недвижимость).
from sklearn.metrics import mean_squared_log_error
msle = mean_squared_log_error(y_true, y_pred)Как выбрать метрику
Выбор метрики определяется бизнес-задачей и свойствами данных:
- MSE/RMSE — когда большие ошибки критичны и их нужно сильно штрафовать.
- MAE — когда нужна робастность к выбросам и простая интерпретация.
- R² — для сравнения моделей и оценки объяснённой дисперсии.
- MAPE — для отчётов бизнесу, где важна процентная ошибка.
- MSLE — при логарифмическом распределении целевой переменной.
Подводные камни
- Выбросы: MSE и RMSE сильно зависят от выбросов, MAE — устойчивее.
- Нулевые значения: MAPE не работает при y_true = 0.
- Масштаб: MAE и RMSE зависят от масштаба целевой переменной, поэтому их нельзя сравнивать между разными задачами.
- R²: может быть отрицательным, что указывает на плохую модель.
- MSLE: не подходит, если целевая переменная содержит отрицательные значения.
Коротко
- Основные метрики: MAE, MSE, RMSE, R², MAPE, MSLE.
- MSE/RMSE штрафуют большие ошибки, MAE устойчива к выбросам.
- R² показывает долю объяснённой дисперсии, MAPE — процентную ошибку.
- Выбор метрики зависит от задачи и свойств данных.
