Чи існує метод numpy для обчислення середньоквадратичної помилки між двома матрицями?
Я намагався шукати, але не знайшов жодного. Це під іншою назвою?
Якщо немає, то як це подолати? Ви пишете це самостійно або використовуєте іншу бібліотеку?
Чи існує метод numpy для обчислення середньоквадратичної помилки між двома матрицями?
Я намагався шукати, але не знайшов жодного. Це під іншою назвою?
Якщо немає, то як це подолати? Ви пишете це самостійно або використовуєте іншу бібліотеку?
Відповіді:
Ви можете використовувати:
mse = ((A - B)**2).mean(axis=ax)
Або
mse = (np.square(A - B)).mean(axis=ax)
ax=0
середнім значенням виконується вздовж рядка, для кожного стовпця, повертаючи масивax=1
середнім значенням виконується вздовж стовпця, для кожного рядка, повертаючи масивax=None
середнім значенням виконується елементно вздовж масиву, повертаючи скалярне значенняnp.ndarray
волю, виконайте елементне множення для a**2
, але використання np.matrixlib.defmatrix.matrix
волі зробіть матричне множення для a**2
...
Acmp = np.array(A, dtype=int)
)
np.nanmean(((A - B) ** 2))
якщо відсутні значення
Це не є частиною numpy
, але це буде працювати з numpy.ndarray
об’єктами. A numpy.matrix
можна перетворити на a, numpy.ndarray
а a numpy.ndarray
- на a 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()
Стандартні методи Numpy для розрахунку середньої квадратичної помилки (дисперсії) і його квадратний корінь (стандартне відхилення) є numpy.var()
і numpy.std()
дивіться тут і тут . Вони застосовуються до матриць і мають такий самий синтаксис, як numpy.mean()
.
Я припускаю, що питання та попередні відповіді могли бути опубліковані до того, як ці функції стали доступними.
((A - B) ** 2).mean(axis=ax)
, деax=0
на стовпець,ax=1
це на рядок іax=None
дає загальний підсумок.