[英]Mean Squared Error in Numpy?
numpy 中是否有計算兩個矩陣之間的均方誤差的方法?
我試過搜索,但沒有找到。 它是在不同的名稱下嗎?
如果沒有,你如何克服這個? 您是自己編寫還是使用不同的庫?
您可以使用:
mse = ((A - B)**2).mean(axis=ax)
或者
mse = (np.square(A - B)).mean(axis=ax)
ax=0
沿行執行平均值,對於每一列,返回一個數組ax=1
沿列執行平均值,對於每一行,返回一個數組ax=None
沿數組按元素執行平均值,返回標量值這不是numpy
一部分,但它適用於numpy.ndarray
對象。 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 。
更麻木
np.square(np.subtract(A, B)).mean()
已接受答案的另一種替代方法,可避免矩陣乘法的任何問題:
def MSE(Y, YH):
return np.square(Y - YH).mean()
從np.square
的文檔中:
Return the element-wise square of the input.
只是為了踢
mse = (np.linalg.norm(A-B)**2)/len(A)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.