Подтвердить что ты не робот

Scikit-learn перекрестная проверка, отрицательные значения со средней квадратичной ошибкой

Когда я использую следующий код с матрицей данных X размера (952,144) и выходным вектором y размера (952), метка mean_squared_error возвращает отрицательные значения, что является неожиданным. У вас есть идеи?

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')

все значения в scores являются отрицательными.

4b9b3361

Ответ 1

Попытка закрыть это, так что я даю ответ, который Дэвид и Ларсман красноречиво описали в разделе комментариев:

Да, это должно произойти. Фактический MSE - это просто положительная версия числа, которое вы получаете.

API с унифицированным счетом всегда максимизирует оценку, поэтому оценки, которые необходимо минимизировать, сбрасываются, чтобы унифицированный API оценки работал правильно. Таким образом, результат, который возвращается, отрицается, когда это оценка, которая должна быть сведена к минимуму и оставлена ​​положительной, если это оценка, которая должна быть максимальной.

Это также описано в sklearn GridSearchCV с Pipeline.