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


Среднеквадратическая ошибка (MSE) — это распространенный способ измерения точности предсказания модели. Он рассчитывается как:

MSE = (1/n) * Σ(фактическое – прогноз) 2

куда:

  • Σ — причудливый символ, означающий «сумма».
  • n – размер выборки
  • фактический – фактическое значение данных
  • прогноз – прогнозируемое значение данных

Чем ниже значение MSE, тем лучше модель способна точно предсказывать значения.

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

Мы можем создать простую функцию для вычисления MSE в Python:

import numpy as np

def mse(actual, pred): 
 actual, pred = np.array(actual), np.array(pred)
 return np.square(np.subtract(actual,pred)).mean()

Затем мы можем использовать эту функцию для вычисления MSE для двух массивов: одного, содержащего фактические значения данных, и другого, содержащего прогнозируемые значения данных.

actual = [12, 13, 14, 15, 15, 22, 27]
pred = [11, 13, 14, 14, 15, 16, 18]

mse(actual, pred)

17.0

Среднеквадратическая ошибка (MSE) для этой модели оказывается равной 17,0 .

На практике среднеквадратическая ошибка (RMSE) чаще используется для оценки точности модели. Как следует из названия, это просто квадратный корень из среднеквадратичной ошибки.

Мы можем определить аналогичную функцию для вычисления RMSE:

import numpy as np

def rmse(actual, pred): 
 actual, pred = np.array(actual), np.array(pred)
 return np.sqrt(np.square(np.subtract(actual,pred)).mean())

Затем мы можем использовать эту функцию для вычисления RMSE для двух массивов: одного, содержащего фактические значения данных, и другого, содержащего прогнозируемые значения данных.

actual = [12, 13, 14, 15, 15, 22, 27]
pred = [11, 13, 14, 14, 15, 16, 18]

rmse(actual, pred)

4.1231

Среднеквадратическая ошибка (RMSE) для этой модели оказывается равной 4,1231 .

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

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