回归类的模型评估指标R2

本文探讨了机器学习中R2评分可能出现负值的情况,通过数学推导和例子解释了当模型预测效果比平均值还差时,R2得分可以为负,并指出负的R2意味着模型对数据的拟合非常糟糕。建议在遇到负R2时,首先检查建模和数据处理过程,然后考虑尝试其他算法。
摘要由CSDN通过智能技术生成

先来看一组代码:

import numpy as np
rng = np.random.RandomState(42)
X = rng.randn(100, 80)
y = rng.randn(100)
cross_val_score(LR(), X, y, cv=5, scoring='r2')

运行结果

array([-179.12952605,   -5.692624  ,  -15.61747513,  -78.68042858,
        -59.5311006 ])

sklearn真的是设置了太多障碍,均方误差是负的,R2也是负的,这个名字里都带平方了,居然是负的,无论如何,再来看看的计算公式:
R 2 = 1 − ∑ i = 0 m ( y i − y ^ i ) 2 ∑ i = 0 m ( y i − y ˉ i ) 2 = 1 − R S S ∑ i = 0 m ( y i − y ˉ i ) 2 R^2=1-\large{\frac{\sum_{i=0}^m(y_i-\hat{y}_i)^2}{\sum_{i=0}^m(y_i-\bar{y}_i)^2}}\small=1-\large{\frac{RSS}{\sum_{i=0}^m(y_i-\bar{y}_i)^2}} R2=1i=0m(yiyˉi)2i=0m(yiy^i)2=1i=0m(yiyˉi)2RSS
第一次学习机器器学习或者统计学的,可能会感觉没什么问题了, 是1减一个数,后面的部分只要大于1的话完全可以小于0。但是学过机器器学习,尤其是在统计学上有基础的可能会坐不住了:这不对啊!
一直以来,众多的机器学习教材中都有这样的解读:除了RSS之外,还有平方和ESS(Explained Sum of Squares,也叫做SSR回归平方和)以及总离差平方和TSS(Total Sum of Squares,也叫做SST总离差平方和)。
平方和ESS定义了预测值和样本均值之间的差异,而总离差平方和定义了真实值和样本均值之间的差异(就是R2中的分母),两个指标分别写作:
T S S = ∑ i = 0 m ( y i − y ˉ i ) 2 TSS=\sum_{i=0}^m(y_i-\bar{y}_i)^2 TSS=i=0m(yiyˉi)2
E S S = ∑ i = 0 m ( y ^ i − y ˉ i ) 2 ESS=\sum_{i=0}^m(\hat{y}_i-\bar{y}_i)^2 ESS=i=0m(y

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值