【问题标题】:regr.score and r2_score give different valuesregr.score 和 r2_score 给出不同的值
【发布时间】:2016-11-14 11:17:35
【问题描述】:

我正在使用 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 返回“R^2 of self.predict(X) wrt.y”。这就是我使用指标计算 R^2 所做的,但我不明白为什么这些值如此不同?

谁能帮我解释一下?

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

【问题讨论】:

  • 应该是r2_score(ytest, regr.predict(xtest))(实际然后预测)

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


【解决方案1】:

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

希望有帮助!

【讨论】:

  • 谢谢,我以为线性回归和逻辑回归的分数是一样的,没有通过定义。
猜你喜欢
  • 2016-07-09
  • 1970-01-01
  • 2019-01-01
  • 2010-10-22
  • 1970-01-01
  • 2023-01-20
  • 2021-10-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多