1. 数据集基础概念与核心作用
在机器学习项目中,数据集的质量和划分方式直接影响模型最终表现。我们先明确几个核心概念的定义和用途:
1.1 原始训练集(Training Set)
原始训练集是模型学习的基础素材,通常占全部数据的60-80%。它的核心特点是:
- 包含特征(features)和对应标签(labels)的完整样本
- 用于模型参数的直接优化(即"学习"过程)
- 需要足够大的规模以覆盖问题空间的多样性
在实际操作中,我习惯对原始训练集做以下处理:
- 数据清洗:处理缺失值、异常值和重复样本
- 数据增强:通过旋转、裁剪、加噪等方式扩展样本量(尤其在小数据集场景)
- 特征工程:构造更有判别力的特征表示
注意:训练集的质量比数量更重要。我曾遇到一个案例,清洗掉5%的低质量样本后,模型准确率反而提升了2.3%。
1.2 验证集(Validation Set)
验证集是模型调参的"裁判",通常占10-20%。它的关键作用包括:
- 监控训练过程中的模型表现
- 用于早停(Early Stopping)判断
- 超参数优化和模型选择
在划分验证集时,有几点经验值得分享:
- 时间序列数据需严格按时间划分,避免未来信息泄漏
- 类别不平衡时需保持分布一致性
- 建议使用交叉验证(如5-fold)在小数据集场景
1.3 测试集(Test Set)
测试集是模型能力的最终考场,占比约10-20%。其特殊要求包括:
- 必须与训练集/验证集完全隔离
- 只能使用一次(避免"测试集过拟合")
- 应尽可能模拟真实场景分布
我在实际项目中见过的最常见错误是:
- 在测试集上反复评估导致模型间接优化
- 测试集划分时存在数据泄漏(如同一患者的不同检查结果被分到不同集合)
1.4 RAG数据集(Retrieval-Augmented Generation)
RAG数据集是近年来兴起的新型数据组织形式,其特点是:
- 包含知识库(通常是向量化的文档集合)
- 查询-响应对(query-response pairs)
- 支持检索增强的生成任务
与传统数据集的关键区别在于:
- 知识库不需要与查询严格对齐
- 支持动态检索最新信息(而传统模型的知识固定在训练时)
- 更适合开放域问答等场景
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
