3. 数据质量检查流程
数据质量检查贯穿模型训练数据生命周期的四个核心阶段:采集、清洗、标注、入库。每个阶段都有特定的质量风险与检查要点,只有逐阶段把关,才能避免“垃圾进,垃圾出”的后果。以下按阶段展开检查流程与关键控制点。
3.1 数据采集阶段检查
采集阶段的质量决定了后续所有工作的上限。检查重点在于数据源可靠性、采集覆盖度与原始格式完整性。
核心检查项:
- 数据源授权与合规:确认数据来源是否获得合法授权,是否涉及隐私或敏感信息。
- 采集覆盖度:检查数据是否覆盖目标场景的各个子域、边缘案例与长尾分布。
- 原始格式完整性:确保采集到的文件未损坏、编码一致、元数据(时间戳、来源标签)完整。
- 去重与冲突检测:初步识别重复记录或同一实体的冲突信息。
3.2 数据清洗阶段检查
清洗阶段的目标是去除噪声、修复错误、统一格式。检查流程应覆盖异常值处理、缺失值填充、格式标准化与一致性校验。
| 检查子项 | 检查方法 | 通过标准 |
|---|---|---|
| 异常值检测 | 箱线图、Z-Score、业务规则阈值 | 异常值比例 < 1%,且已标记或修正 |
| 缺失值处理 | 统计缺失率,选择填充/删除/标记 | 关键字段缺失率 < 5%,非关键字段 < 20% |
| 格式标准化 | 正则校验、枚举映射、单位转换 | 同一字段格式一致率 100% |
| 一致性校验 | 跨字段逻辑检查(如年龄与出生日期) | 逻辑冲突记录 < 0.1% |
清洗阶段避坑提示:不要盲目删除异常值——某些异常值可能是模型需要学习的边缘案例。建议先标记、再分析、后处理,并保留原始数据备份。
3.3 数据标注阶段检查
标注质量直接影响模型的上限。检查流程需覆盖标注一致性、标注准确性、标注覆盖率与标注规范执行情况。
3.4 数据入库阶段检查
入库是数据进入训练流程前的最后一道关卡。检查重点在于数据完整性、格式兼容性、元数据完整性以及版本管理。
⚠ 入库阶段常见风险:数据在传输或转换过程中发生字段截断、编码转换错误、索引丢失或文件损坏。务必在入库后执行全量校验。
- 完整性校验:对比源数据与入库数据的记录数、字段数、校验和(Checksum),确保无丢失。
- 格式兼容性检查:确认数据格式(JSON/Parquet/CSV等)与训练框架兼容,字段类型与Schema定义一致。
- 元数据完整性:检查数据集的版本号、创建时间、数据字典、标注规范文档是否一并入库。
- 数据分布快照:对关键特征生成分布统计(均值、方差、分位数),作为后续训练监控的基线。
- 访问权限与安全:确认数据集的读写权限、加密状态、脱敏处理是否符合安全策略。
| 检查项 | 工具/方法 | 验收标准 |
|---|---|---|
| 记录数一致性 | wc -l / COUNT(*) | 源与目标记录数差异 = 0 |
| 字段类型匹配 | Schema 对比脚本 | 类型匹配率 100% |
| 校验和验证 | MD5 / SHA256 | 校验和一致 |
| 数据分布基线 | 描述性统计 + 可视化 | 分布形态与预期一致 |
最佳实践:建议在入库阶段建立“数据质量门禁”机制——只有通过所有检查项的数据集才能被标记为“训练就绪”状态,并自动记录检查日志到元数据管理系统。