线性回归训练数据的负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得分是否将我的无拦截模型的方差与具有截距的模型进行比较?
(请注意,它与我用来拟合模型的数据相同。)
答案
根据所使用的定义,R2的计算定义可以产生负值的重要情况出现,其中进行线性回归而不包括截距。
(强调我的)。
另一答案
首先,检查您问题下方评论的链接。其次,为了获得更好的分数,在Scikit-learn中使用GridSearchCV
函数。此功能可以调整模型的参数并找到最佳参数。
了解更多关于GridSearchCV
的信息,请点击此link。
以上是关于线性回归训练数据的负R2的主要内容,如果未能解决你的问题,请参考以下文章
R 与 scikit-learn 中用于线性回归 R2 的交叉验证
[机器学习与scikit-learn-29]:算法-回归-普通线性回归LinearRegression拟合线性分布数据的代码示例