第三章 模型卡片数据准备:数据来源、数据规模、数据预处理、数据质量评估

好,咱们进入第三章。数据准备这块,说实在的,是模型卡片里最容易被低估的一环。我见过太多团队,模型结构设计得漂漂亮亮,结果数据一塌糊涂,最后卡片评审时被怼得哑口无言。嗯,咱们今天就把这块掰开揉碎了讲清楚。

3.1 数据来源:你得说清楚数据从哪来的

数据来源这部分,说白了就是给数据「验明正身」。你不能只说「我们从网上爬了数据」,这太模糊了。我个人习惯是把来源拆成三个维度来写:

  • 原始出处:具体是哪个网站、哪个数据库、哪个传感器?
  • 采集方式:是API调用、爬虫抓取、还是人工标注?
  • 时间范围:数据是什么时候采集的?过期数据会严重影响模型效果。

举个例子,我之前做过一个医疗影像项目,数据来源部分我是这么写的:

数据来源:XX医院PACS系统(2018-2022年)
采集方式:DICOM协议导出,经脱敏处理后使用
时间范围:2018年1月 - 2022年12月
补充说明:所有数据均已获得伦理委员会批准(批号:IRB-2022-018)

你想想看,如果评审专家看到这样的描述,是不是心里就有底了?

小技巧:如果数据来自多个来源,建议用表格列出来,一目了然。

3.2 数据规模:别光说「很大」,要量化

数据规模这块,我见过最离谱的写法就是「我们用了大量数据」。大量是多少?100条还是100万条?

我建议至少包含以下几个指标:

  • 总样本量:训练集、验证集、测试集分别多少
  • 特征维度:有多少个特征,每个特征的类型是什么
  • 类别分布:如果是分类任务,每个类别的样本数
  • 数据平衡性:有没有严重的类别不平衡问题

这里我放一个我之前项目里的实际数据规模表,你可以参考:

数据集 样本数 特征数 正样本占比 负样本占比
训练集 85,432 128 23.5% 76.5%
验证集 10,679 128 23.1% 76.9%
测试集 10,681 128 23.3% 76.7%

看到没?正样本只有23%左右,这就是个典型的类别不平衡问题。如果你不写出来,别人还以为你的数据是完美平衡的。

注意:数据规模不是越大越好。我曾经见过一个团队,硬塞了500万条噪声数据进去,结果模型效果反而变差了。数据质量永远比数量重要。

3.3 数据预处理:这一步决定了模型的天花板

数据预处理,说白了就是「把原材料加工成能用的食材」。我习惯把预处理步骤画成流程图,这样评审专家一眼就能看明白。

原始数据 缺失值处理 异常值检测 特征标准化

每个步骤我都建议写清楚具体方法。比如:

  • 缺失值处理:是用均值填充、中位数填充,还是直接删除?
  • 异常值检测:用的是3σ原则还是IQR方法?
  • 特征标准化:是Min-Max归一化还是Z-score标准化?

我记得有一次评审,对方问我:「你们缺失值怎么处理的?」我说「均值填充」。他又问:「为什么用均值而不是中位数?」我当时就愣住了。从那以后,我每个预处理步骤都会写清楚选择理由。

核心原则:预处理步骤要可复现。别人拿到你的数据,按照你写的步骤走一遍,应该能得到一模一样的结果。

3.4 数据质量评估:别等模型崩了才后悔

数据质量评估这块,很多人会忽略。我刚开始做模型卡片时也觉得没必要写,直到有一次模型上线后疯狂报错,查了半天发现是训练数据里有大量重复样本。

我建议从以下几个维度评估数据质量:

  1. 完整性:缺失值的比例是多少?有没有整列都是空值的情况?
  2. 一致性:同一字段的格式是否统一?比如日期字段,有的写「2023-01-01」,有的写「2023/01/01」。
  3. 准确性:数据有没有明显的错误?比如年龄字段出现「-5」这种值。
  4. 唯一性:有没有重复样本?重复率是多少?
  5. 时效性:数据是否过时?比如用2019年的数据训练2023年的模型。

这里我放一个数据质量报告的示例:

数据质量评估报告
----------------
完整性:缺失值占比 2.3%(主要集中在字段C和字段E)
一致性:日期格式统一率 99.8%(已修复剩余0.2%)
准确性:异常值占比 0.5%(已通过IQR方法识别并处理)
唯一性:重复样本占比 0.1%(已去重)
时效性:数据覆盖 2020-2022年,符合模型应用场景

你可能会问:「这些指标写到什么程度算合格?」我个人经验是,缺失率超过5%就要警惕,重复率超过1%必须处理,异常值一定要说明处理方式。

避坑指南:我曾经在一个项目里发现,数据质量评估报告里写的「缺失值占比0.5%」,结果实际跑模型时发现某个关键特征缺失率高达30%。后来查原因,是评估时只统计了整体缺失率,没按特征维度拆开看。所以,我建议你按特征维度逐一评估,别只看整体。

3.5 数据准备部分的常见问题

最后,我总结几个数据准备部分的高频问题,你在写模型卡片时可以对照检查:

  • 问题一:数据来源描述过于模糊,没有具体出处和时间范围
  • 问题二:数据规模只写总数,没有分训练/验证/测试集
  • 问题三:预处理步骤只列方法,不写选择理由
  • 问题四:数据质量评估只给结论,没有具体数据支撑
  • 问题五:忽略了数据隐私和合规性说明

嗯,数据准备这部分就讲到这里。记住一句话:模型卡片里的数据描述,不是为了凑字数,而是为了让别人能完全复现你的工作。你写得越清楚,别人对你的信任度就越高。