牛客题解 | 计算回归分析的R-squared

题目

题目链接

R-squared是一种衡量回归模型性能的指标,其计算公式为:
R 2 = 1 − S S R S S T R^2 = 1 - \frac{SSR}{SST} R2=1SSTSSR
其中,SSR是残差平方和,SST是总平方和。

标准代码如下

def r_squared(y_true, y_pred):
    if np.array_equal(y_true, y_pred):
        return 1.0

    y_mean = np.mean(y_true)

    ssr = np.sum((y_true - y_pred) ** 2)

    sst = np.sum((y_true - y_mean) ** 2)

    try:
        r2 = 1 - (ssr / sst)
        if np.isinf(r2):
            return 0.0
        return round(r2, 3)
    except ZeroDivisionError:
        return 0.0

在sklearn库中也有对应的计算方法,可以使用metrics模块中的r2_score函数:

def r_squared(y_true, y_pred):
    from sklearn.metrics import r2_score
    r2 = r2_score(y_true, y_pred)
    return round(float(r2), 3)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值