首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >线性回归中r2_score与score()的差异

线性回归中r2_score与score()的差异
EN

Stack Overflow用户
提问于 2020-07-25 02:15:56
回答 2查看 1.9K关注 0票数 4

我发现LinearRegression中score()的结果与r2_score()不同。我期望它们返回相同的results.The代码如下:

代码语言:javascript
运行
复制
r2_train = np.empty(shape=[10, 0])
r2_train_n = np.empty(shape=[10, 0])

for set_degree in range (0,10):
    pf = PolynomialFeatures(degree= set_degree)
    X_train_tf = pf.fit_transform(X_train.reshape(11,1))
    X_test_tf = pf.transform(X_test.reshape(4,1))
    lr = LinearRegression().fit(X_train_tf, y_train)

    r2_train = np.append(r2_train, r2_score(lr.predict(X_train_tf), y_train))
    r2_train_n = np.append(r2_train_n, lr.score(X_train_tf, y_train))
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-25 13:23:35

score() :-它只是比较实际值和预测值之间的误差/残差。

r2_score() :-它是指定整个数据集的剩余量的值。

r2评分更稳健,并且经常使用精度矩阵。

它被计算为

(r2_score =1- (RSS / TSS))

其中(RSS= Sqaure的剩余和& TSS =平方和的总数)。在使用OLS方法执行回归时,还应该考虑adjustedR2的值

票数 5
EN

Stack Overflow用户

发布于 2022-02-10 11:47:03

在使用r2_score时,您做到了:

代码语言:javascript
运行
复制
r2_score(lr.predict(X_train_tf), y_train)

根据文档,第一个参数应该是真值,即它应该是:

代码语言:javascript
运行
复制
r2_score(y_train, lr.predict(X_train_tf))

这将给出与LinearRegression()中的得分方法相似的结果。

同题这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63083618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档