numpy中是否存在计算两个矩阵之间的均方误差的方法?
我试过搜索但没找到。它的名字不同吗?
如果没有,你怎么克服这个?你自己写的还是使用不同的lib?
答案 0 :(得分:69)
您可以使用:
mse = ((A - B)**2).mean(axis=ax)
或者
mse = (np.square(A - B)).mean(axis=ax)
ax=0
沿着行执行平均值,对于每列,返回一个数组ax=1
沿着列执行平均值,每行返回一个数组ax=None
平均值按数组元素顺序执行,返回标量值答案 1 :(得分:26)
这不是%Rows
的一部分,但它适用于numpy
个对象。 numpy.ndarray
可以转换为numpy.matrix
,numpy.ndarray
可以转换为numpy.ndarray
。
numpy.matrix
有关如何控制轴的文档,请参阅Scikit Learn mean_squared_error。
答案 2 :(得分:13)
更加笨拙
np.square(np.subtract(A, B)).mean()
答案 3 :(得分:4)
接受答案的另一种替代方法,可以避免矩阵乘法的任何问题:
text.align
从 np.square 的文档中:“返回输入的元素方块。”
答案 4 :(得分:4)
只是踢脚
mse =(np.linalg.norm(A-B)** 2)/ len(A)
答案 5 :(得分:0)
用于计算均方误差(方差)及其平方根(标准偏差)的标准numpy方法为<?php
ignore_user_abort ( TRUE );
echo "hello\n";
$x=0;
$log_filename = ".\\test.txt";
while (@ ob_end_flush());
while ($x<100)
{
echo($x ."\n");
$status = connection_aborted();
file_put_contents($log_filename, $x ." - " .$status ."\n", FILE_APPEND);
$x++;
@ flush();
sleep(1);
}
?>
和numpy.var()
,请参见here和here。它们适用于矩阵,并且语法与numpy.std()
相同。
我认为在这些功能可用之前,问题和先前的答案可能已经发布。