郭震 AI公众号:郭震AI

15 数据预处理与模型训练之训练集与测试集

发布日期:

最近更新:

分类: 深度学习小白

预计阅读: 3 分钟

阅读次数: 0

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

整理说明

这篇内容怎么整理

郭震 · 2026-06-04

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

阅读路线

先按这条路线读

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

图文要点

先看本文图文节点

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

数据预处理与模型训练之训练集与测试集结构图查看大图
数据预处理与模型训练之训练集与测试集结构图

训练集用来学习,验证集用来调参,测试集用来做最后评估。三者混在一起,模型表现就会被高估。

评估要隔离真实未知数据核对图查看大图
评估要隔离真实未知数据核对图

涉及时间序列或用户行为时,不要随便随机切分。很多业务场景需要按时间或用户隔离,才接近真实上线环境。

在上一篇中,我们深入探讨了特征工程的重要性以及如何提取和选择合适的特征来提升模型的表现。在本篇中,我们将进一步讨论数据预处理中的关键环节——划分训练集与测试集。这一过程对于模型的训练和评估至关重要,因此我们需要认真对待。

训练集与测试集的概念

在进行机器学习模型训练时,我们通常将数据集划分为两个主要部分:

训练集测试集判断卡查看大图
训练集测试集判断卡

划分训练集与测试集时,先看样本来源、时间顺序、类别比例、重复样本、验证集和泄漏风险。

  • 训练集(Training Set):用于训练模型的数据集,模型通过这个数据集学习特征与标签之间的关系。
  • 测试集(Test Set):用于评估模型性能的数据集,通过测试集我们可以了解模型在未见数据上的表现。

划分数据集的重要性

为何要特别关注训练集与测试集的划分?主要有以下几点原因:

深度学习阅读地图卡查看大图
深度学习阅读地图卡

进入《数据预处理与模型训练之训练集与测试集》正文前,可以先扫一遍配图:它在问什么、要分清哪些概念、哪一步值得动手、最后用什么标准验收。

  1. 防止过拟合:如果模型仅在训练集上表现良好,但在测试集上表现不佳,可能是模型过拟合了训练数据。
  2. 模型泛化能力:测试集能帮助我们评估模型的泛化能力,即模型在新数据上的表现。
  3. 调优参数:在选择最佳模型参数时,测试集提供了一个客观的评价标准。

划分方法

我们通常会使用以下几种方法来划分训练集与测试集:

1. 随机划分

最常用的方法是将数据集随机划分为训练集和测试集。以下是一个简单的Python示例,使用scikit-learn库:

import pandas as pd
from sklearn.model_selection import train_test_split

# 假设我们有一个数据框df,其中包含特征和标签
df = pd.read_csv('your_dataset.csv')

# 划分特征和标签
X = df.drop('target', axis=1)
y = df['target']

# 随机划分数据,80%训练集,20%测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

2. K折交叉验证

除了简单的随机划分,我们还可以使用K折交叉验证(K-Fold Cross-Validation)来更严谨地评估模型的性能。此方法将数据集划分为K个子集(fold),每次用K-1个子集进行训练剩下的一个子集进行测试。这个过程重复K次,从而得到K个模型及其性能。

以下是K折交叉验证的代码示例:

from sklearn.model_selection import KFold
from sklearn.linear_model import LogisticRegression
import numpy as np

# 假设X和y是我们的特征和标签
kf = KFold(n_splits=5)  # 5折交叉验证
model = LogisticRegression()

for train_index, test_index in kf.split(X):
    X_train, X_test = X.iloc[train_index], X.iloc[test_index]
    y_train, y_test = y.iloc[train_index], y.iloc[test_index]

    model.fit(X_train, y_train)
    score = model.score(X_test, y_test)  # 评估模型
    print(f"模型评分: {score:.4f}")
数据预处理与模型训练之训练集与测试集应用复盘卡查看大图
数据预处理与模型训练之训练集与测试集应用复盘卡

如果《数据预处理与模型训练之训练集与测试集》还没完全消化,可以从这张卡片的四个动作重新走一遍。

数据预处理与模型训练之训练集与测试集应用检查卡查看大图
数据预处理与模型训练之训练集与测试集应用检查卡

回看《数据预处理与模型训练之训练集与测试集》时,不必一次做大项目,先用一条简单样例确认主线是否清楚。

结论

在机器学习工作流程中,划分训练集与测试集是一个不可或缺的环节。良好的划分策略不仅能帮助我们构建有效的模型,还能为下一步的模型评估和调优提供可靠的数据基础。在后续的章节中,我们将讨论模型评估与调优中的常用评估指标,这将在评估模型性能时发挥重要作用。

关注训练与测试的划分,不仅是获得良好模型表现的关键,还是保证模型泛化能力的基础。做好这一环节,将为你的深度学习之旅打下坚实的基础!接下来,让我们继续深入探讨模型评估与调优之常用评估指标。

继续阅读

从这篇继续找到相关教程

AI 教程总索引

常见问题

读前先确认这三点

数据预处理与模型训练之训练集与测试集适合谁读?

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

读这篇深度学习入门教程要多久?

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

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

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

分享文章

转发到常用平台

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

相关教程

AI 教程总索引

继续阅读

继续找到相关 AI 教程

返回栏目

Reader Messages

读者留言

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

最多 800 字

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

0/800

留言列表

0
正在加载留言...