Как рассчитать RMSE в Python


Среднеквадратическая ошибка (RMSE) — это метрика, которая говорит нам, насколько далеко в среднем наши прогнозируемые значения от наших наблюдаемых значений в модели. Он рассчитывается как:

СКО = √[ Σ(P i – O i ) 2 / n ]

куда:

  • Σ — причудливый символ, означающий «сумма».
  • P i - прогнозируемое значение для i -го наблюдения
  • O i - наблюдаемое значение для i -го наблюдения
  • n - размер выборки

В этом руководстве объясняется простой метод расчета RMSE в Python.

Пример: расчет RMSE в Python

Предположим, у нас есть следующие массивы фактических и прогнозируемых значений:

actual= [34, 37, 44, 47, 48, 48, 46, 43, 32, 27, 26, 24]
pred = [37, 40, 46, 44, 46, 50, 45, 44, 34, 30, 22, 23]

Чтобы вычислить RMSE между фактическими и прогнозируемыми значениями, мы можем просто взять квадратный корень из функции mean_squared_error() из библиотеки sklearn.metrics:

#import necessary libraries
from sklearn.metrics import mean_squared_error
from math import sqrt

#calculate RMSE
sqrt(mean_squared_error(actual, pred)) 

2.4324199198

RMSE оказывается равным 2,4324 .

Как интерпретировать среднеквадратичную ошибку

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

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

Дополнительные ресурсы

Калькулятор среднеквадратичной ошибки
Как рассчитать среднеквадратичную ошибку (MSE) в Python
Как рассчитать MAPE в Python