227 votes

Y a-t-il une fonction de bibliothèque pour l'erreur quadratique moyenne (RMSE) en python?

Je sais que je pourrais implémenter une fonction d'erreur quadratique moyenne comme ceci :

def rmse(prédictions, cibles):
    return np.sqrt(((prédictions - cibles) ** 2).mean())

Ce que je recherche, c'est si cette fonction rmse est implémentée dans une bibliothèque quelque part, peut-être dans scipy ou scikit-learn ?

11voto

dataista Points 2467

Il existe une bibliothèque ml_metrics qui est disponible sans pré-installation dans les noyaux de Kaggle, assez légère et accessible via pypi (elle peut être installée facilement et rapidement avec pip install ml_metrics):

from ml_metrics import rmse
rmse(actual=[0, 1, 2], predicted=[1, 10, 5])
# 5.507570547286102

Elle possède quelques autres métriques intéressantes qui ne sont pas disponibles dans sklearn, comme mapk.

Références:

10voto

KeyMaker00 Points 1174

Ou en utilisant simplement des fonctions NumPy :

def rmse(y, y_pred):
    return np.sqrt(np.mean(np.square(y - y_pred)))

Où :

  • y est ma cible
  • y_pred est ma prédiction

Remarquez que rmse(y, y_pred)==rmse(y_pred, y) en raison de la fonction carré.

4voto

Harshal Deore Points 151

Oui, il est fourni par SKLearn, nous devons simplement mentionner squared = False dans les arguments

from sklearn.metrics import mean_squared_error

mean_squared_error(y_true, y_pred, squared=False)

2voto

Ganesh Shah Points 21
de sklearn import metrics
import numpy as np
print(np.sqrt(metrics.mean_squared_error(y_test, y_predict)))

1voto

Hesham Gaber Points 11
from sklearn.metrics import mean_squared_error
rmse = mean_squared_error(y_actual, y_predicted, squared=False)

ou

import math
from sklearn.metrics import mean_squared_error
rmse = math.sqrt(mean_squared_error(y_actual, y_predicted))

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X