人工智能基础与应用 - 数据处理、建模与预测流程 7 基础模型之回归模型

7.1 学习目标

通过本章学习,读者应能够:

  • 理解什么是回归模型及其适用场景
  • 区分回归问题与分类问题
  • 掌握线性回归模型的基本使用流程
  • 使用 Python 训练并评估一个回归模型
  • 能够对回归模型的预测结果进行合理解读

本章的目标是:
让读者真正"跑通"一个模型,并理解结果意味着什么。


7.2 什么是回归模型

在人工智能中,回归模型主要用于解决这样一类问题:

预测一个连续的数值结果。

例如:

  • 预测每日步数
  • 预测房价
  • 预测销售额
  • 预测能耗、费用或时间

只要预测目标是一个具体数值,通常就可以考虑使用回归模型。


7.3 回归模型与分类模型的区别

为了避免混淆,可以从"输出形式"来区分:

模型类型 输出结果
回归模型 连续数值
分类模型 类别或标签

例如:

  • 预测"今天走了多少步" → 回归
  • 判断"是否达成 8000 步目标" → 分类

7.4 线性回归模型的直观理解

7.4.1 不讲公式,讲直觉

线性回归模型尝试找到一条"最合适的线",用来描述:

特征变化时,目标值如何变化。

例如:

  • 运动时间增加,步数通常增加
  • 房屋面积变大,价格通常更高

模型要做的,是找到这种关系的最佳近似表达


7.4.2 一个生活化的类比

可以把线性回归理解为:

在一堆散点中,画一条"最符合整体趋势的直线"。

这条线不是穿过所有点,而是尽量整体误差最小


7.5 回归模型的基本训练流程

无论数据来自哪个业务场景,回归模型的训练流程基本一致:

  1. 准备特征和标签
  2. 划分训练集和测试集
  3. 创建模型
  4. 训练模型
  5. 预测与评估

下面通过一个完整示例来演示。


7.6 Python 示例:预测每日步数

示例场景

假设我们希望根据用户的基本情况,预测其每日步数。


7.6.1 准备示例数据

python 复制代码
import pandas as pd

data = {
    'age': [25, 30, 45, 35, 50, 28, 40, 60],
    'exercise_minutes': [30, 20, 10, 40, 15, 25, 20, 5],
    'daily_steps': [8000, 6000, 3000, 10000, 4000, 7000, 5000, 2000]
}

df = pd.DataFrame(data)
print(df)

7.6.2 分离特征与标签

python 复制代码
X = df[['age', 'exercise_minutes']]
y = df['daily_steps']

7.6.3 划分训练集和测试集

python 复制代码
from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.25, random_state=42
)

7.6.4 创建并训练线性回归模型

python 复制代码
from sklearn.linear_model import LinearRegression

model = LinearRegression()
model.fit(X_train, y_train)

7.6.5 进行预测

python 复制代码
y_pred = model.predict(X_test)

print("真实值:", y_test.values)
print("预测值:", y_pred)

7.7 如何评估回归模型的效果(入门级)

7.7.1 使用模型自带的 score

python 复制代码
train_score = model.score(X_train, y_train)
test_score = model.score(X_test, y_test)

print("训练集 R²:", train_score)
print("测试集 R²:", test_score)

(决定系数)的直观理解:

  • 接近 1:拟合效果较好
  • 接近 0:模型解释能力弱
  • 为负数:模型几乎不可用

7.7.2 为什么要同时看训练集和测试集

  • 训练集高、测试集低 → 可能过拟合
  • 两者都低 → 可能欠拟合
  • 两者接近 → 模型相对稳定

7.8 回归模型结果如何解读

7.8.1 预测值不是"绝对准确值"

回归模型给出的结果是:

基于历史数据的估计值,而不是精确答案。

因此:

  • 应关注整体趋势
  • 不应过度依赖单次预测

7.8.2 特征与结果的关系

在不深入数学的前提下,可以这样理解:

  • 每个特征都会对预测结果产生影响
  • 模型会综合这些影响给出最终结果

7.9 回归模型的适用与局限

7.9.1 适用场景

  • 关系相对简单
  • 数据量不大
  • 需要可解释性

7.9.2 局限性

  • 难以捕捉复杂非线性关系
  • 对异常值较敏感

这也是后续需要学习更复杂模型的原因。


7.10 回归模型中的常见误区

7.10.1 用回归模型做分类问题

例如:

  • 用回归模型预测"是否合格"
    这是不推荐的。

7.10.2 只看训练集效果

训练集分数高,并不代表模型可用。


7.10.3 忽略特征工程

回归模型对特征质量非常敏感。


7.11 本章小结

本章重点内容包括:

  • 回归模型用于预测连续数值
  • 线性回归是最基础、最常用的回归模型
  • 模型训练遵循统一流程
  • 回归结果需要结合评估指标解读

这些内容将为后续模型学习打下基础。


7.12 课后练习

一、判断题

  1. 回归模型的预测结果是连续数值。
  2. 线性回归模型只能用于非常小的数据集。
  3. 回归模型的预测结果可以完全等同于真实值。

二、简答题

  1. 回归模型适合解决哪类问题?
  2. 为什么需要同时评估训练集和测试集的效果?

三、实践题(思考)

在"学生学习行为数据"中:

  • 学习时长
  • 作业完成次数
  • 平时成绩
    如果目标是预测"期末考试成绩",这是否是一个回归问题?请说明理由。

7.13 练习题参考答案

一、判断题答案

  1. 正确
  2. 错误
  3. 错误

二、简答题参考要点

第 1 题:

  • 预测结果为连续数值
  • 常用于价格、数量、评分等问题

第 2 题:

  • 判断模型是否过拟合
  • 评估模型泛化能力

三、实践题参考答案

  • 是回归问题
  • 因为预测目标是一个具体数值(考试成绩)

相关推荐
公链开发8 小时前
2026 Web3机构级风口:RWA Tokenization + ZK隐私系统定制开发全解析
人工智能·web3·区块链
wyw00008 小时前
目标检测之YOLO
人工智能·yolo·目标检测
发哥来了8 小时前
AI视频生成企业级方案选型指南:2025年核心能力与成本维度深度对比
大数据·人工智能
_codemonster8 小时前
强化学习入门到实战系列(四)马尔科夫决策过程
人工智能
北邮刘老师8 小时前
智能体治理:人工智能时代信息化系统的全新挑战与课题
大数据·人工智能·算法·机器学习·智能体互联网
laplace01238 小时前
第七章 构建自己的agent智能体框架
网络·人工智能·microsoft·agent
诗词在线9 小时前
中国古代诗词名句按主题分类有哪些?(爱国 / 思乡 / 送别)
人工智能·python·分类·数据挖掘
高锰酸钾_9 小时前
机器学习-L1正则化和L2正则化解决过拟合问题
人工智能·python·机器学习
${王小剑}9 小时前
深度学习损失函数
人工智能·深度学习
啊巴矲9 小时前
小白从零开始勇闯人工智能:机器学习初级篇(PCA数据降维)
人工智能·机器学习