千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > PythonR-Squared:计算线性回归模型拟合度的评估指标

PythonR-Squared:计算线性回归模型拟合度的评估指标

来源:千锋教育
发布人:xqq
时间: 2023-07-21 16:52:31 1689929551

一、什么是R-Squared?

R-Squared指标是用于衡量回归方程的拟合程度的评估指标,它表示拟合线与实际数据点的总偏离程度的平方和与总变差程度的平方和的比值。R-Squared值越接近1,表示模型的拟合程度越好,接近0则表示模型的拟合程度越差。

在Python中,我们可以使用相关库来计算R-Squared指标,如:


import numpy as np 
from sklearn.metrics import r2_score

y_true = np.array([1, 2, 3])
y_pred = np.array([1, 2.5, 3])
r2_score(y_true, y_pred)

上述代码中,我们使用了numpy和sklearn库,分别导入r2_score函数和numpy库。我们传入了真实值数组y_true和预测值数组y_pred,并调用r2_score函数进行计算,返回R-Squared值。

二、计算R-Squared的步骤

计算R-Squared指标的步骤可以分为以下几步:

1. 计算总偏离程度(SST):
SST = Σ(yi - ȳ)²,其中yi表示第i个实际值,ȳ表示所有实际值的平均数。
该步骤计算的是所有实际值与平均值之间的总偏离程度。

2. 计算残差平方和(SSR):
SSR = Σ(yi - ŷi)²,其中yi表示第i个实际值,ŷi表示第i个预测值。
该步骤计算的是所有实际值与预测值之间的总偏离程度。

3. 计算R-Squared指标:
R-Squared = 1 - SSR / SST
该步骤计算的是拟合线与实际数据点的总偏离程度的平方和与总变差程度的平方和的比值。

下面是Python中的实现示例:


import numpy as np

def r_squared(y_true, y_pred):
    # 计算SST
    sst = ((y_true - np.mean(y_true)) ** 2).sum()
    
    # 计算SSR
    ssr = ((y_true - y_pred) ** 2).sum()
    
    # 计算R-Squared
    r2 = 1 - (ssr / sst)
    
    return r2

三、R-Squared的应用场景

R-Squared指标在机器学习中的应用非常广泛,尤其是在回归问题中。通过计算R-Squared指标,我们可以评估模型的拟合程度,并可以按需对模型进行调整,以获得更准确的预测结果。

除此之外,R-Squared指标还可以用于比较不同模型的性能。通常情况下,R-Squared值越高的模型性能越好,我们可以据此选择最佳的回归模型。

四、总结

R-Squared是一项非常重要的评估指标,不仅在回归问题中有着广泛的应用,还可以帮助我们比较不同模型的性能。在Python中,计算R-Squared非常容易,只需要使用sklearn等相关库即可。此外,针对特定的问题,我们也可以编写自己的函数来计算R-Squared指标。

tags: python教程
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT