python - interpretacion - Error cuadrático medio en Numpy?
error cuadratico medio python (4)
¿Hay algún método en numpy para calcular el error cuadrado medio entre dos matrices?
Intenté buscar pero no encontré ninguno. ¿Tiene otro nombre?
Si no hay, ¿cómo superar esto? ¿Lo escribes tú mismo o usas una lib diferente?
Aún más numpy
np.square(np.subtract(A, B)).mean()
Esto no es parte de numpy
, pero funcionará con los objetos numpy.ndarray
. Una numpy.matrix
se puede convertir en numpy.ndarray
y numpy.ndarray
se puede convertir en numpy.matrix
.
from sklearn.metrics import mean_squared_error
mse = mean_squared_error(A, B)
Consulte Scikit Learn mean_squared_error para obtener documentación sobre cómo controlar el eje.
Otra alternativa a la respuesta aceptada que evita cualquier problema con la multiplicación de la matriz:
def MSE(Y, YH):
return np.square(Y - YH).mean()
De los documentos para np.square : "Devuelve el cuadrado de entrada de elemento".
Según lo sugerido por @larsmans, puedes usar:
mse = ((A - B) ** 2).mean(axis=ax)
- con
ax=0
el promedio se realiza a lo largo de la fila, para cada columna, devolviendo una matriz - con
ax=1
el promedio se realiza a lo largo de la columna, para cada fila, devolviendo una matriz - con
ax=None
el promedio se realiza a nivel de elemento a lo largo de la matriz, devolviendo un valor único