Метрики регрессии

Привет! Сегодня я расскажу тебе о важных метриках, которые используются для оценки качества моделей регрессии: MAE, MSE, RMSE и R^2. Давай разберемся, что они означают, как считаются и когда лучше применять каждую из них. Я также приведу примеры расчета этих метрик на Python.

Метрики регрессии
Краткое содержание

Что такое MAE, MSE, RMSE и R^2?

MAE (Mean Absolute Error) - средняя абсолютная ошибка. Она показывает среднее абсолютное отклонение предсказанных значений от фактических.

MAE легко интерпретировать, так как она измеряется в тех же единицах, что и целевая переменная.

MSE (Mean Squared Error) - средняя квадратичная ошибка. MSE возводит в квадрат разницу между предсказанными и фактическими значениями, а затем усредняет результат. Из-за возведения в квадрат MSE сильнее штрафует большие ошибки.

RMSE (Root Mean Squared Error) - корень из средней квадратичной ошибки. RMSE является квадратным корнем из MSE. Интерпретировать RMSE проще, чем MSE, так как RMSE измеряется в тех же единицах, что и целевая переменная

R^2 (R-квадрат) - коэффициент детерминации. Он показывает долю дисперсии целевой переменной, которая может быть объяснена признаками модели. R^2 принимает значения от 0 до 1, где 1 означает идеальное соответствие модели данным.

Когда использовать MAE, MSE, RMSE или R^2?

  • MAE лучше использовать, когда выбросы не так критичны, так как MAE менее чувствительна к ним, чем MSE и RMSE.
  • MSE и RMSE хорошо подходят, когда нужно сильнее штрафовать большие ошибки. Но интерпретировать их сложнее из-за возведения в квадрат.
  • R^2 удобно использовать для сравнения моделей между собой. Чем ближе R^2 к 1, тем лучше модель соответствует данным. Но при этом R^2 не говорит о величине ошибки.

Примеры расчета метрик на Python

Допустим, у нас есть массивы y_true (фактические значения) и y_pred (предсказанные значения). Вот как можно посчитать метрики:

from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score

mae = mean_absolute_error(y_true, y_pred)
mse = mean_squared_error(y_true, y_pred) 
rmse = mean_squared_error(y_true, y_pred, squared=False)  
r2 = r2_score(y_true, y_pred)

Здесь мы импортируем нужные функции из модуля sklearn.metrics и передаем в них фактические и предсказанные значения. Для расчета RMSE используем параметр squared=False.

Надеюсь, теперь тебе стало понятнее, что представляют собой метрики регрессии MAE, MSE, RMSE и R^2, в чем их особенности и как их можно вычислить на Python. Если остались вопросы - спрашивайте!

Nerd IT 🌀 ML, DS, ANN, GPT
Привет! Меня зовут Семён, я работаю в сфере ML и аналитики данных и пишу в блог nerdit.ru статьи о своем опыте и том, что может пригодиться начинающим в начале их пути изучения больших данных.

Подписаться на новости Nerd IT

Не пропустите последние выпуски. Зарегистрируйтесь сейчас, чтобы получить полный доступ к статьям.
jamie@example.com
Подписаться