如何在python中找到对称均值绝对误差?

sto*_*ock 5 python statistics numpy pandas scikit-learn

如何使用numpy或pandas计算python中的对称平均绝对误差?scikit sklearn中是否存在度量标准?

示例数据:

Actual value:   2,3,4,5,6,7,8,9
Forecast value: 1,3,5,4,6,7,10,7
Run Code Online (Sandbox Code Playgroud)

SMAPE的公式见下面的截图:

在此输入图像描述

如何使用pandas或numpy在python中完成它并计算SMAPE.

注意:有关SMAPE的更多信息:https://en.wikipedia.org/wiki/Symmetric_mean_absolute_percentage_error

blu*_*ote 13

将等式转换为numpy非常简单

import numpy as np

def smape(A, F):
    return 100/len(A) * np.sum(2 * np.abs(F - A) / (np.abs(A) + np.abs(F)))

A = np.array([2,3,4,5,6,7,8,9])
F = np.array([1,3,5,4,6,7,10,7])
print(smape(A, F))
Run Code Online (Sandbox Code Playgroud)

  • 也是为了避免可能的被零除.finfo(float).eps`。我只是为某种正则化添加`epsilon`值。 (3认同)