郭震 AI公众号:郭震AI

17 测试集的使用

发布日期:

最近更新:

分类: 大模型微调

预计阅读: 4 分钟

阅读次数: 0

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

整理说明

这篇内容怎么整理

郭震 · 2026-06-04

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

阅读路线

先按这条路线读

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

图文索引

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

6 张图 · 可跳转
测试集使用要克制流程图查看大图
测试集使用要克制流程图

测试集的价值在于独立判断。频繁根据测试集修改数据和参数,会把它变成另一种训练集,最终上线效果仍然不可信。

测试集使用要克制核对图查看大图
测试集使用要克制核对图

每次完整评估,我会记录模型版本、数据版本、评估脚本版本和原始输出路径。没有版本号的评估,很难比较。

在大模型(LLM)的微调过程中,不仅需要设定合理的评估指标,还需要深入理解测试集的使用。测试集是评估模型在未知数据上性能的重要工具,可以帮助我们验证模型的泛化能力。本篇将结合案例,探讨测试集的构造与使用方法,确保与上一篇的“评估指标设置”以及下一篇的“结果分析”相连贯。

测试集的定义与重要性

测试集是从数据集中独立出来的一部分数据,通常不参与模型的训练与微调。它的使用目的是在训练完成后提供一个“真实世界”的检验,以评估模型的性能。使用测试集的几个主要原因包括:

测试集使用判断卡查看大图
测试集使用判断卡

使用微调测试集时,先保证样本隔离、任务覆盖、难例比例、评分规则和最终一次性评估流程。

  1. 性能评估:通过在未见过的数据上评估模型,可以真实地反映其在实际应用中的表现。
  2. 检测过拟合:如果模型在训练集上表现良好,但在测试集上性能不佳,可能就存在过拟合现象。
  3. 模型选择:在不同模型之间进行比较时,测试集提供了一个公平的评测标准。

测试集的构造方法

构造一个合适的测试集是非常重要的,以下是几个步骤与考虑因素:

大模型微调阅读地图卡查看大图
大模型微调阅读地图卡

《测试集的使用》适合边看图边读正文。先确认问题和判断标准,再看概念解释与练习步骤,信息会更容易连成一条线。

1. 数据划分

在构建测试集时,通常会按照某种比例将数据集划分为训练集、验证集和测试集。常见的比例是70%训练集,15%验证集,15%测试集。然而,根据具体的应用场景,这个比例可以灵活调整。

from sklearn.model_selection import train_test_split

# 假设我们有一个数据集X和标签y
X_train, X_temp, y_train, y_temp = train_test_split(X, y, test_size=0.3, random_state=42)
X_val, X_test, y_val, y_test = train_test_split(X_temp, y_temp, test_size=0.5, random_state=42)

print(f"Training set size: {len(X_train)}")
print(f"Validation set size: {len(X_val)}")
print(f"Test set size: {len(X_test)}")

2. 数据的代表性

确保随机划分的测试集能够代表整个数据分布,避免由于某些数据的偏差导致模型评估的不准确。例如,若模型是为医疗应用设计的,测试集应该包含各种不同年龄、性别和病症的样本。

3. 避免数据泄露

在微调模型时,应确保测试集完全独立于训练过程。任何与测试集相关的信息(如测试集的标签)不应在训练过程中使用,以避免“数据泄露”,这样才能保证评估结果的有效性。

测试集的使用方法

使用测试集评估模型性能时,我们需要遵循以下步骤。

1. 模型评估

训练完成后,使用测试集对模型进行评估。可以使用之前设置的评估指标,诸如准确率精确率F1 分数等。

from sklearn.metrics import accuracy_score, f1_score

# 假设我们在测试集上进行了预测
y_pred = model.predict(X_test)

# 计算准确率和F1分数
accuracy = accuracy_score(y_test, y_pred)
f1 = f1_score(y_test, y_pred, average='weighted')

print(f"Accuracy: {accuracy:.4f}, F1 Score: {f1:.4f}")

2. 结果记录

对测试的结果进行详细记录,包括不同模型和参数下的结果,对比性能,确保能在后续的结果分析中使用。

案例分析

假设我们在图像分类任务中实现了一个大模型。在训练和验证过程中得到了良好的结果。接下来,我们使用独立测试集进行评估,以下是可能的测试结果:

  • 测试集大小:1000张图像
  • 准确率:92.5%
  • 精确率:0.93
  • 召回率:0.91
  • F1分数:0.92

这些评估结果表明,模型在实际的数据分布下性能依然表现良好。然而,需要分析导致模型性能不佳的类别,找出模型的弱点,以便在结果分析时对症下药。

测试集的使用应用复盘卡查看大图
测试集的使用应用复盘卡

复习《测试集的使用》时,建议把关键概念、操作步骤和可见结果放在同一页里回看。

测试集的使用应用检查卡查看大图
测试集的使用应用检查卡

练习《测试集的使用》时,建议把输入条件、处理动作和可见结果写在一起,方便下次复查。

结论

在大模型微调的过程中,合理使用测试集至关重要。通过精心构造与详细评估,可以帮助我们更好地理解模型的性能与局限性,为后续的结果分析奠定基础。下一篇我们将讨论如何对测试结果进行深入分析,以提取更多有用的信息和见解。

继续阅读

顺着这个系列继续看

返回栏目

Reader Messages

读者留言

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

最多 800 字

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

0/800

留言列表

0
正在加载留言...