机器学习中的决定系数(R²)详解
创作时间:
作者:
@小白创作中心
机器学习中的决定系数(R²)详解
引用
CSDN
1.
https://blog.csdn.net/IT_ORACLE/article/details/143624121
决定系数(R²,Coefficient of Determination)是一种用于衡量回归模型预测效果的统计指标。它表示了模型解释目标变量总变异的程度,数值介于 0 和 1 之间,数值越接近 1 表明模型的解释力越强。
1. R²的定义和公式
R²的公式如下:
$$
R^2 = 1 - \frac{RSS}{TSS}
$$
其中:
- $y_i$ 是真实值。
- $\hat{y}_i$ 是模型的预测值。
- $\bar{y}$ 是真实值的平均值。
- $RSS$ 是残差平方和 (Residual Sum of Squares)。
- $TSS$ 是总平方和 (Total Sum of Squares)。
从公式可以看出,R²表示残差平方和占总平方和的比例。换句话说,R²越接近 1,表示模型的预测越接近真实值,模型解释越充分。
2. R²的计算步骤
计算R²的步骤如下:
- 计算真实值的平均值 $\bar{y}$。
- 计算残差平方和 $RSS$。
- 计算总平方和 $TSS$。
- 计算R²值,即使用公式 $R^2 = 1 - \frac{RSS}{TSS}$。
3. R²的解释和意义
- 解释度:R²值表示自变量解释因变量变异的比例。例如,R²=0.8表示模型能解释 80% 的目标变量变异。
- 值域:R²的取值范围通常为 [0, 1]。0 表示模型无法解释任何目标变量的变异,1 表示模型可以完全解释目标变量的变异。
- 负值的情况:在某些情况下,当模型预测效果极差时(例如,模型欠拟合),R²可能为负数。这表示预测值甚至比用平均值预测的效果更差。
4. R²的优缺点
优点
- 直观解释:R²直接表示了模型对目标变量的解释力。
- 适用性广:广泛应用于回归模型的效果评价。
缺点
- 对样本大小敏感:在小样本数据中,R²值容易偏高,可能夸大模型的预测效果。
- 对异常值敏感:由于平方的存在,R²对异常值敏感,异常值可能会过度影响结果。
- 无法区分方向性:仅仅反映解释力,不反映模型预测的方向性,容易掩盖预测偏差。
5. R²的应用
在回归分析、机器学习和经济学等领域,R²是一种常用的评价指标。其应用场景包括:
- 回归模型效果评价:常用于衡量线性回归、多项式回归等模型的解释力。
- 经济和金融数据分析:例如评估某些经济指标对 GDP 增长的解释力。
- 机器学习模型调优:用于评估模型的拟合程度,帮助选择合适的模型或调参。
6. R²与其他误差指标的对比
指标 | MAE | RMSE | R² |
|---|---|---|---|
计算方式 | 绝对误差 | 平方误差 | 残差平方和和总平方和之比 |
值域 | 非负值 | 非负值 | [0, 1](可能为负数) |
异常值敏感性 | 低 | 高 | 高 |
解释力 | 表示模型预测误差的均值 | 表示模型预测误差的均值 | 表示模型解释的变异比例 |
7. Python 实现代码
以下是计算R²的Python代码:
import numpy as np
def r2_score(y_true, y_pred):
ss_res = np.sum((y_true - y_pred) ** 2)
ss_tot = np.sum((y_true - np.mean(y_true)) ** 2)
return 1 - (ss_res / ss_tot)
# 示例
y_true = np.array([3, -0.5, 2, 7])
y_pred = np.array([2.5, 0.0, 2, 8])
result = r2_score(y_true, y_pred)
print("R^2:", result)
运行结果
R^2: 0.9486081370449679
说明
y_true是真实值的数组,y_pred是预测值的数组。ss_res是残差平方和,表示误差的总量。ss_tot是总平方和,表示目标变量的总变异。1 - (ss_res / ss_tot)得出R²值,表示模型对数据变异的解释程度。
图中R²的值接近 1 表示模型的预测接近真实值,具有较高的解释力。
8. R²图解示例
下面将生成一个包含R²计算图解的图示,以便更清楚地理解R²在模型解释力上的作用。
上图展示了R²的计算过程,其中:
- 蓝色圆点连线表示真实值 $y_i$。
- 红色叉点连线表示模型的预测值 $\hat{y}_i$。
- 每条灰色虚线表示预测值与真实值之间的差距,即残差。
为了更直观地理解R²,我们可以用一个散点图展示真实值和预测值的分布:
- 绘制真实值与预测值的散点图:展示所有数据点的真实值与预测值之间的差异。
- 展示总平方和 (TSS):每个数据点到真实值均值的垂直线表示目标变量的总变异。
- 展示残差平方和 (RSS):每个数据点到预测值的垂直线表示模型预测误差。
- 理解解释力:图中R²值越大,模型预测值越接近真实值,即解释力越高。
热门推荐
渤海湾大桥总投资估值3000亿,突破时速600千米,成第一个水下桥
登月服的设计有何亮点和变化?隐藏着哪些“黑科技”?一文get!
关于秋天的资料简介(《二十四节气》之秋天)
寒露:秋意渐浓,露凝为霜
法定年假怎么计算,年假工资应怎么计算
精心设计的情侣爱情纹身
十二章纹在古代服饰文化中的体现
Nature子刊:刘德培院士团队开发模块化单链DNA供体,实现高效精确基因编辑
五行缺火是什么意思 五行缺火的人怎么补火
优化激光参数以实现高质量微孔加工
极端制造 | 激光粉末床熔融(LPBF)中飞溅与凹陷区的动态联系
开学季健康指南:从开学综合征到体重管理,专家为您支招
保护肝脏的饮食有哪些
香港城市大学(东莞)和香港城市大学是什么关系?合办高校资源一流!
从“建站”到“兴城” 重庆东站静候“超级流量”
贵州推进多元化养老服务体系建设 助力老年人安享幸福晚年
工伤赔偿协议怎么写(附2024工伤赔偿协议模板)
“以旧换新”政策下如何推动报废车辆绿色发展,重庆有“高招”!
冬天吃橙子太冷怎么办?五种加热方法让橙子温暖可口
应急执法人员开展执法行动 保障安全生产
柯洁再度向第九冠发起冲锋 打破魔咒就在今朝!对手是卞相壹
如何设置电脑开机密码与屏幕锁?
全国十大眼科医院排名(专家团队设备服务一一介绍)
如何评价一个城市的宜居性?城市发展的关键指标有哪些?
炙热环境下的生存挑战与应对策略
谁言寸草心,报得三春晖——探寻古诗作者及其深意
颈椎间盘突出患者不宜做卷腹运动,这些运动更适合!
如何为猫咪挑选美味又健康的猫粮?其实只要知道这八步
离婚协议备案的重要性及程序
离婚协议怎么备案?解除条件与公平性解析