决定系数大于1

本来这是一个不可能的事,用的r2_score进行计算的,发现有的时候负值有的时候大于1

后来换了一下,自己手动写计算r2,还是出现这样的,甚至数值特别大

def R2(y_test,y_pred):
    SStot=np.sum((y_test-np.mean(y_test))**2)
    SSres=np.sum((y_test-y_pred)**2)
    r2=1-SSres/SStot
    return r2

后来想了一下,这在公式上面不可能出现的事情,但是,在计算机好像是可以发生的,因为计算机的可以溢出

我之前是用的int32,可能不够用,可能导致本来是正数的值由于超出了范围就变成了负数

后来换了int64就没有出现这个错误的了

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值