【发布时间】:2014-02-22 00:15:19
【问题描述】:
当我将以下代码与大小 (952,144) 的数据矩阵 X 和大小 (952) 的输出向量 y 一起使用时,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 中的所有值都是负数。
【问题讨论】:
-
是的,这应该会发生。我忘记了确切的原因,但我相信这与他们在执行网格搜索时最小化结果有关。实际的 MSE 只是你得到的数字的正数。
-
可能与sklearn GridSearchCV with Pipeline 重复——@David 是对的,当引入统一评分 API 时,我们决定始终最大化分数,这意味着需要否定实际为损失的分数。
标签: python regression scikit-learn cross-validation