计算均方根误差,在Python中得到一个3D数组



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

rmse=sqrt(mean_squared_error(A,B))

,当然,我得到一个标量。怎么写才能得到rmse.shape=[335,71,57]所以另一个三维数组?在实践中,我需要为数组中的每个位置获取一个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。

最新更新