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