regr.score和r2_score给出不同的值

时间:2016-07-12 09:35:25

标签: python python-2.7 scipy scikit-learn regression

我正在使用sklearn.linear_model.LogisticRegression并使用它来计算R ^ 2值,如下所示

regr.score(xtest, ytest)

我的得分为0.65

现在,为了比较我使用了sklearn.metrics.r2_score¶提供的指标,我计算得分如下

r2_score(ytest,regr.predict(xtest))

得分为-0.54

根据文件,regr.score返回“自我预测(X)wrt.y的R ^ 2”。这就是我使用度量来计算R ^ 2所做的,但我不明白为什么这些值如此不同?

有人能帮我解释一下吗?

更新:正如建议我在r2_score中切换变量ytest,regr.predict(xtest),但在逻辑回归中我仍然得到不同的值。所以我更新了这个问题。

1 个答案:

答案 0 :(得分:4)

您获得不同值的原因是因为默认情况下LogisticRegression类中的score函数会计算accuracy score。准确度分数只是正确预测的数量除以预测的总数。另一方面,R2得分完全不同,你可以阅读更多关于它的数学here

希望有所帮助!