人工智能基础与应用 - 数据处理、建模与预测流程 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 题:

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

三、实践题参考答案

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

相关推荐
香蕉君2 小时前
第一品——LangChain核心基础
人工智能·langchain
GEO AI搜索优化助手2 小时前
生成式AI如何重塑搜索生态与用户体验
人工智能·生成式引擎优化·ai优化·geo搜索优化
love530love2 小时前
Windows 下 Z-Image-Turbo 专业版 Gradio 生成器实战:功能增强全记录
人工智能·windows·python·大模型·gradio·博客之星·z-image
万俟淋曦2 小时前
【论文速递】2025年第44周(Oct-26-Nov-01)(Robotics/Embodied AI/LLM)
人工智能·深度学习·ai·机器人·论文·具身智能·robotic
zxsz_com_cn2 小时前
设备预测性维护怎么做?预测性维护案例详解
大数据·人工智能
丝斯20112 小时前
AI学习笔记整理(37)——自然语言处理的基本任务
人工智能·笔记·学习
王中阳Go2 小时前
字节开源 Eino 框架上手体验:Go 语言终于有能打的 Agent 编排工具了(含 RAG 实战代码)
人工智能·后端·go
天竺鼠不该去劝架2 小时前
免费RPA工具有哪些?主流产品详解与选型指南
人工智能
骚戴2 小时前
LLM API 全方位实战指南:从 AI 大模型API选型到高效应用开发(2025年12月)
人工智能·大模型·llm·api·ai gateway