Import mean absolute error
В статистике средняя абсолютная ошибка (MAE) — это способ измерения точности данной модели. Он рассчитывается как:
MAE = (1/n) * Σ|y i – x i |
куда:
Σ: греческий символ, означающий «сумма».
y i : Наблюдаемое значение для i -го наблюдения
x i : Прогнозируемое значение для i -го наблюдения
n: общее количество наблюдений
Мы можем легко вычислить среднюю абсолютную ошибку в Python, используя функцию mean_absolute_error() из Scikit-learn.
В этом руководстве представлен пример использования этой функции на практике.
Пример: вычисление средней абсолютной ошибки в Python
Предположим, у нас есть следующие массивы фактических значений и прогнозируемых значений в Python:
actual = [12, 13, 14, 15, 15, 22, 27]
pred = [11, 13, 14, 14, 15, 16, 18]
Следующий код показывает, как вычислить среднюю абсолютную ошибку для этой модели:
from sklearn. metrics import mean_absolute_error as mae
#calculate MAE
mae(actual, pred)
2.4285714285714284
Средняя абсолютная ошибка (MAE) оказывается равной 2,42857 .
Это говорит нам о том, что средняя разница между фактическим значением данных и значением, предсказанным моделью, составляет 2,42857.
Мы можем сравнить эту MAE с MAE, полученной с помощью других моделей прогнозирования, чтобы увидеть, какие модели работают лучше всего.
Чем ниже MAE для данной модели, тем точнее модель способна предсказать фактические значения.
Примечание.Массив фактических значений и массив прогнозируемых значений должны иметь одинаковую длину, чтобы эта функция работала правильно.
Метод 1: использование реальных формул
Средняя абсолютная ошибка (MAE) рассчитывается путем суммирования абсолютной разницы между фактическими и расчетными значениями каждого наблюдения по всему массиву, а затем деления полученной суммы на количество наблюдений в массиве.
Пример:
# Python program for calculating Mean Absolute Error
# consider a list of integers for actual
actual = [2, 3, 5, 5, 9]
# consider a list of integers for actual
calculated = [3, 3, 8, 7, 6]
n = 5
sum = 0
# for loop for iteration
for i in range(n):
sum += abs(actual[i] – calculated[i])
error = sum/n
# display
print(“Mean absolute error : ” + str(error))
Вывод
Средняя абсолютная ошибка: 1.8
Метод 2: использование sklearn
модуль sklearn.metrics в python содержит функции для вычисления ошибок для разных целей. Он предоставляет метод с именем mean_absolute_error() для вычисления средней абсолютной ошибки заданных массивов.
Синтаксис:
значение абсолютной ошибки (фактическое, вычисленное)
где
фактический – массив фактических значений в качестве первого аргумента
вычисляемый – массив предсказанных / вычисленных значений в качестве второго аргумента
Он вернет среднюю абсолютную ошибку заданных массивов.
Пример:
# Python program for calculating Mean Absolute
# Error using sklearn
# import the module
from sklearn.metrics import mean_absolute_error as mae
# list of integers of actual and calculated
actual = [2, 3, 5, 5, 9]
calculated = [3, 3, 8, 7, 6]
# calculate MAE
error = mae(actual, calculated)
# display
print(“Mean absolute error : ” + str(error))
Вывод
Средняя абсолютная ошибка: 1.8