R2 的Python实现总结

本文介绍了如何使用Python计算回归分析中的R²分数,包括直接利用sklearn库中的r2_score函数,以及通过手工实现不同方式来计算该指标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于R2的定义这里不进行叙述,维基百科上有很详细的解释。https://en.wikipedia.org/wiki/Coefficient_of_determination

这里记录一下几种Python实现:

1.从sklearn.metric中调用

from sklearn.metrics import r2_score

2.

# 均方误差根
def rmse(y_test, y):
    return sp.sqrt(sp.mean((y_test - y) ** 2))

def R2_0(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
def R2_1_(y_pred, y_test):
    y_mean = np.array(y_test)
    y_mean[:] = y_mean.mean()
    return 1 - rmse(y_pred, y_test) / rmse(y_mean, y_test)
def R2_2_(y_pred,y_test):
    SStot=np.sum((y_test-np.mean(y_test))**2)
    SSres=np.sum((y_test-y_pred)**2)
    r2=SSres/SStot
    return r2

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值