线性回归训练数据的负R2

时间:2015-05-28 12:56:29

标签: scikit-learn linear-regression

使用scikit-learn来拟合一维模型,没有拦截:

lm = sklearn.linear_models.LinearRegression(fit_intercept=False).
lm.fit(x, y)

使用训练数据评估得分时,得到负数.score()。

lm.score(x, y)

 -0.00256

为什么呢? R2得分是否将我的无拦截模型的方差与具有截距的模型进行比较?

(请注意,它与我用来拟合模型的数据相同。)

2 个答案:

答案 0 :(得分:1)

来自Wikipedia article on R^2

  

R2的计算定义可以产生的重要情况   取决于所使用的定义,负值出现在哪里   线性回归不包括截距

(强调我的)。

答案 1 :(得分:0)

首先,检查您问题下方评论的链接。 其次,为了获得更好的分数,在Scikit-learn中使用GridSearchCV函数。此功能可以调整模型的参数并找到最佳参数。

了解有关GridSearchCV的更多信息,请按此link