回答
如@larsmans建议可以使用:
mse = ((A - B) ** 2).mean(axis=ax)
- 与
ax=0
沿着行进行平均,对于每一列,返回一个数组 - 与
ax=1
平均沿着执行列,对于每一行,返回数组 - 与
ax=None
沿着该数组执行元素平均值,返回单个值
如果我错了,但我认为如果你这样做(MatrixA - MatrixB)** 2它会尝试执行矩阵乘法,这与每个元素单独平方不同。如果您尝试对非矩形矩阵使用以下公式,则会引发ValueError。 – renatov
@renatov在Numpy数组中,这个公式将被应用到元素明智的,所以没有矩阵乘法执行 –
@Saulo卡斯特罗,我刚刚测试过,我必须坚持,结果不会是元素明智的。我正在使用Python 2.7.5和Numpy 1.7.1。我创建了矩阵“a”,并将其平方为下列命令:'a = numpy.matrix([[5,5],[5,5]])'然后是'a ** 2'。结果是numpy矩阵'矩阵([[50,50],[50,50]])',这表明numpy矩阵乘法不会**是元素明智的。 – renatov
这不是numpy
的一部分,但它可以与numpy.ndarray
对象一起使用。 A numpy.matrix
可以转换为numpy.ndarray
,而numpy.ndarray
可以转换为numpy.matrix
。
from sklearn.metrics import mean_squared_error
mse = mean_squared_error(A, B)
参见Scikit Learn mean_squared_error关于如何控制轴文档。
另一种方法来接受的答案是避免与矩阵乘法的任何问题:
def MSE(Y, YH):
return np.square(Y - YH).mean()
从证件np.square:“返回输入的元素方面的平方。”
甚至更numpy的
np.square(np.subtract(A, B)).mean()
- 1. Python中的均方误差
- 2. 计算MSE(均方误差)
- 3. 寻找均方误差?
- 4. 降低均方误差
- 5. numpy的版本(平均绝对偏差)
- 6. 如何计算的均方误差
- 7. 错误的numpy平均值?
- 8. 维纳滤波:均方误差问题
- 9. MATLAB::均方误差与SNR图
- 10. 均方根中的R方误差 - 混合效应模型
- 11. 如何计算均方误差的均值?
- 12. Numpy的标准差方法给零除误差
- 13. Numpy协方差矩阵numpy.cov
- 14. 训练集的平均误差等于测试集的平均误差?
- 15. 计算均方误差时的逻辑错误
- 16. 平均值和方差数据集中
- 17. 计算均值和方差为R中
- 18. 如何在Keras中实现稀疏均方误差损失
- 19. 如何在matlab中找到均方误差
- 20. Numpy均值与单一函数的差异?
- 21. Numpy:评估高于/低于平均值的标准偏差
- 22. numpy 2d直方图的标准差
- 23. 求和方差/ np.cov使用Python/numpy的
- 24. NumPy的创建由fromfunction误差
- 25. 依赖性误差和numpy的
- 26. 给定均值的方差计算
- 27. 单程图像的均值和方差
- 28. 平均函数的标准误差
- 29. 误差计算的字典平均时
- 30. x的平均值的误差线除以y的平均值
'((A - B)** 2).mean(轴= AX)',其中'AX = 0'是每列,'AX = 1'是每行和“ax = None”给出总计。 –
如果你制定答案我会接受它。 – TheMeaningfulEngineer
这个答案是不正确的,因为当你把一个numpy矩阵平方时,它会执行矩阵乘法rathar square每个元素个体。查看我对Saullo Castro的回答的评论。 (PS:我用Python 2.7.5和Numpy 1.7.1测试过) – renatov