线性回归模型的 R2 分数高得离谱
Posted
技术标签:
【中文标题】线性回归模型的 R2 分数高得离谱【英文标题】:Ridiculously high R2 score for linear regression model [duplicate] 【发布时间】:2021-04-16 07:41:57 【问题描述】:我在一个有 88 列的数据集上运行线性回归模型。它们中的大多数是二进制的 - 仅包含 1 或 0。其余的具有数据类型 float64 的数值。当我对此运行线性回归模型时,我得到高得离谱的负 r2_scores。 我无法理解为什么必须如此。我能看到的唯一区别是,如果我将浮点列的数据类型更改为 int,r2 分数会下降一个数量级(仍然很高)。 有没有人遇到过类似的问题?
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.20, random_state=0)
model = LinearRegression(fit_intercept = True)
model.fit(X_train,y_train)
pred_Y=model.predict(X_test)
r2=r2_score(y_test,pred_Y)
print(r2)
r2=-14440.99304389795
【问题讨论】:
如果不查看您的数据和其余代码,任何人都无法找出问题所在。请确保问题是可重现的。 谢谢MZ,我觉得确实是这个问题! 【参考方案1】:MZ给出的答案是对问题的正确解释。然而,玩弄随机状态几次为我解决了这个问题!谢谢!
【讨论】:
以上是关于线性回归模型的 R2 分数高得离谱的主要内容,如果未能解决你的问题,请参考以下文章
R 与 scikit-learn 中用于线性回归 R2 的交叉验证