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

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

Средняя абсолютная ошибка

Средняя абсолютная ошибка — очень интуитивный и простой метод, поэтому он также популярен. Это в основном среднее расстояний между предсказанными и истинными значениями. В основном расстояния между прогнозируемыми и реальными значениями также являются условиями ошибки. Общая ошибка для всех данных представляет собой среднее значение всех условий ошибки прогнозирования. Мы берем абсолютные значения расстояний/ошибок, чтобы отрицательные и положительные термины/ошибки не отменяли друг друга.

Преимущества

  • MAE не чувствителен к выбросам. Используйте MAE, если вы не хотите, чтобы выбросы играли большую роль в расчете ошибки.

Недостатки

  • MAE глобально не дифференцируем. Это неудобно, когда мы используем его в качестве функции потерь из-за метода градиентной оптимизации.

Среднеквадратическая ошибка (MSE)

MSE — одна из широко используемых метрик для задач регрессии. MSE — это мера среднего квадрата расстояния между фактическими значениями и прогнозируемыми значениями. Члены в квадрате помогают также учитывать отрицательные члены и избежать отмены общей ошибки между положительными и отрицательными разностями.

Преимущества

  • График MSE является дифференцируемым, что означает, что его можно легко использовать в качестве функции потерь.
  • MSE можно разложить на квадрат дисперсии и смещения. Это помогает нам понять влияние дисперсии или смещения данных на общую ошибку.

Недостатки

  • Вычисленное значение MSE имеет другую единицу измерения, чем целевая переменная, поскольку оно возведено в квадрат. (Например, метр → метр²)
  • Если в данных есть выбросы, то они приведут к большей ошибке. Следовательно, MSE не устойчив к выбросам (это также может быть преимуществом, если вы хотите наказать выбросы).

Среднеквадратичная ошибка (RMSE)

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

Преимущества

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

Недостатки

  • Как и MSE, RMSE также подвержен выбросам.

R-квадрат

R-квадрат — это другая метрика по сравнению с теми, которые мы обсуждали до сих пор. Он не измеряет напрямую ошибку модели.

R-квадрат оценивает разброс точек данных вокруг подобранной линии регрессии. Это процент изменения целевой переменной, который учитывает модель, по сравнению с фактическим отклонением целевой переменной. Он также известен как «коэффициент детерминации» или качество подгонки.

Как мы видим выше, R-квадрат рассчитывается путем деления суммы квадратов ошибок прогнозов на общую сумму квадратов, где прогнозируемое значение заменяется средним значением реальных значений.

R-квадрат всегда находится в диапазоне от 0 до 1. 0 указывает на то, что модель не объясняет каких-либо изменений целевой переменной вокруг ее среднего значения. Модель регрессии в основном предсказывает среднее значение переменной parget. Значение 1 указывает, что модель объясняет всю дисперсию целевой переменной вокруг ее среднего значения.

Большее значение R-квадрата обычно указывает на то, что модель регрессии лучше соответствует данным. Однако модель с высоким R-квадратом не обязательно означает хорошую модель.

import matplotlib.pyplot as plt
from sklearn.datasets import make_regression
from sklearn.linear_model import LinearRegression
import seaborn as sns; sns.set_theme(color_codes=True)
X, y = make_regression(n_samples = 80, n_features=1,
n_informative=1, bias = 50, noise = 15, random_state=42)

plt.figure()
ax = sns.regplot(x=X,y=y)

model = LinearRegression()
model.fit(X, y)

print('R-squared score: {:.3f}'.format(model.score(X, y)))

X, y = make_regression(n_samples = 80, n_features=1,
       n_informative=1, bias = 50, noise = 200, random_state=42)
plt.figure()
ax = sns.regplot(x=X,y=y)

model = LinearRegression()
model.fit(X, y)
print('R-squared score: {:.3f}'.format(model.score(X, y)))

Преимущества

  • R-квадрат — удобный и интуитивно понятный показатель того, насколько хорошо модель соответствует данным. Следовательно, это хороший показатель для оценки базовой модели. Однако из-за недостатков, которые мы собираемся обсудить сейчас, его следует использовать осторожно.

Недостатки

  • R-квадрат не может определить, являются ли прогнозы предвзятыми, поэтому неплохо дополнительно посмотреть на остаточные графики.
  • R-квадрат не обязательно указывает на то, что модель регрессии хороша. Также возможно иметь низкий показатель R-квадрата для хорошей регрессионной модели и высокий показатель R-квадрата для плохой модели (особенно из-за переобучения).
  • Когда в модель добавляются новые входные переменные (предикторы), R-квадрат будет увеличиваться (поскольку мы добавляем больше дисперсии к данным) независимо от фактического увеличения производительности модели. Он никогда не уменьшается при добавлении новых входных переменных. Таким образом, может показаться, что модель со многими входными переменными имеет лучшую производительность просто потому, что у нее больше входных переменных. Это проблема, которую мы собираемся решить с помощью скорректированного R-квадрата.

По-прежнему можно подогнать хорошую модель к набору данных с большой дисперсией, который, вероятно, будет иметь низкий R-квадрат. Однако это не обязательно означает, что модель плохая, если она все еще способна уловить общую тенденцию в наборе данных и уловить влияние изменения предиктора на целевые переменные. R-квадрат становится большой проблемой, когда мы хотим предсказать целевую переменную с высокой точностью, то есть с небольшим интервалом предсказания.

Высокая оценка R-квадрата также не обязательно означает хорошую модель, поскольку она не способна обнаружить систематическую ошибку. Поэтому хорошей идеей является также проверка остаточных участков. Как мы упоминали ранее, модель с высокой оценкой R-квадрата также может быть переобученной, поскольку она фиксирует большую часть дисперсии данных. Поэтому всегда рекомендуется проверять оценку R-квадрата прогнозов из модели и сравнивать ее с оценкой R-квадрата из обучающих данных.

Если вам это нравится, не стесняйтесь следовать за мной для получения дополнительных бесплатных руководств и курсов по машинному обучению!

Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord.