郭震 AI公众号:郭震AI

13 回归模型

发布日期:

最近更新:

分类: Scikit

预计阅读: 3 分钟

阅读次数: 0

系列进度

Scikit-learn 入门 · 第 13 / 24

预计阅读3 分钟
结构重点9 个
图文要点6 张
正文规模1.3k 字

整理说明

这篇内容怎么整理

郭震 · 2026-06-04

独立整理围绕 9 个结构重点拆成环境、步骤、验证点和常见误区,尽量让读者能照着复现。
图文对照保留 6 张和配置、流程、判断结果有关的图片,方便快速定位正文重点。
持续校对工具、模型和命令变化较快,后续优先修正入口、参数和风险提醒。

阅读路线

先按这条路线读

先抓住主线,再回到代码、配置和图文细节,读起来会更稳。

图文要点

先看本文图文节点

按图先建立主线,再跳回正文核对步骤、配置和判断标准。

回归模型流程图查看大图
回归模型流程图

回归模型输出连续数值。学习时先用线性回归做基线,再看误差是否满足业务要求,最后再考虑随机森林、梯度提升等更复杂模型。

房价示例可使用 fetch_california_housing 作为当前接口。

回归模型核对图查看大图
回归模型核对图

我会把回归误差翻译成业务语言。均方误差本身不好理解,换成价格、时间或数量的偏差,判断会更直观。

在机器学习的任务中,回归模型是一种常用的方法,用于预测数值型的输出变量。本文将通过 Scikit-Learn 框架介绍回归模型的基础知识,并通过案例演示其实现方法。我们将重点关注如何选择合适的回归模型,以及如何评估模型的性能。

1. 回归模型概述

回归模型旨在找到输入特征与输出目标之间的关系。常见的回归类型包括:

回归模型判断卡查看大图
回归模型判断卡

使用 Scikit-Learn 回归模型时,先看目标变量、特征处理、训练验证拆分、误差指标和残差分布。

  • 线性回归(Linear Regression)
  • 岭回归(Ridge Regression)
  • Lasso 回归(Lasso Regression)
  • 弹性网回归(Elastic Net)
  • 决策树回归(Decision Tree Regressor)
  • 随机森林回归(Random Forest Regressor)
  • 梯度提升回归(Gradient Boosting Regressor)

在选择模型时,我们通常需要考虑以下几个因素:

  • 特征的数量和类型
  • 数据的分布和线性关系
  • 模型的复杂性与计算成本

2. 案例:房价预测

为了更直观地理解回归模型的应用,我们将以“房价预测”作为案例进行讲解。我们将使用加州房价数据集,这个示例可以通过 Scikit-Learn 的 fetch_california_housing 获取。

Scikit-Learn阅读地图卡查看大图
ScikitLearn阅读地图卡

开始读《回归模型》前,可以先看图中从问题到结果的路径。读完后再对照正文,确认自己能不能照着复现。

2.1 数据准备

首先,我们需要导入必要的库并加载数据集:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.datasets import fetch_california_housing
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score

# 加载加州房价数据集
housing = fetch_california_housing()
X = pd.DataFrame(housing.data, columns=housing.feature_names)
y = housing.target

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

2.2 训练线性回归模型

接下来,我们将使用线性回归模型:

# 创建线性回归模型
model = LinearRegression()

# 训练模型
model.fit(X_train, y_train)

2.3 模型预测与评估

使用测试集进行预测,并评估模型的性能:

# 进行预测
y_pred = model.predict(X_test)

# 计算均方误差和 R^2 分数
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)

print(f"均方误差: {mse:.2f}")
print(f"R^2 分数: {r2:.2f}")

3. 选择合适的回归模型

在上述案例中,我们使用了线性回归模型。接下来,我们探讨如何选择更合适的回归模型。

3.1 特征选择

不同的特征组合会影响模型的表现。我们可以使用 SelectKBest 来选择与输出变量相关性最高的特征:

from sklearn.feature_selection import SelectKBest, f_regression

# 选择与目标变量相关性最高的5个特征
selector = SelectKBest(score_func=f_regression, k=5)
X_new = selector.fit_transform(X_train, y_train)

3.2 尝试不同的回归模型

我们可以使用 GridSearchCV 来调优不同型号的回归模型:

from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import GridSearchCV

# 定义参数网格
param_grid = {
    'n_estimators': [50, 100],
    'max_depth': [None, 10, 20]
}

# 创建模型
rf = RandomForestRegressor()

# 创建网格搜索对象
grid_search = GridSearchCV(rf, param_grid, cv=5)
grid_search.fit(X_train, y_train)

# 获取最佳模型
best_rf = grid_search.best_estimator_
回归模型应用复盘卡查看大图
回归模型应用复盘卡

复习《回归模型》时,建议把关键概念、操作步骤和可见结果放在同一页里回看。

回归模型应用检查卡查看大图
回归模型应用检查卡

练习《回归模型》时,建议把输入条件、处理动作和可见结果写在一起,方便下次复查。

4. 小结

在本文中,我们介绍了使用 Scikit-Learn 进行回归模型选择的基础知识,并通过“房价预测”案例演示了从数据准备到模型评估的完整流程。在实际应用中,根据数据特性选择合适的模型十分重要。

下一篇将探讨分类模型的相关内容,继续深入机器学习的应用。希望本篇对于理解回归模型及其选择有所帮助!

继续阅读

从这篇继续找到相关教程

AI 教程总索引

常见问题

读前先确认这三点

回归模型适合谁读?

这是 Scikit-learn 入门 系列第 13 / 24 篇,适合正在学习Scikit-learn 入门,并且需要把概念落到操作步骤或判断标准里的读者。

读这篇Scikit-learn 入门教程要多久?

按中文技术文章阅读速度估算,通读大约 3 分钟;如果要跟着复现,建议把命令、配置和结果检查分开做。

这篇文章里的图文节点怎么用?

正文里有 6 个图文节点,可以先用它们抓住流程、配置和判断点,再回到对应段落细读。

分享文章

转发到常用平台

微信/朋友圈可先复制链接

相关教程

AI 教程总索引

继续阅读

继续找到相关 AI 教程

返回栏目

Reader Messages

读者留言

有问题、补充资料或实测结果,可以直接留下。这里不需要登录。

最多 800 字

为了防刷,每条留言会做长度、链接数量和提交频率限制。

0/800

留言列表

0
正在加载留言...