python 线性回归分析模型检验标准–拟合优度详解

python 线性回归分析模型检验标准--拟合优度详解

线性回归模型是回归分析中广泛使用的一种模型。对于线性回归模型,通常需要对其进行检验来验证其可靠性。其中一项重要的检验指标是拟合优度,本文将详细讲解拟合优度的计算和含义。

一、拟合优度

拟合优度(Goodness of Fit)是一种衡量模型拟合程度的指标,通常用 $R^2$ 表示。$R^2$ 的值介于 0 到 1 之间,表示因变量样本的变异有多少可以用自变量拟合解释。当 $R^2$ 越接近于 1 时,说明模型拟合效果越好。实际上,$R^2$ 可以理解为模型解释因变量差异的能力。

二、计算方法

拟合优度是通过比较实际值与模型预测值的离差平方和(SSres)和因变量总离差平方和(SStot)来计算得到。具体公式如下:

$$ R^2 = 1- \frac{SS_{\rm res}}{SS_{\rm tot}} $$

其中,$SS_{\rm res}$ 是实际值与模型预测值之间的离差平方和,$SS_{\rm tot}$ 是因变量总离差平方和。

计算拟合优度的过程可以通过 python 的 scikit-learn 库实现,具体代码如下:

from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score

# 训练线性回归模型
model = LinearRegression()
model.fit(X_train, y_train)

# 计算拟合优度
y_pred = model.predict(X_test)
r2 = r2_score(y_test, y_pred)
print("拟合优度为:{0:.2f}".format(r2))

其中 X_trainy_train 分别是训练集的自变量和因变量,X_testy_test 分别是测试集的自变量和因变量。

三、实例应用

下面通过两个实例来说明如何使用拟合优度计算线性回归模型的可靠性。

实例1: 预测人口增长模型

首先,我们使用 scikit-learn 库生成一个简单的样本数据集用于模型训练和测试。

from sklearn.datasets import make_regression
from sklearn.model_selection import train_test_split

# 生成样本数据
X, y = make_regression(n_samples=1000, n_features=5, noise=0.3, random_state=42)

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

然后,我们训练一个线性回归模型并计算拟合优度。

from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score

# 训练线性回归模型
model = LinearRegression()
model.fit(X_train, y_train)

# 计算拟合优度
y_pred = model.predict(X_test)
r2 = r2_score(y_test, y_pred)
print("拟合优度为:{0:.2f}".format(r2))

输出结果为:

拟合优度为:1.00

可见,在这个简单的人口增长模型中,线性回归拟合优度非常高,说明模型对实际数据拟合非常好。

实例2: 预测房价模型

接下来,我们以波士顿房价数据集为例,使用线性回归进行房价预测,并计算拟合优度。

from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score

# 导入波士顿房价数据集
boston = load_boston()

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(boston.data, boston.target, test_size=0.2, random_state=42)

# 训练线性回归模型
model = LinearRegression()
model.fit(X_train, y_train)

# 计算拟合优度
y_pred = model.predict(X_test)
r2 = r2_score(y_test, y_pred)
print("拟合优度为:{0:.2f}".format(r2))

输出结果为:

拟合优度为:0.67

可见,在波士顿房价数据集上,线性回归拟合优度略低,说明模型对实际数据拟合效果一般。由此,我们可以进一步探索如何优化模型拟合效果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 线性回归分析模型检验标准–拟合优度详解 - Python技术站

(0)
上一篇 2023年6月13日
下一篇 2023年6月13日

相关文章

  • python数据可视化Seaborn绘制山脊图

    当我们需要理解连续变量的分布并希望更好地探索其波动性和异常值时,使用Seaborn绘制山脊图是一种非常好的选择。下面是该技术的详细攻略: 一、什么是山脊图? 山脊图也被称为密度曲线图,它是一种连续的估计曲线,可以描述数据的分布和密度。山脊图可以方便地查看数据的中心、形状和离群值的存在。在Python中,我们可以使用Seaborn库绘制山脊图。 二、如何使用S…

    python 2023年6月13日
    00
  • Python MySQL数据库连接池组件pymysqlpool详解

    Python MySQL数据库连接池组件pymysqlpool详解 介绍 pymysqlpool是一个Python MySQL数据库连接池组件,它能够有效地管理多个数据库连接并提高应用程序的性能。它简单易用,并提供了完整的文档以及示例代码。 安装 可以使用pip来安装pymysqlpool: pip install pymysqlpool 使用 连接池初始化…

    python 2023年6月13日
    00
  • 将Pandas交叉表转换为堆叠数据框架

    将Pandas交叉表转换为堆叠数据框架,可以使用stack函数。下面是详细的攻略: 步骤一:加载数据和创建交叉表 首先,我们需要加载数据和创建交叉表。下面是一个例子,我们加载了一个csv文件,并创建一个基于两个分类变量的交叉表: import pandas as pd # 加载数据 data = pd.read_csv("example.csv&q…

    python-answer 2023年3月27日
    00
  • 如何在pandas中利用时间序列

    利用 Pandas 进行时间序列分析的完整攻略大致分为以下几个步骤: 导入 Pandas 和数据集; 将数据集中的日期转换为 Pandas 中的日期格式,并设置为索引; 对时间序列数据进行可视化; 对时间序列进行数据清洗和处理,包括处理缺失值,对数据进行填充等; 对时间序列进行重采样和聚合,比如对数据进行日、周、月等时间间隔的汇总; 对时间序列进行滚动计算,…

    python-answer 2023年3月27日
    00
  • pandas groupby 用法实例详解

    下面就为您详细讲解“pandas groupby 用法实例详解”的完整攻略。 一、pandas groupby 简介 在进行数据分析时,我们常常需要对数据进行分组,然后进行一些统计。这时候就需要用到pandas的groupby函数。 groupby函数主要是将数据分组、处理、汇总的一种技术,可以进行分组统计、变换、筛选、特殊应用等操作。 二、pandas g…

    python 2023年5月14日
    00
  • 在Python中使用Kivy GUI和Pandas验证信息的登录应用和验证

    我来为您详细讲解在Python中使用Kivy GUI和Pandas验证信息的登录应用和验证。 首先,Kivy是一个用于创建跨平台应用程序的开源Python库,提供了丰富的GUI控件,包括按钮、标签、文本框、下拉列表等等。我们可以使用Kivy创建一个简单的GUI界面,来实现登录页面。而Pandas是一个强大的数据分析工具,我们可以使用它来读取和处理用户信息的数…

    python-answer 2023年3月27日
    00
  • Python Pandas对缺失值的处理方法

    Python Pandas对缺失值的处理方法主要有以下几个: 删除缺失值 填充缺失值 插值法填充 下面详细介绍这三种方法的使用。 删除缺失值 删除缺失值是常用的处理缺失值的方法,如果数据集中缺失值较少,可以将含有缺失值的行或列删除,以保证结果的精准度。Pandas提供了 dropna() 函数实现删除缺失值的功能。 示例1: import pandas as…

    python 2023年5月14日
    00
  • Python Pandas模块实现数据的统计分析的方法

    Python中的Pandas模块是一个用于数据处理、统计分析的强大库,它提供了灵活的数据结构和数据分析工具,可以让我们轻松地对大型数据集进行数据清洗、整理、建模和分析。下面将详细讲解如何使用Pandas实现数据的统计分析,包括以下内容: 安装Pandas库 在使用Pandas模块进行数据处理之前,我们首先需要安装该库,可以使用pip包管理器进行安装,命令如下…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部