scikit-learn validation croisée, valeurs négatives avec erreur quadratique moyenne

lorsque j'utilise le code suivant avec la matrice de données X de taille (952,144) et le vecteur de sortie y de taille (952), mean_squared_error métrique renvoie des valeurs négatives, ce qui est inattendu. Avez-vous une idée?

from sklearn.svm import SVR
from sklearn import cross_validation as CV

reg = SVR(C=1., epsilon=0.1, kernel='rbf')
scores = CV.cross_val_score(reg, X, y, cv=10, scoring='mean_squared_error')

toutes les valeurs de scores sont alors négatives.

25
demandé sur ahmethungari 2014-01-30 02:18:07

1 réponses

en essayant de clore cette affaire, je donne donc la réponse que David et larsmans ont décrite avec éloquence dans la section des commentaires:

Oui, c'est censé arriver. Le MSE réel est simplement la version positive du nombre que vous obtenez.

L'API de notation unifiée maximise toujours le score, de sorte que les scores qui doivent être minimisés sont niés afin que l'API de notation unifiée fonctionne correctement. Le score qui est retourné est par conséquent, elle est rejetée lorsqu'il s'agit d'une note qui doit être minimisée et laissée positive si elle doit être maximisée.

est également décrit dans sklearn GridSearchCV with Pipeline .

35
répondu AN6U5 2017-05-23 12:10:10