📅  最后修改于: 2023-12-03 15:19:41.258000             🧑  作者: Mango
在监督学习中,用于衡量回归模型表现优劣的指标之一是 R2 分数(也称为决定系数)。R2 的取值范围从 0 到 1,表示模型能够解释标签对变异性的比例。更具体地说, R2 分数表示回归模型中因自变量而引起的响应变量方差的比例。
计算 R2 分数需要分别计算总方差和残差平方和。总方差(TSS)是因变量的方差,而残差平方和(RSS)是因模型误差导致的未解释方差。R2 分数是 1 减去 RSS 与 TSS 之比。
公式:
R2 = 1 - (RSS / TSS)
当 R2 值为 1 时,模型完全解释了方差,预测结果完全符合实际情况。当 R2 值为 0 时,模型未作出任何预测,因为回归线的斜率为 0。
通常, R2 值小于 0.4 被视为不太能够解释方差的弱模型,而大于 0.7 的 R2 值被认为是强模型。然而,应记住 R2 的缺陷,即仅当模型包含每个变量的真正函数时,R2 才能成功地解释方差。
在 Python 中,使用 Scikit-learn 提供的 r2_score
函数可计算 R2 分数。以下是计算 R2 分数的代码示例:
from sklearn.metrics import r2_score
y_true = [3, -0.5, 2, 7]
y_pred = [2.5, 0.0, 2, 8]
r2 = r2_score(y_true, y_pred)
print("R2 分数:", r2)
输出:
R2 分数: 0.9571734475374732
注意,y_true
是真实的标签值, y_pred
是回归模型预测的标签值。该函数将自动计算 R2 分数并返回结果。
R2 分数是监督学习中衡量回归模型表现的重要指标之一。它可以用于评估模型预测的准确性和可靠性,通常用于比较不同的模型。然而, R2 分数也有其缺陷,因此应该谨慎使用。