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.
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 .