人工智能基础与应用 - 数据处理、建模与预测流程 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 小时前
医药集团数智化转型,智能综合管理平台激活集团管理新效能
大数据·人工智能·oa协同办公
聆风吟º3 小时前
CANN runtime 实战指南:异构计算场景中运行时组件的部署、调优与扩展技巧
人工智能·神经网络·cann·异构计算
Codebee5 小时前
能力中心 (Agent SkillCenter):开启AI技能管理新时代
人工智能
聆风吟º6 小时前
CANN runtime 全链路拆解:AI 异构计算运行时的任务管理与功能适配技术路径
人工智能·深度学习·神经网络·cann
uesowys6 小时前
Apache Spark算法开发指导-One-vs-Rest classifier
人工智能·算法·spark
AI_56786 小时前
AWS EC2新手入门:6步带你从零启动实例
大数据·数据库·人工智能·机器学习·aws
User_芊芊君子6 小时前
CANN大模型推理加速引擎ascend-transformer-boost深度解析:毫秒级响应的Transformer优化方案
人工智能·深度学习·transformer
智驱力人工智能7 小时前
小区高空抛物AI实时预警方案 筑牢社区头顶安全的实践 高空抛物检测 高空抛物监控安装教程 高空抛物误报率优化方案 高空抛物监控案例分享
人工智能·深度学习·opencv·算法·安全·yolo·边缘计算
qq_160144877 小时前
亲测!2026年零基础学AI的入门干货,新手照做就能上手
人工智能
Howie Zphile7 小时前
全面预算管理难以落地的核心真相:“完美模型幻觉”的认知误区
人工智能·全面预算