线性回归训练数据的负R2

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线性回归训练数据的负R2相关的知识,希望对你有一定的参考价值。

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

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

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

lm.score(x, y)

 -0.00256

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

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

答案

来自Wikipedia article on R^2

根据所使用的定义,R2的计算定义可以产生负值的重要情况出现,其中进行线性回归而不包括截距。

(强调我的)。

另一答案

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

了解更多关于GridSearchCV的信息,请点击此link

以上是关于线性回归训练数据的负R2的主要内容,如果未能解决你的问题,请参考以下文章

多项式线性回归,我哪里错了?

R 与 scikit-learn 中用于线性回归 R2 的交叉验证

[机器学习与scikit-learn-29]:算法-回归-普通线性回归LinearRegression拟合线性分布数据的代码示例

使用 scikit-learn 训练线性回归模型后,如何对原始数据集中不存在的新数据点进行预测?

tensorflow训练线性回归模型

5.线性回归算法