我有两个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。