计算均方根误差并获得 Python 中的 3D 数组

Compute Root Mean Squared Error and obtain a 3D array in Python

我有两个 3d 数组 A A.shape=[335,71,57] 和 B B.shape=[335,71,57],我用这种方式计算它们之间的 RMSE

rmse=sqrt(mean_squared_error(A,B))

当然,我得到了一个标量。怎么才能写出rmse.shape=[335,71,57]这样的另一个3维数组呢?实际上,我需要为数组中的每个位置获取一个 rmse 值。

谢谢

举个例子:

A = np.random.rand(10,10,10)
B = np.random.rand(10,10,10)
mse = ((A-B)**2)
rmse = np.sqrt(mse)

第三行将得到每个元素的平方误差,最后一行将得到每个元素的根。

请注意,您要查找的不是 MSE,因为 MSE 是平方误差的平均值,而您要查找的是每一项。

通过添加 mse = mse.mean(axis=ax),您可以在您选择的轴上获得平均值(在取根之前)。

例如:

A = np.random.rand(10,10,10)
B = np.random.rand(10,10,10)
mse = ((A-B)**2).mean(axis=0)
rmse = np.sqrt(mse)

将采用每行 RMSE。