我正在使用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),但在逻辑回归中我仍然得到不同的值。所以我更新了这个问题。
答案 0 :(得分:4)
您获得不同值的原因是因为默认情况下LogisticRegression
类中的score
函数会计算accuracy score。准确度分数只是正确预测的数量除以预测的总数。另一方面,R2得分完全不同,你可以阅读更多关于它的数学here。
希望有所帮助!