平均绝对错误 - Python

时间:2015-10-27 03:21:10

标签: python numpy

我是Python新手

我必须实现一个可以计算2个图像之间的MAE的函数

以下是我学到的MAE公式:enter image description here

这是我的代码:

def calculateMAE(imageA, imageB):
    """
    Calculate MAE between 2 images
    np: numpy

    """
    mae = np.sum(imageB.astype("float") - imageA.astype("float"))
    mae /= float(imageA.shape[0] * imageA.shape[1] * 255) 

    if (mae < 0):
        return mae * -1
    else:
        return mae

有谁能告诉我我的功能是否正确? 提前谢谢!

1 个答案:

答案 0 :(得分:10)

平均绝对误差的绝对符号在总和中的每个条目中,因此在总结之后你无法检查mae < 0 - 你需要把它放在总和中!

因此你应该有像

这样的东西
mae = np.sum(np.absolute((imageB.astype("float") - imageA.astype("float")))

np.absolute(matrix)在哪里计算元素的绝对值。