CODE-II — 巴西远程医疗 270 万份 12 导联心电 66 类标注数据集

273.5 万条 12 导联 ECG · 209.4 万成人患者 · 66 类 CODE 诊断标注 · 15,000 患者公开子集 · 8,475 份多专家盲评基准

来源 巴西 Telehealth Network of Minas Gerais(TNMG)远程心电服务原始 12 导联数字心电图(每检查最多 4 条 tracings,7-12 秒,300/500/600/1000 Hz,依采集设备)+ 66 类 CODE 诊断标签(class ID + label)+ 人口学与临床元数据(exam ID、日期、性别、出生日期、自述合并症、检查指征、心电测量值、报告类型)发布时间: 2026-10-03最后更新: 2026-10-20 阅读 35
CODE-II — 巴西远程医疗 270 万份 12 导联心电 66 类标注数据集

信息速览

数据集名称CODE-II — 巴西远程医疗 270 万份 12 导联心电 66 类标注数据集
数据类型人工标注,时序数据,原始数据
规模2,735,269 条 ECG 检查 / 2,093,807 名成人患者(1,663,122 人仅 1 份、430,685 人 2 份以上);CODE-II-open 15,000 患者第一份检查;C
接入方式巴西 Telehealth Network of Minas Gerais(TNMG)远程心电服务原始 12 导联数字心电图(每检查最多 4 条 tracings,7-12 秒,300/500/600/1000 Hz,依采集设备)+ 66 类 CODE 诊断标签(class ID + label)+ 人口学与临床元数据(exam ID、日期、性别、出生日期、自述合并症、检查指征、心电测量值、报告类型)
AI 就绪度

INFOBOX — CODE-II 一屏速览

维度 内容
本质 巴西 TNMG 远程心电网络 2019-2022 年采集的真实世界 12 导联 ECG 大规模数据集(CODE 家族第二代)
规模 2,735,269 条 ECG / 2,093,807 名成人患者;每检查最多 4 条原始 tracings(7-12 秒,300-1000 Hz)
标注 66 类 CODE 诊断类(65 类非互斥 + Normal 互斥),基于 2007 AHA/ACC + 巴西报告标准,认证心脏病专家逐份标注
三层结构 全量库(受限)/ CODE-II-open(15,000 患者,公开)/ CODE-II-test(8,475 份,波形公开标注盲评)
基线性能 1D-ResNet:micro-AUROC 0.983 / AUPRC 0.776;macro-AUROC 0.978 / AUPRC 0.561
Scaling law 性能随数据量上升,拐点约 15,000 患者——CODE-II-open 尺寸特意对齐拐点
迁移能力 预训练后迁移 PTB-XL 与 CPSC 2018,优于在更大数据集上训练的模型(含 9.1M 检查的 HuBERT)
论文 npj Digital Medicine 2026-05-26(DOI 10.1038/s41746-026-02704-4);arXiv:2511.15632(2025-11-19)
机构 UFMG 米纳斯吉拉斯联邦大学 + TNMG(2005 年运营,日 8,000+ 报告,覆盖 14 州 1,400+ 县市)
许可 open/test 波形 CC BY-NC-SA 4.0|test 标注保留盲评|全量受限申请制
伦理 UFMG 伦理委员会 CAAE 85892325.1.0000.5149(匿名二次分析,豁免知情同意)
库内互链 code-15(152) 同家族直系、ptb-xl(70) / cpsc(132) 迁移基准、mimic-iv-ecg(172) 同档规模

CODE-II 是心电图 AI 领域「规模与质量双上限」的最新答卷:它来自一个已经跑了二十年、每天产出八千多份报告的巴西公共远程心电网络,把 2019 至 2022 年间的 270 多万份真实临床 12 导联心电图,用一套在真实工作流里打磨了十余年的 66 类标准化诊断体系逐份标注,再配上一个由数十位心脏病专家盲评的独立测试集。它的姊妹篇 CODE-I 曾在 2020 年首次证明深度网络在六类心电图诊断上可以超过临床医生;而 CODE-II 把标签空间从 6 类扩展到 66 类,把测试集从 827 份扩展到 8,475 份,并第一次用严谨的 scaling law 实验回答了「心电图 AI 到底需要多少数据」——答案是约 15,000 名患者,恰好是它公开子集的尺寸。

导语读法三则:

  1. 只想下数据:直奔 §6 获取与许可——注意三层结构里只有 open 子集和 test 波形是公开的,test 的专家标注不公开、全量库要邮件申请。
  2. 关心基准与复现:直奔 §4 与 §5——主结果表、CODE-II-open 公开基准、scaling law 拐点、PTB-XL/CPSC 迁移对比四段连读。
  3. 做数据集工程研究:直奔 §3 标注体系与 §9 避坑清单——「模式与诊断分离」的标签哲学和多专家盲评规则是本条目最有方法学价值的两段。

§0 导读:这个数据集解决什么问题

心电图是全世界最常用的心血管诊断工具:无创、便宜、普及,但判读高度依赖受过训练的心脏病专家。深度学习被证明可以达到专家级判读水平(Ribeiro 2020 Nat Commun,即 CODE-I 论文),此后 ECG AI 的发展速度几乎完全被数据集卡住——公开库要么规模大但标签少(如 PTB-XL 的组合标签体系覆盖面有限),要么标签精但规模小,要么脱离真实临床的噪声环境。更麻烦的是,多数公开库的测试集与训练集之间没有严格的患者级隔离,也没有一个「标注保留、只许提交预测」的盲评机制,模型刷榜的公信力一直存疑。

CODE-II 的回答分四层。第一层是规模:从 TNMG 累计 1,100 万份数字 ECG 的时间窗内筛出约 300 万份原始记录,经质控后定格在 2,735,269 份、2,093,807 名成人患者——这是目前最大的专家标注 12 导联 ECG 数据集。第二层是标签:66 类 CODE 诊断类不是为论文新造的体系,而是 TNMG 日常远程报告里天天在用的结构化标签,基于 2007 年 AHA/ACC 指南与巴西 ECG 报告标准,特意把「心电图模式」(如 ST 段抬高、病理性 Q 波)与「临床诊断」(如急性心肌梗死)分开——模式留给 AI,诊断留给医生。第三层是评测结构:全量库训练、15,000 患者的公开子集做开发基准(带预定义 80/20 类内分层划分)、8,475 份独立患者的盲评测试集做终审——每份 test 检查由至少两名(多则四名以上)认证心脏病专家独立标注,74.4% 的检查获得全体审阅者完全一致的标签。第四层是科学问题:用一系列 scaling law 实验证明性能在约 15,000 名患者处出现拐点,并且 CODE-II 预训练的模型迁移到 PTB-XL(德国)与 CPSC 2018(中国)后,胜过在更大数据集(如 9.1M 检查的 HuBERT)上训练的对手——数据质量与标签广度的重要性第一次被量化摆上台面。

§0 读法三则:

  1. 这个条目覆盖「全量库 + 公开子集 + 盲评基准」三层资产:能拿到手的只有后两者,且 test 的标注永远不公开——所有性能声称都要靠提交预测来检验(§6)。
  2. 全文数字均出自 npj Digital Medicine 正式版与 arXiv:2511.15632 全文;PhysioNet 页面状态存在论文与 GitHub README 的口径差,已在坑 1 与存照逐条记录。
  3. 检索时注意与同家族的 CODE-15%(本库 rid 152)严格区分:后者是 CODE-I(2010-2016 数据、6 类标签)的 15% 抽样子集,与 CODE-II 是两个不同的数据集(§2.10 与坑 2)。

读前 90 秒术语速会(详见术语表):

  • TNMG:巴西米纳斯吉拉斯州远程医疗网络,数据来源与运营方;UFMG:米纳斯吉拉斯联邦大学,学术与治理主体。
  • CODE 诊断类:66 类标准化 ECG 标签体系,65 类可多标签共存,仅 Normal 互斥。
  • CODE-II-open / CODE-II-test:15,000 患者公开子集 / 8,475 份盲评集(波形公开、标注保留)。
  • micro / macro:微平均(大类主导)与宏平均(66 类等权)——引用性能必须成对给出。
  • 拐点(15,000 患者):scaling 曲线从陡增转平缓的位置,open 子集尺寸的设计依据。
  • 提交制评测:test 金标准不出库,模型预测提交给官方受控算分。

§1 数据集速览:十二问十二答

Q1:CODE-II 到底有多少数据?
质控后 2,735,269 份 12 导联 ECG 检查、2,093,807 名 18 岁及以上患者。上游是 TNMG 累计超 1,100 万份数字 ECG,时间窗(2019-01 至 2022-12)内约 300 万份原始记录,按日期、年龄与技术完整性过滤后得到最终规模。

Q2:每份检查里有什么?
两部分。信号部分:最多 4 条原始 12 导联 tracings(来自同一次临床会话),每条 7-12 秒,采样率 300/500/600/1000 Hz 视采集设备而定——波形以原始形式发布。标注部分:66 类 CODE 诊断类(class ID + label,多标签)、心电测量值、报告上传日期与报告类型(原始或修订)。

Q3:元数据有哪些字段?
检查 ID、检查日期、患者 ID、出生日期、性别、自述合并症(高血压、糖尿病、吸烟、血脂异常、既往心梗、查加斯病、COPD 等)、检查指征(常规检查、胸痛、术前评估、心悸、呼吸困难等 checkbox 多选)。患者年龄由检查日期与出生日期之差除以 365.25 重算。

Q4:66 类标签怎么组成的?
分 10 个临床组:起搏器(Pacemaker)、正常(Normal)、技术问题(Technical issues)、窦性心律(Sinus Rhythm)、心律失常(Arrhythmia)、房室传导障碍(AV Conduction Disorders)、心腔肥大(Chamber Hypertrophy)、室内传导障碍(Intraventricular Conduction Disturbances)、缺血/梗死(Ischemia/Infarction)与杂类(Miscellaneous Conditions)。除 Normal(互斥)外 65 类可多标签共存。

Q5:谁标的注,质量如何?
日常报告由 TNMG 认证心脏病专家按标准判据出具、结构化为 CODE 类。CODE-II-test 另有加强流程:46 名专家参与,每份至少 2 名独立盲审(多数 2-3 名,复杂病例 4 名以上),74.4%(6,309 份)达成完全一致,25.6%(2,166 份)按多数规则定标。

Q6:公开的部分有什么、什么许可?
CODE-II-open:15,000 名患者的第一份检查,预定义 12,000 训练 / 3,000 验证划分(80/20 类内分层)。CODE-II-test:8,475 份独立患者检查的波形。两者均 CC BY-NC-SA 4.0,经 PhysioNet 发布(详见 §6 与坑 1)。test 的专家标注不公开。

Q7:基线模型性能如何?
1D-ResNet(8 导联 400 Hz 输入)在全量库上训练后在 CODE-II-test 达到 micro-AUROC 0.983、AUPRC 0.776;macro-AUROC 0.978、AUPRC 0.561。常见病表现出色(房颤 AUPRC 0.950),罕见病(如 STEMI 0.647)变异较大。

Q8:15,000 患者的公开子集为什么是这个尺寸?
Scaling law 实验显示模型性能随训练数据量上升,在约 15,000 名患者处从陡峭增益转为平缓增益——CODE-II-open 特意设计在这个拐点上,让公开子集既能支撑有竞争力的模型,又不浪费数据。

Q9:它和其他 ECG 数据集比强在哪?
三点:真实世界噪声与设备多样性(300-1000 Hz 混采)、66 类覆盖结构性与节律性异常的全谱、以及「训练-公开验证-盲评测试」三层评测闭环。迁移实验还证明其预训练表征在国际基准上通用。

Q10:我现在能拿到什么?
马上:CODE-II-open 全部(波形+标注+预定义划分)与 CODE-II-test 波形(经 GitHub 入口指往 PhysioNet,CC BY-NC-SA 4.0)。要申请:全量库(邮件 TNMG 个案审核)。永远拿不到直链:test 集专家标注(提交预测受控评测)。

Q11:跑通官方基线需要什么资源?
open 规模(15,000 检查 × 8 导联 × 4,096 样本)单卡即可完成训练与迭代——这正是「拐点对齐设计」的工程红利之一。全量规模(2.7M 检查)建议流式读取与混合精度,并预留多卡。超参考求对齐(见附录 L),否则成绩与文献不可比。

Q12:数据会再更新吗?
会。GitHub README 自述 under construction(抓取时点最后提交 2026-05-11),PhysioNet 链接激活后预计带正式版本号与 PID。做实验时快照仓库 commit 与下载日期,复现声明里写清版本——这是数据集 construction 期的通用自保动作。

补充:条目名片(速查卡)

名片项 值
一句话身份 巴西远程医疗 2019-2022 年 273.5 万份 12 导联 ECG、66 类专家标注的三层数据集
本库 slug / rid code-ii / 本条目(code-15 为家族前代,rid 152)
论文 DOI 10.1038/s41746-026-02704-4(npj Digital Medicine 2026)
最强项 规模 × 标签广度 × 盲评治理三重叠加
最弱项 许可收紧(NC-SA)+ 全量受限 + test 标注不出库
首选用途 多标签 ECG 分类、预训练、scaling/迁移研究
避开场景 商用、ICU 监护流、需要死亡随访的研究
关键数字口诀 「273.5 万检查 / 209.4 万患者 / 66 类 / 1.5 万 open / 8,475 test / 拐点 1.5 万 / micro 0.983」
一图记忆 三层金字塔:底座全量库(受限)→ 中层 open 基准(公开)→ 塔尖 test 盲评(波形公开、标注保留)

§2 数据构成与规格

2.1 筛选漏斗:从 1,100 万到 273.5 万

CODE-II 不是 TNMG 全库的快照,而是一个经过四层筛选的「精 curate」子集。理解漏斗每层的判据,直接决定你对数据分布的理解:

  1. 服务层:TNMG 自 2005 年运营至今,累计执行超 1,100 万份数字心电图,目前每日产出 8,000 余份报告,服务网络覆盖巴西 14 个州、1,400 余个县市。基层医疗机构采图、中心专家出报告的「远程判读」模式,天然产生了规模庞大且全自动数字化的 ECG 流水。
  2. 时间窗层:论文选取 2019 年 1 月至 2022 年 12 月的检查,与 CODE-I(2010-2017)形成不重叠的时段——这就是家族名里的「II」:第二代、新采集、新标注体系。时间窗内原始记录约 300 万份。
  3. 硬过滤层:仅保留年龄 ≥18 岁的成人检查;要求记录具备足够时长与必需导联(技术完整性过滤),剔除损坏或结构性不一致的信号。日期、人口学、技术三条判据构成论文所述的 extensive preprocessing。
  4. 患者串联层:同一患者在 TNMG 的多次检查被数据专员用个人身份信息(PII)做记录串联、赋予唯一 patient ID——这一步的产物是 430,685 名有两份以上检查的患者,也是患者级划分得以实施的前提。PII 本身不随数据集发布。

漏斗终点:2,735,269 份检查、2,093,807 名患者。其中 1,663,122 人(79.4%)只有一份检查,430,685 人有两份以上——所有人口学统计与 scaling law 实验均只用每人的第一份检查(患者级),避免重复检查带来的偏倚。

地理分布一瞥:论文 Fig. 1 以巴西地图呈现各州 ECG 的绝对与相对数量——米纳斯吉拉斯州(TNMG 大本营)占据最大份额,其余散布于 14 个州的 1,400 余县市。这一「总部州 + 广覆盖」的地理指纹意味着:数据集对巴西东南部(尤其米纳斯州)的代表性强于北部偏远州;用它训练的模型在亚马逊流域人群上的表现要靠迁移实验与外部基准间接佐证(§5.4 的跨人群结果因此更有分量)。逐州计数见论文 Source Data 文件。

2.2 信号规格:原始波形发布,预处理交给脚本

CODE-II 在信号层面的一个关键决策是:发布原始波形,而不是只给预处理产物。

  • 导联:标准 12 导联(I、II、III、aVR、aVL、aVF、V1-V6)。注意论文基线模型只用了其中 8 个导联(I、II、V1-V6)—— limb 导联里 III、aVR、aVL、aVF 可由 I 与 II 线性组合重建,8 导联已含全部独立信息。
  • 时长:每条 tracing 7 至 12 秒,比常规 10 秒标准略宽——不同设备与机构的采集习惯不同。
  • 采样率:300 / 500 / 600 / 1000 Hz 四档,取决于采集设备。这是真实世界多中心数据的常态,也是复现论文结果时必须处理的第一个坑(见坑 4)。四档并存不是数据缺陷而是场景事实:TNMG 的服务点遍布 1,400 余个县市,不同年代、不同厂商的设备同时在网。对建模者的提示有二:任何「按固定采样点数切片」的代码都会错位;任何「假设单一频带」的滤波器都会在部分记录上失配。官方脚本的核心价值正在于把这些设备差异折叠成统一管线。

混采频带的两个推论:① 数据集的信号统计量(幅度分布、频谱峰值)呈现「设备指纹」,直接用全库统计做归一化会把设备差异混入个体差异——按记录自身统计做 per-recording 归一化更稳;② 采样率字段本身就是可用的元数据特征,做质量评估或设备来源研究时勿丢弃。

  • 每检查多条 tracings:同一临床会话内最多保留 4 条记录(经损坏与结构一致性筛选)。训练时每条作为独立输入;测试时对同检查的多条预测取平均。这意味着「检查数」与「波形条数」不是一回事——引用规模时必须写清口径。
  • 预处理管线(论文采用配置):重采样至 400 Hz → 调整长度至 4,096 样本(约 10.24 秒,不足则零填充)→ 高通滤波去基线漂移 → 60 Hz 陷波滤波去工频干扰 → 仅保留 8 导联。全部步骤在公开仓库 antonior92/ecg-preprocessing 中可复现,该脚本支持多种预处理配置。

与 CODE-15% 的「HDF5 + 零填充 4,096 样本 400 Hz 成品」不同,CODE-II-open 发布的是原始波形——这对希望自定义管线(如不同滤波、不同采样率)的研究者是增益,但对只想快速跑通基线的人是额外工程量。

两种发布策略的工程权衡:

维度 CODE-15%(成品发布) CODE-II(原始发布)
上手成本 低(load 即用) 中(先跑预处理管线)
灵活性 锁死单一配置 任意重采样/滤波/导联方案
可复现性 天然统一 依赖官方脚本对齐
存储体积 大(固定 4,096 样本冗余) 较小(原始 7-12 秒)
适用者 快速基准测试 方法学研究、设备鲁棒性研究

选择哪套数据做实验,取决于你更看重「与既有文献对表」(成品口径更稳)还是「方法学自由度」(原始口径更强)。引用性能数字时则要记住:论文全部成绩基于官方预处理配置。

2.3 元数据字段字典(CODE-II-open 随附)

论文正文明确列出的两套信息:

采集与人口学元数据:

字段 说明
exam_id 检查唯一标识
exam_date 检查日期
patient_id 患者唯一标识(经 PII 串联生成)
date_of_birth 出生日期(年龄由此重算:(exam_date − date_of_birth) / 365.25)
sex 性别
reported comorbidities 自述合并症(可多选;高血压/血脂异常/糖尿病结合用药推断)
clinical indication 检查指征(checkbox 多选:常规检查、胸痛、术前风险评估、心悸、呼吸困难、其他等)

诊断与报告元数据:

字段 说明
report upload date 报告上传日期
report type 报告类型(original 原始 / revised 修订)
ECG measurements 心电测量值(心率、间期等定量参数)
CODE classes 66 类诊断的 class ID + label 集合(多标签)

字段编码的列名级细节在论文 Supplementary(抓取时点未能取得全表,见待核清单)。

2.4 人口学与临床画像:一个 53.6 岁的巴西

患者级(每人首份检查)统计:

  • 性别:女性 59.1%(1,237,632)、男性 40.9%(856,175)——女性偏多与 TNMG 服务的初级保健场景吻合。
  • 年龄:总体平均 53.6 岁(女性 53.0 / 男性 54.4)。
  • 合并症自述:高血压 47.7%(近半数)、糖尿病 14.0%、吸烟 8.2%、血脂异常 4.8%、既往心肌梗死 1.8%、查加斯病 1.1%、慢性阻塞性肺疾病 0.7%。患者可报告多项;高血压、血脂异常、糖尿病还结合用药记录推断。
  • 检查指征:常规体检与胸痛居首,其次为术前风险评估、心悸、呼吸困难与「其他」;各人口学分组中两项领先指征一致,年轻女性组(18-59 岁)在各类指征中占比最高。

临床含义:这是一个以初级保健与筛查为主、夹带大量心脏专科转诊的混合人群——不是 ICU 急诊人群(对照 MIMIC-IV-ECG),也不是健康志愿者人群。47.7% 的高血压自述率与 1.1% 的查加斯病自述率(巴西地方病)都是理解这个数据集「巴西性」的重要锚点。

与 MIMIC-IV-ECG(rid 172)的人口学对照:MIMIC-IV-ECG 来自波士顿 Beth Israel 的院内/ICU 语境,患者以住院与急诊为主;CODE-II 患者以基层门诊与筛查为主。反映到标签分布上:ICU 语境富集急性与危重异常,远程语境富集慢性结构异常(左房增大 10.6%、左室肥大 4.0% 这类「静悄悄的病」)与大量正常。做「真实世界 ECG」研究时,这两个库是同一枚硬币的两面——选哪个取决于你要模拟的部署场景。

2.5 类别与组分布:接近一半正常、长尾延伸到罕见病

检查级(exam-level)频次最高的诊断类:

CODE 类 简称 检查数 占比
正常心电图 NORMAL 1,364,623 49.9%
非特异性 ST-T 异常 NS-STT 364,537 13.3%
左房增大 LAE 289,219 10.6%
左室肥大 LVH 110,180 4.0%
窦性心动过速 ST 107,212 3.9%
左束支阻滞 LBBB 60,804 2.2%
心房颤动 AF 52,513 1.9%
右束支阻滞 RBBB 49,473 1.8%

10 个临床组的分布(正文列出前五组):Normal 49.9%、杂类 Miscellaneous 688,273(25.2%)、心腔肥大 Chamber Hypertrophy 403,756(14.8%)、心律失常 Arrhythmia 281,992(10.3%)、室内传导障碍 Intraventricular Conduction Disturbances 268,651(9.8%)。其余五组(起搏器、技术问题、窦性心律、房室传导障碍、缺血/梗死)的组级计数未在正文给出(存照,见待核清单 2)。

组合多样性是 CODE-II 多标签性质的直接体现:非互斥组之间共观察到 251 种不同的组合模式;多数检查只带 1 个诊断类,带 2 个及以上类的检查频次逐级递减。论文同时强调:只用每人第一份检查做同样的分布分析(Supplementary Table 3),相对频次保持一致——分布稳健。

2.5b 罕见类长尾的量化画像

Top-8 类覆盖约 88% 的检查标签,其余 58 类分食长尾。长尾的三层含义:

  1. 评测层:宏平均被长尾主导——一个仅百份样本的类的 AUPRC 波动可以撼动宏指标零点几个百分点。读宏指标务必同时看 bootstrap 区间宽度。
  2. 训练层:等权 BCE 下长尾类梯度稀疏;论文没做重加权/重采样(保持基线朴素),这为后续方法论文(focal loss、类平衡采样、长尾增强)留出明确的改进空间。
  3. test 设计层:CODE-II-test 刻意富集罕见类,正是为了让长尾类「可评测」——这与主数据集的分布差是制度性选择而非数据质量问题(§3.7)。

2.6 三层资产的结构逻辑:训练、开发、终审的分工

CODE-II 拆成三个功能迥异的层,不是随意的子集切分,而是一个完整的实验治理结构:

层 功能 类比
CODE-II 全量(受限) 模型开发与预训练的「燃料库」:2,735,269 份,内部再分 81.4/18.6 训练-验证 训练场
CODE-II-open(公开) 社区统一的模型开发基准:15,000 患者、预定义划分,所有论文用它对齐比较 练习赛
CODE-II-test(公开波形/保留标注) 终审考场:8,475 份独立患者,标注不出库,只收预测 决赛

三层之间患者零重叠是底线设计:test 患者不在全量训练/验证里出现,open 患者也与 test 互斥。这保证了两条性能数字链的独立性——「open 上训练的模型」与「全量训练的模型」在 test 上各自有干净的成绩单(§5.3 的 0.951 与 0.978 正是这两条链)。理解这个结构后,读任何「CODE-II 成绩」时第一个问题应该是:用哪一层训练、在哪一层评测。

2.7 规模口径换算:exam、patient、tracing 三个数不要混用

CODE-II 的规模有三套口径,混用是文献里最常见的错误之一:

  • 检查数(exam-level):2,735,269——每份检查是「一次临床会话的一次 ECG 处方执行」,携带一套 66 类标注与元数据。标签、划分、评测都以检查为单位。
  • 患者数(patient-level):2,093,807——患者串联后的去重人数。人口学统计、scaling law 数据轴、划分防泄漏都以患者为单位。
  • 波形数(tracing-level):超过检查数——每检查最多 4 条 tracings,训练时各自独立进批次。文件体积与训练步数估算按这个口径。

换算规则:患者 ≤ 检查 ≤ 波形。给数据集写描述或做存储规划时先声明口径;本条目正文若无特别说明,「条记录」指检查口径。

2.8 CODE-II-open 的划分方案:为什么「预定义划分」是资产

CODE-II-open 随数据发布两个预先固化的子集:训练 12,000 份、验证 3,000 份(80/20)。其生成规则有两要素:

  1. 患者互斥:同一患者的检查不跨集(open 内每人只取第一份检查,患者天然唯一)。
  2. 类内分层:以诊断类为轴逐一分配,使每个类内部的训练/验证比例都接近 80/20——而非只在总量上 80/20。

第二要素是关键:多标签长尾分布下,全局随机划分会让罕见类在验证集中「时有时无」,指标方差不收敛。类内分层把每个类的验证样本都锁死在期望比例上,让不同论文在 open 上跑出的数字可比。论文还提供了逐类的划分后分布表(Supplementary Table 5),其启发式与 PTB-XL 的划分惯例同构——这是 CODE-II-open 被定位为「社区公共基准」的制度基础。

对使用者的直接含义:不要重划 open。自划分会同时破坏「患者互斥」与「类内分层」两要素,使你的数字失去与文献对表的资格(坑 8 的患者泄漏问题在此处同样适用)。

2.9 合并症与指征字段的建模用法

合并症(comorbidities)与检查指征(clinical indication)两个 checkbox 多选字段,是最容易被忽略的建模资源:

  • 弱点标签(weak labels):合并症由患者自述 + 用药推断,粒度粗于诊断但独立于心电判读——可用于研究「心电图能否预测高血压/糖尿病」(ECG 作为多病共筛工具的文献热点)。
  • 指征偏倚校正:检查指征(常规体检 vs 胸痛 vs 心悸)直接影响患病先验。做分布外评测或校准研究时,指征字段是现成的分层变量。
  • 查加斯病研究接口:1.1% 的查加斯自述率让 CODE-II 延续了 CODE 研究分支「ECG 筛查查加斯」的可行路径(Jidling 等的 PLoS NTD 工作即基于 CODE-I)。
  • 用药推断口径:高血压、血脂异常、糖尿病三类合并症结合用药记录推断——用这些字段做标签时要意识到它们不是病历确诊。

2.10 与 CODE-I / CODE-15% 的边界(家族对照表)

这是本条目最重要的防混淆段落。CODE 家族三个成员的关系:

维度 CODE-I CODE-15%(rid 152) CODE-II(本条目)
采集时段 2010-2017 2010-2016(CODE-I 子集) 2019-2022(test 集 2018-2025)
规模 2,322,513 条(原始论文口径) 345,779 条 / 233,770 患者 2,735,269 条 / 2,093,807 患者
标签 6 类(节律与传导) 同 CODE-I 的 6 类二元标签 66 类 CODE 诊断类
公开渠道 —(衍生子集公开) Zenodo 4916206(CC BY 4.0) PhysioNet(CC BY-NC-SA 4.0)+ 受限全量
测试集 CODE-TEST 827 份 沿用 CODE-TEST CODE-II-test 8,475 份
论文 Ribeiro 2020 Nat Commun 同左(数据论文后续) Abreu 2026 npj Digital Medicine
关系 家族第一代 CODE-I 的 15% 抽样子集 独立采集的第二代

三个结论:① CODE-II 不是 CODE-I/CODE-15% 的版本升级或重标注——它是 2019 年起的新采集,与 CODE-I 时段零重叠;② 标签体系不同:6 类 vs 66 类,两者数字不可比;③ 检索时看到「CODE dataset」字样要先核对时段与标签数,再决定对号入座(坑 2)。

本表为本条目与 code-15(rid 152)条目的互查锚点:两条目各自独立成稿,但「时段 / 规模 / 标签数 / 许可」四行互为镜像校验——发现任何一行冲突,以各自论文原文为准并回报主会话。

§3 标注体系与质量流程

3.1 CODE 诊断类:一套来自真实工作流的 66 类体系

CODE 诊断类的底稿是 TNMG 远程报告系统的结构化标签体系,制定依据是 2007 年 AHA/ACC(美国心脏协会/美国心脏病学会)指南与巴西 ECG 报告标准,并在与心脏病专家的合作下打磨、在超过十年的远程服务中常规使用。这决定了它与「为论文临时造一套标签」的根本不同:每一类都有真实的临床工作流背书,标注成本已由日常服务摊薄。

10 个临床组与代表性类别:

组 代表性内容
Pacemaker 起搏器心律、起搏器感知/夺获异常
Normal 正常心电图(NORMAL,唯一互斥类)
Technical issues 信号质量问题(电极脱落、干扰等)
Sinus Rhythm 窦性心律、窦缓(SB)、窦速(ST)、窦性心律不齐
Arrhythmia 心房颤动(AF)、心房扑动、室上性/室性早搏、室速等
AV Conduction Disorders 一度/二度/三度房室阻滞等
Chamber Hypertrophy 左房/右房增大(LAE/RAE)、左室/右室肥大(LVH/RVH)
Intraventricular Conduction Disturbances 左束支阻滞(LBBB)、右束支阻滞(RBBB)、分支阻滞、非特异室内传导延迟
Ischemia/Infarction ST 段抬高、ST 段压低、T 波倒置、病理性 Q 波、STEMI 类
Miscellaneous Conditions 非特异性 ST-T 异常(NS-STT)、QT 延长、低电压、电轴偏移等

66 类的完整清单与正式诊断语句映射在论文 Supplementary Table 2(抓取时点未取得全表,见待核清单 1——条目正文按 10 组 + 代表性类名成稿,不虚构未核实的逐类名称)。

3.2 「模式与诊断分离」:CODE-II 最值得抄走的设计哲学

传统心电报告把「可观测模式」与「临床诊断」混写在一段自由文本里(「窦性心律,ST 段抬高,提示急性前壁心肌梗死可能」)。CODE 标签体系刻意做了切分:

自由报告语句 CODE 标签收录 CODE 标签不收录
「ST 段抬高,提示急性前壁心梗」 ST 段抬高(Ischemia/Infarction 组) 急性心肌梗死(临床诊断)
「QT 延长,考虑长 QT 综合征」 QT 间期延长(Miscellaneous 组) 长 QT 综合征(临床综合征)
「病理性 Q 波,陈旧性心梗可能」 病理性 Q 波 陈旧性心梗结论
「窦性心律,偶发房早」 窦性心律 + 房性早搏(多标签共存) ——
  • 进标签的是模式:ST 段抬高、病理性 Q 波、QT 间期延长、电轴偏移——这些是可以从波形直接识别的客观所见。
  • 不进标签的是诊断:急性心肌梗死(需结合症状与心肌酶)、长 QT 综合征(需结合病史与家族史)——这些需要医生整合临床信息的最终判断。

这个切分对 AI 建模有三重红利。第一,监督信号客观:模型的任务被定义为「报告所见」而非「猜测结论」,输出可解释、可审计。第二,责任边界清晰:AI 辅助系统输出「ST 段抬高,建议紧急评估」,把最终诊断决策留给医生——避开「模型越权诊断」的法律与伦理雷区。第三,跨人群可迁移:模式识别不依赖人群的疾病谱差异,这正是 CODE-II 预训练模型能迁移到德国 PTB-XL 与中国 CPSC 2018 的标签学基础(§5.4)。

3.3 日常标注流:远程报告即标注

主数据集的标注不是额外组织的标注项目,而是 TNMG 日常服务的副产品:

  1. 基层机构采集 ECG 并上传;
  2. TNMG 认证心脏病专家按标准判据远程判读、出具报告;
  3. 报告中的诊断语句被映射为 66 类 CODE 类(class ID + label),随检查一并归档;
  4. 部分报告经历修订(report type 字段记录 original / revised 双状态);
  5. 数据专员在后台完成患者串联(PII 使用不落盘)与质量复核。

这一流程意味着标注质量由「认证专家 + 标准判据 + 真实临床问责」三重机制保证——TNMG 的远程报告本身就要对基层转诊负责,不是一次性研究标注。相应地,它也继承了真实工作流的固有特性:标签是「专家对这份检查的判读」而非「该患者的真值状态」,间期性心律失常(如阵发性房颤)在一次判读中的检出天然受采样时机影响。修订链的质量含义:original → revised 的修订流是 TNMG 内部质控的一部分(上级复核、基层申诉、设备故障重判都可能触发修订),这使 report type 字段成为天然的「标注置信度」代理变量——修订版报告的平均置信度直觉上高于初版,但论文未按此分层报告结果,用前先在 open 验证集上自行验证该假设。

3.4 CODE-II-test:46 位专家的多盲金标准

CODE-II-test 是整个数据集质量声明的塔尖,8,475 份检查、2018-2025 年采集(覆盖比主数据集更长的窗口,存照见坑 1 与双口径表)、与主数据集零患者重叠:

  • 人员:46 名认证心脏病专家参与标注;每份检查至少 2 名独立盲审,多数由 2-3 名覆盖,少数复杂病例 4 名以上。
  • 定标规则(预定义,非事后裁量):
    • 完全一致规则:所有审阅者的全部标签一致 → 直接采用。覆盖 6,309 份(74.4%)。
    • 多数规则:至少 2 名审阅者给出同一诊断 → 采用该诊断。覆盖 2,166 份(25.6%)。
  • 抽样设计:刻意纳入覆盖罕见诊断类的病例,保证基准对长尾类的评测能力——代价是 test 集的类分布与主数据集不同(例如 LBBB 与 AF 在 test 中均为 2.6%,而主数据集中分别为 2.2% 与 1.9%;NORMAL 在 test 中约 40.1%,低于主数据集的 49.9%)。跨集比较指标时必须意识到这一分布位移。
  • 用途边界:专家标注不公开、保留用于基准。任何研究者可提交模型预测,由 TNMG/UFMG 侧受控评测——「标注保留」不是刁难,而是防止测试集标签流入训练管线的制度性设计。

3.5 隐私、伦理与治理

  • 伦理批准:UFMG(米纳斯吉拉斯联邦大学)研究伦理委员会,CAAE 85892325.1.0000.5149。
  • 知情同意:研究为匿名化临床数据的二次分析,伦理委员会豁免个体知情同意要求;研究不含可识别人体身份的图像。
  • 数据治理:全量库访问需签署保密与数据使用协议;患者串联时使用的 PII 由 TNMG 数据专员在内部处理、不随任何版本发布;CODE-II-open 与 test 的发布经过匿名化与质控双重把关。
  • 权重治理:在全量库上训练的模型权重由 UFMG 持有授权并负责受控分发——即「数据受限、权重也受限」的全链路治理(区别于「数据受限、权重随便下」的常见松动做法)。

3.6 两代标注体系对比:CODE-I 六类 vs CODE-II 六十六类

把两代标签体系并排看,能看清这七年间数据集工程思想的演进:

维度 CODE-I(2020) CODE-II(2026)
类数 6 类 66 类
覆盖面 节律与传导(房颤、一度 AVB、束支阻滞、窦缓、窦速) 全谱:节律、传导、形态、结构、器械、技术问题
标签结构 每类独立二元 多标签向量(65 非互斥 + 1 互斥)
标注来源 远程报告六项结构化抽取 同源工作流 + 扩展判据体系
测试集 CODE-TEST:827 份 CODE-II-test:8,475 份(十倍)
公开子集 CODE-15%(34.6 万,CC BY 4.0) CODE-II-open(1.5 万,NC-SA)+ test 波形
公开子集策略 大规模抽样、全库近似分布 拐点对齐设计(15,000 恰在 scaling 曲线转折)

值得注意的是公开子集策略的转向:CODE-15% 走「大而全的近似快照」路线,CODE-II-open 走「拐点对齐的精品基准」路线。两个策略没有对错——前者服务于 2020 年「需要更多数据」的时代命题,后者服务于 2026 年「需要可比基准与更高质量监督」的时代命题。

3.7 test 集分布位移:评测公平性的双刃剑

CODE-II-test 的类分布刻意偏离主数据集:NORMAL 从 49.9% 压到约 40.1%,LBBB 与 AF 从 2.2%/1.9% 升到各 2.6%,罕见类获额外配额。这一「分层富集」设计有两个直接后果:

  • 正面:罕见类在 test 里有足够样本支撑可信的逐类指标——若 test 完全按主集分布,STEMI 这类千分之一级别的类只摊到个位数样本,AUPRC 无意义。
  • 代价:跨集指标不可直接比较。模型在主数据集验证集上的患病率先验与 test 不一致,论文为此用「阈值冻结」策略(验证集选阈值、test 原样应用)来暴露而非掩盖这个位移——这也是微平均 precision(0.632)偏低而 recall(0.801)偏高的结构性原因:阈值按主集流行率校准,test 里罕见类被富集后,同样的阈值自然偏向多报。

对使用者的结论:在 CODE-II-test 上与文献对表时,确认对方报告的是官方口径(阈值冻结 + 提交制评测);自己做阈值后处理再报 test 成绩,等于偷看了考场。

3.8 患者串联: 数据专员的后台功课

「2,093,807 名患者」这个数字背后是 CODE-II 最不起眼却最不可省的工序:同一患者在 TNMG 多次检查(换医院、复查、随访)会生成不同的检查记录,识别「这是同一个人」需要比对姓名、证件等 PII。论文明确披露:

  • 串联由 TNMG 数据专员人工执行,使用 PII 校正自动匹配的分歧;
  • PII 本身绝不随任何公开版本发布——公开数据里患者 ID 是串联后的匿名代理键;
  • 串联质量决定患者级划分的有效性:若两个「同患者」检查被误串/漏串,患者互斥就会出现缝隙。

这也是「全量库受限」的一个结构性理由:只有 TNMG 内部能做 PII 级质量复核,公开版本只能信任其结果。对使用者,相应的信任声明是:按官方 patient_id 划分即视为安全;自建启发式(如按出生日期+性别重新聚簇)反而会引入新错误。

3.9 标注流程横向对照:四种生产模式

把 CODE-II 的标注流程放到 ECG(乃至医疗 AI)标注模式的坐标系里看:

模式 代表数据集 标注者 质量机制 代价
服务流副产品 CODE-II 主集、MIMIC 系 临床在岗专家 服务问责 + 标准判据 标签受临床视角约束
研究专项多盲 CODE-II-test、CODE-TEST 独立受聘专家委员会 完全一致/多数规则 最贵,规模必然小
众包/分层人力 PTB-XL 部分标注、皮肤科众包集 受训非专家 + 抽检 统计质控 细粒度临床语义弱
算法预标 + 人审 部分影像大数据集 模型 + 专家复核 一致性抽检 预标偏差可能传染

CODE-II 的混合策略值得注意:用最便宜的模式(服务流)吃下 273 万规模的「好标注」,用最贵的模式(多盲)保 8,475 份「金标注」,再用患者串联与盲评制度把两者锁进同一套治理框架。预算有限时的通用启示:好而大的日常标注 + 小而金的专项盲评,比「中等质量标注一大片」或「金标一小撮但无规模」都更有工程价值。

§4 基线模型与主结果

4.1 基线架构:1D-ResNet 的逐层解剖

CODE-II 的基线模型沿用 CODE-I 论文的残差卷积架构(开源仓库 antonior92/automatic-ecg-diagnosis),刻意不做架构创新——论文的叙事重心在数据,基线的作用是给数据质量一个可信的量化出口:

组件 配置
输入 8 导联(I、II、V1-V6)× 4,096 样本 @ 400 Hz
初始卷积 64 filters,kernel size 17
残差主体 5 个残差块;每块 2 层卷积(kernel 17)+ BatchNorm + ReLU + dropout 0.5
下采样 每块 4 倍(4,096 → 1,024 → 256 → 64 → 16)
通道数 随块递增:64 → 320
跳连 max pooling + 1×1 卷积对齐维度
输出 展平 → 全连接 → sigmoid(66 维多标签)

kernel 17 的一维大卷积核是该架构的标志性选择:心电特征(P 波、QRS 复合波、T 波)的时间尺度在 400 Hz 采样下对应几十到上百个采样点,大核让早期层就能覆盖完整心拍形态。

4.2 训练配置与多 tracing 处理

  • 损失与优化:二元交叉熵(各类等权重)、Adam、初始学习率 0.001、无权重衰减。
  • 学习率调度:验证 loss 连续 5 个 epoch 无改善则学习率 ×0.1,下限 1×10⁻⁷;最多训练 70 epochs。
  • 模型选择:按验证集最低 loss 挑选最优 checkpoint。
  • 全量库划分:2,226,443 份(81.4%)训练 / 508,826 份(18.6%)验证,患者级分离——同一患者的检查绝不跨集。
  • 多 tracing 处理:训练时同一检查的多条 tracings 各自作为独立样本进入训练;测试时对同一检查的各条预测取平均作为最终输出。

显存与吞吐账(工程参考):单个 8 导联 × 4,096 样本的 float32 张量约 0.13 MB;open 全集(15,000 检查 × 平均 1-2 条 tracing)预处理驻留在个位数 GB,单卡可全量缓存、以最高吞吐训练;全量库(2.7M 检查)则必须流式读取 + 混合精度 + 多卡数据并行。同检查的 tracings 在小批量内可能相遇——BN 统计量会看到同一患者/同一检查的强相关样本,这是「朴素 BCE 基线」的已知简化,方法学论文如对此敏感可改用 GroupNorm 或按检查分组采样。

4.3 主结果:CODE-II-test 上的全套指标

在全量 CODE-II 上训练的基线模型,在盲评测试集 CODE-II-test(8,475 份)上的表现:

微平均(micro-averaged,全类合并统计):

指标 数值
AUROC 0.983
AUPRC(Average Precision) 0.776
F1 score(类特定阈值) 0.706
Recall(敏感性) 0.801
Specificity 0.990
Precision 0.632
NPV(阴性预测值) 0.996

宏平均(macro-averaged,66 类等权平均):AUROC 0.978、AUPRC 0.561、F1 0.510、Recall 0.562、Specificity 0.988、Precision 0.515、NPV 0.995。

方法论细节:阈值无关指标(AUROC/AUPRC)直接计算;阈值相关指标(F1/Precision/Recall/Specificity/NPV)的阈值在验证集上按每类 F1 最大化选定后冻结、原样应用到测试集;95% 置信区间由 1,000 次 bootstrap 估计。

按类阈值的工程含义:66 个类各有一个冻结阈值,部署时这组阈值就是「模型过什么线报什么病」的操作手册。它带来两个工程责任:① 阈值与训练分布绑定——换人群/换设备部署时阈值必须重新校准,否则 precision 会漂(这正是 §4.4 test 集 precision 0.632 偏低的结构性原因);② 66 个阈值要做版本管理——阈值表本身就是模型制品的一部分,丢失即不可复现。

4.4 分级表现:常见病扎实,罕见病谨言

逐类分析(AUPRC 口径)的代表性数字:

类别 test 患病率 AUPRC 解读
正常心电图 NORMAL 40.1% 0.931 超过患病率两倍多,识别「无事」很可靠
左束支阻滞 LBBB 2.6% 0.944 中等患病率、形态特异,性能出色
心房颤动 AF 2.6% 0.950 家族传统强项(CODE-I 六类之一)
STEMI(ST 段抬高型心梗类) 罕见 0.647 远高于随机水平但绝对值有限

论文的诚实表述:常见类表现稳健且一致;罕见类变异大、受类不平衡影响,结果「应谨慎解读」。微平均(0.983)与宏平均(AUPRC 0.561)之间的巨大差距本身就是类不平衡的量化画像——66 类等权时,那些仅有个位数到百位数样本的类把宏平均拖了下来。引用 CODE-II 性能时,单报 micro-AUROC 0.983 是选择性引用;完整叙事必须带宏平均与罕见类警告(坑 7)。

4.5 读这组数字的四个注意

  1. AUPRC 0.776 是比 0.983 更「诚实」的全局分:微平均 AUROC 受大量阴性样本抬高,AUPRC 对阳性类稀疏更敏感,两者同看才完整。
  2. 阈值相关指标强依赖验证集分布:阈值在验证集选定、冻结后应用到患病率不同的 test 集,指标会随流行率位移漂移——论文明确承认这一敏感性。
  3. test 金标准的多专家一致性口径:74.4% 完全一致 + 25.6% 多数定标意味着标签仍有残余不确定度,模型与「专家共识」的差异不完全等于错误。
  4. 模型与基线架构绑定:0.983 是这套 1D-ResNet 的成绩,不是数据集的「理论上限」——后者正是 scaling law 与公开基准要回答的问题(§5)。

4.6 与 CODE-I 时代的语境对照:数字不能跨代直比

CODE-I 论文(2020)在六类任务上的成绩与 CODE-II 的 0.983 经常被并排引用——这不是一次公平比较,原因有四层:

  1. 任务难度不同:六类(多数为形态特征显著的心律/传导异常)与 66 类(含罕见形态类与技术问题类)的宏平均不可比——类数越多、长尾越重,宏 AUPRC 天然下压。
  2. 测试集不同:CODE-TEST 827 份 vs CODE-II-test 8,475 份;后者患病率分布也经过富集设计。
  3. 训练规模不同:CODE-I 时代约 2 百万检查、CODE-II 约 2.7 百万检查——但二者的数据是不同年代的 TNMG 检查,设备构成与人群结构都有漂移。
  4. 阈值与指标口径演化:两篇论文的阈值策略与重点指标不完全一致。

正确用法:把 CODE-I 的 0.999 级六类成绩读作「节律/传导任务接近饱和」的历史坐标,把 CODE-II 的宏 AUPRC 0.561 读作「全谱 66 类任务仍有大量空间」的现在坐标——两者共同说明 ECG AI 的前沿已经从「能不能」转移到「长尾与泛化」。

4.7 复现路线图:从零到出分的七步

给想在 CODE-II 上启动工作的团队一份实操路线:

  1. 确认目标:开发(open 训练)还是声称 SOTA(提交盲评)?前者全程公开可本地迭代,后者必须走提交制。
  2. 获取数据:GitHub 入口下载 open 与/或 test 波形;核对 README 的 PhysioNet 指引状态(坑 1)。
  3. 预处理:直接采用 antonior92/ecg-preprocessing 论文配置(400 Hz / 4,096 / 高通 / 60 Hz 陷波 / 8 导联);自改配置时在论文中显式声明。
  4. 加载划分:open 用预定义 12,000/3,000;全量申请获批后用官方 81.4/18.6 患者级划分。
  5. 训练:对照附录 L 超参全表;多 tracing 记得「训练独立输入、测试平均」的约定。
  6. 本地评估:open 验证集算 micro/macro AUROC + AUPRC;阈值指标在验证集上逐类选 F1 最优后冻结。
  7. 正式评测:test 波形上推理 → 按 README 格式提交预测 → 用官方返回数字与文献对表(0.951/0.410 与 0.978/0.561 两档)。

§5 Scaling law 与迁移实验:数据的价值被量化了

5.1 实验设计:控制架构与超参,只动数据量

Scaling law 实验是 CODE-II 论文在「数据集论文」体裁里做出的超出体裁的贡献。设计要点:

  • 数据轴:把全量库限制为每患者第一份检查(2,093,807 份患者级数据),生成递增规模的训练-验证划分:1,000 / 10,000 / 50,000 患者的子集、公开的 CODE-II-open(15,000 患者)、以及全量的约 5% / 10% / 25% / 50%。所有划分保持约 80/20 的训练-验证比,并使用论文提出的划分启发式:每一诊断类内部保持 80/20 比例 + 患者跨集互斥。
  • 控制变量:模型架构与全部训练超参数冻结;唯一变量是训练数据规模。
  • 重复:每个数据规模用 3 个随机种子(1、2、3)独立训练,报告宏平均 AUROC 与 AUPRC 的均值、最小值、最大值——把初始化与 mini-batch 顺序引入的方差显式呈现。
  • 评测:全部在固定的 CODE-II-test 上进行,保证跨规模可比。

5.2 拐点:约 15,000 患者

核心发现:性能随训练数据量上升,但在约 15,000 名患者处,macro-AUROC 与 macro-AUPRC 的增益从陡峭转为平缓——此后继续增数据仍有益、但边际收益明显递减。CODE-II-open 的 15,000 患者尺寸特意对齐这个拐点:让公开子集「够用」(支撑有竞争力的模型)而不「奢侈」(不把全量价值免费送出)。这个数字对整个 ECG AI 领域有直接的资源规划意义:一个新机构想训练有竞争力的 ECG 多标签分类器,1.5 万患者级样本是一个有实验依据的起步线(而非拍脑袋的 10 万)。

拐点的三种读法:

  1. 预算规划读法:标注预算有限时,15,000 是「性价比顶点」——过线后的每一份标注买到的性能都在折价。
  2. 研究设计读法:想证明「我的方法更好」,在拐点之后的数据规模上做实验更公平——拐点之前,数据采样噪声可能盖过方法差异(这也是为什么 scaling 实验要跑 3 个种子)。
  3. 边界条件读法:拐点位置依赖任务宽度——66 类的拐点不会自动等于 6 类或 660 类的拐点;标签空间越宽,同等性能所需的样本越多。把它当作「66 类 ECG 多标签」语境下的实验事实,而非普适常数。

5.3 CODE-II-open 公开基准:同一架构的「数据规模差」

在 CODE-II-open(15,000 患者)上从头训练的基线,与全量训练后在 CODE-II-test 的对比:

训练数据 macro-AUROC macro-AUPRC
CODE-II-open 从头训练(约全量 0.72% 的数据) 0.951 0.410
全量 CODE-II 训练 0.978 0.561

两点读法:① 15,000 患者(0.72% 数据)就把宏 AUROC 做到 0.951——印证拐点位置:公开子集足够产生「接近但可分辨差距」的性能;② 0.951 → 0.978 的差距就是数据规模本身的价值标价,说明在心电图领域「更大真的更好」,但边际递减明确。

论文还把多个公开预训练 ECG 模型拉进同一考场:ResNet1d-Lima(ecg-age-prediction 仓库)、ResNet1d-Ribeiro(automatic-ecg-diagnosis)、ResNet1d-MERL 与 ViT1d-MERL(MERL-ICML2024)、ECG-FM(bowang-lab)、HeartLang(PKUDigitalHealth)、HuBERT-Small / HuBERT-Base(Edoar-do/HuBERT-ECG)。各模型在 CODE-II-open 上从头训练或微调,按验证集宏 AUROC 选最优配置后在 CODE-II-test 盲评。结论:从头训练的 CODE-II-open 基线「匹配或超过」了多个成熟 ECG 模型在各自最佳配置下的表现——仅用 0.72% 的数据。

5.4 迁移实验:德国与中国考场上的巴西数据

CODE-II 预训练的模型在两个国际基准上微调评测:

  • PTB-XL(德国,本库 rid 70):临床 12 导联 ECG 最大公开库之一。
  • CPSC 2018(中国,本库 rid 132):中国心血管病中心数据集。

结果:在全数据微调与 few-shot 微调(仅用 5% 或 10% 训练数据)两种设置下,CODE-II 预训练模型一致优于从头训练的监督模型,也优于其他公开预训练 ECG 模型——包括参数量更大或在更大语料上训练的对手(论文点名语境:如以 9.1M 检查训练的 HuBERT 系列)。

这个结果的价值不在「刷赢」而在归因:CODE-II 的架构并非新设计、训练技巧平平无奇,唯一不同的是数据——规模、真实世界噪声谱、以及 §3.2 所述「模式与诊断分离」的 66 类标签广度。论文明确把优势归于数据质量与标签广度而非架构创新。跨人群(巴西 → 德国/中国)的迁移成功,也说明这套远程心电数据学到的表征具有人群普适性,而非「巴西特化」。

迁移实验的边界(诚实声明):① 两个外部基准的标签体系与 CODE 66 类不同,迁移评测依赖「微调到目标标签空间」这一适配层,表征优势 ≠ 零样本优势;② 外部基准规模有限(尤其 CPSC),指标方差不可忽略;③ 巴西-德国-中国三人群覆盖不了南亚、非洲的心电图形态多样性,「跨人群普适」的结论外推有界;④ 迁移实验的对象是监督/自监督预训练模型,不包含多模态(影像+文本)基础模型路线。

5.5 给从业者划的重点

  1. 起步规模参考线:15,000 患者(拐点)——多标签 66 类语境下;标签空间减半时该线相应变化,勿机械照搬。
  2. 预训练-微调是正解:即使目标域数据充足,CODE-II 预训练仍带来一致增益;few-shot 场景增益最显著。
  3. 评测要用 CODE-II-test 而非 open 的验证集:后者是开发集,前者才是盲评基准(提交预测制)。
  4. 比较模型时对齐训练数据口径:open 从头训(0.951/0.410)与全量预训练(0.978/0.561)不可混为一谈——混用即构成「基准幻觉」。

5.6 对比模型清单:七个对手逐个过目

论文迁移实验与 open 基准拉来的公开预训练模型,按来源整理(全部开源,可自行复用):

模型 仓库 架构与出身
ResNet1d-Lima antonior92/ecg-age-prediction Lima 等的 1D-ResNet,原任务为 ECG 年龄预测(AI-ECG age)
ResNet1d-Ribeiro antonior92/automatic-ecg-diagnosis CODE-I 同款架构——与 CODE-II 基线同源,对照意义:同架构、不同预训练数据的消融
ResNet1d-MERL cheliu-computation/MERL-ICML2024 MERL(ICML 2024):多导联自监督预训练的 ResNet1d 版
ViT1d-MERL 同上 MERL 的一维 Transformer 变体
ECG-FM bowang-lab/ecg-fm 多伦多大学 Bowang 实验室的 ECG 基础模型
HeartLang PKUDigitalHealth/HeartLang 北京大学数字健康实验室的 ECG 基础模型
HuBERT-Small / Base Edoar-do/HuBERT-ECG 语音域 HuBERT 架构移植到 ECG 的自监督模型家族

读表三注意:① ResNet1d-Ribeiro 与 CODE-II 基线同架构不同预训练语料,是最干净的「数据价值」对照;② MERL/HuBERT 系列代表自监督路线——它们在更大数据量上预训练却仍输给 CODE-II 监督预训练,是「标签质量战胜数据体量」论点的直接证据;③ 这些模型的原始论文任务各异(年龄预测、自监督表征、多病分类),在 CODE-II 语境下统一重新训练/微调,保证比较公平。

5.7 Few-shot 设置为什么重要:远程医疗之外的现实约束

迁移实验专门报告了 5% 与 10% 训练数据的微调设置,这不是炫技——它对应着绝大多数真实团队的处境:医院自有 ECG 库动辄受隐私与标注限制,能用的标注样本可能只有几千份。CODE-II 预训练在 few-shot 下仍保持对从头训练的优势,意味着:

  • 一个只有 500-1,000 份标注样本的地方团队,可以从 CODE-II 预训练表征起步(在 UFMG 受控分发政策许可下);
  • 更大的对照(如 HuBERT 家族在数百万检查的语料上自监督预训练)在 few-shot 下也被反超——预训练数据「质 × 标签广度」的复合优势在数据稀缺端放大;
  • 反过来,这也解释了论文为什么把权重治理(UFMG 受控分发)写进数据可用性声明——预训练价值的受益者范围本身是一个治理决策,而不是技术附录。

§6 获取与许可:三层资产、三种门

6.1 三层资产、三种门

资产 内容 许可 门
CODE-II-open 15,000 患者第一份检查:波形 + 66 类标注 + 预定义 12,000/3,000 划分 CC BY-NC-SA 4.0 公开(PhysioNet,入口经 GitHub)
CODE-II-test 波形 8,475 份独立患者检查的原始信号 CC BY-NC-SA 4.0 公开(PhysioNet,入口经 GitHub)
CODE-II-test 专家标注 多专家金标准标签 不公开 受控提交评测(无直链、无申请通道)
CODE-II 全量库 2,735,269 份检查 非商业研究 + 数据使用协议 邮件申请个案审核
全量库训练的模型权重 UFMG 托管 受控分发 向 UFMG 申请

官方入口:GitHub 仓库 PetrusAbreu/code-ii(README 汇总全部下载链接、引用条目与评测提交说明);预处理脚本 antonior92/ecg-preprocessing;基线架构 antonior92/automatic-ecg-diagnosis。

PhysioNet 状态存照(重要):npj 论文 Data availability 明确写 CODE-II-open(15,000 患者)与 CODE-II-test 波形(8,475)「publicly available via PhysioNet for non commercial use」;但 GitHub README(最后提交 2026-05-11)中两者的 PhysioNet 链接均标注「coming soon」。本条目抓取时点(2026-10-03)尝试直接访问 PhysioNet 疑似页面未获确认。实操结论:以 GitHub 仓库为第一入口,从 README 跳转 PhysioNet;若 PhysioNet 页面未上线,README 的仓库说明与联系方式即为官方最新状态(坑 1)。

磁盘与流量预估:open 层 15,000 检查 × 1-4 条 tracings × 8-12 导联 × 数千样本,原始波形量级在数十 GB 内;test 层 8,475 检查为个位数 GB;元数据 CSV 为 MB 级。全量库(2.7M 检查)量级推断在 TB 级——但以申请制发放为准,官方交付形态(HDF 打包与否)以 README 为准。规划存储时按「波形条数口径」(§2.7)而非检查数口径估算,是新手最常犯的低估错误。

6.2 全量库申请实操

  • 地址:telessaude.hc-ufmg@ebserh.gov.br,抄送论文通讯作者。
  • 材料:说明研究用途与机构背景;签署数据使用协议(data use agreement)与保密协议。
  • 审核:由 TNMG 个案评估(considered on an individual basis),无自动审批。
  • 用途边界:仅限非商业研究——商业用途不在受理范围。
  • 预期:涉及巴西患者数据的跨境使用,预留机构合规审查时间;论文作者团队使用数据亦需签署保密与数据使用协议。

申请邮件要素清单:① 申请人姓名、职称、机构与部门;② 研究项目简介(一句话科学问题 + 一段方法概要);③ 数据用途声明(非商业);④ 计划使用的子集范围(全量还是特定年份/类目);⑤ 数据安全措施(存储环境、访问控制、成员名单);⑥ 机构合规联系方式;⑦ 明确抄送论文通讯作者。一封要素齐全的申请信能把个案审核的往返周期压缩一轮。

6.3 CODE-II-test 盲评:怎么「考」

test 集的专家标注不公开,评测走提交制:

  1. 从公开渠道下载 test 波形;
  2. 用你的模型生成 8,475 份检查 × 66 类的预测;
  3. 按 GitHub 仓库 README 的提交说明上传预测文件;
  4. 由数据托管方在受控环境内对照保留的金标准计算指标并返回结果。

这一机制与 Kaggle 式盲测同构:排行榜可信的前提是标注永不出库。对复现者的直接含义是——任何声称「在 CODE-II-test 上复现了 0.983」的公开仓库,若拿不到官方标注,其数字只可能来自 open 验证集或其他数据,勿轻信(坑 3)。

6.4 AI-Ready 评估

维度 评分 说明
机器可读性 ★★★★★ HDF/CSV 经典组合,字段语义在论文与脚本中清晰定义
文档完备度 ★★★★☆ 论文 + Supplementary + GitHub README 三层文档;66 类全表在 Supplementary
获取便利度 ★★★☆☆ open/test 公开但入口经 GitHub 中转(PhysioNet 状态存照见坑 1);全量申请制
许可明确度 ★★★★☆ CC BY-NC-SA 4.0 清晰;NC 与 SA 双限制对商业与衍生发布均有约束
标注质量 ★★★★★ 日常专家标注 + 46 人多盲金标准 + 完全一致/多数规则
划分防泄漏 ★★★★★ 患者级分离 + 预定义类内分层划分 + test 零重叠 + 标注保留
可复现性 ★★★★☆ 预处理与架构全开源;test 指标依赖提交制,本地无法直接复算

6.5 许可条款细读:CC BY-NC-SA 4.0 的两个约束

  • NC(NonCommercial):禁止商业用途。挂靠商业公司的研发团队使用 open/test 数据需特别谨慎——「内部研究」是否构成商业使用取决于许可细则与法务判断,保守做法是联系权利方(UFMG/TNMG)书面确认。
  • SA(ShareAlike):基于本数据集的衍生数据集/再发布必须以相同许可(CC BY-NC-SA 4.0)发布。这会「传染」:把 CODE-II-open 与 CC BY 4.0 数据混合发布的新数据集,会被 SA 条款拉向 NC-SA 口径。组合数据集前先做许可兼容矩阵。
  • 署名(BY):引用论文(npj Digital Medicine, DOI 10.1038/s41746-026-02704-4)并在制品说明中注明来源。
  • 对照记忆:同家族 CODE-15% 是 CC BY 4.0(无 NC/SA)——许可从家族第一代到第二代收紧了,混用时别沿用旧印象(坑 5)。

用前合规自查五问:

  1. 我的使用场景是否存在商业关联(含商业公司内部研发、有偿服务、专利产出)?
  2. 我的衍生数据集/模型卡是否已按 SA 条款选择 CC BY-NC-SA 4.0 传染口径?
  3. 我的制品是否完整署名(论文 DOI + 数据集名 + 机构)?
  4. 我是否试图二次分发原始或改造波形——SA 条款允许,但必须同许可且注明来源?
  5. 若涉全量库申请,我的协议义务(保密、非商业、删除条款)是否已在团队内传达?

五问中任何一问答不准,先停下咨询机构合规部门——CC BY-NC-SA 的 NC/SA 组合在医疗 AI 工业界是最常被误读的许可组合之一。

6.6 首次获取五步走(walkthrough)

给第一次接触 CODE-II 的团队一份带顺序的清单:

  1. 克隆入口仓库:git clone https://github.com/PetrusAbreu/code-ii——README 是唯一权威导航(数据链接、评测说明、引用条目都在)。
  2. 按用途选层:训练/复现 → 下载 CODE-II-open;评测 → 另下 CODE-II-test 波形;两层的许可同为 CC BY-NC-SA 4.0,但 test 标注不可得。
  3. 核对 PhysioNet 指引:README 的 PhysioNet 链接若仍标 coming soon,则先记录仓库 commit hash 与日期,等待链接激活(坑 1 存照逻辑同样适用于你)。
  4. 克隆预处理脚本:antonior92/ecg-preprocessing,先跑通论文配置管线再做自选配置。
  5. 记录引用快照:保存 README commit 与论文 DOI 于你的实验记录——数据集在 construction 期,元信息可能更新,实验可复现性依赖快照。

6.7 引用与致谢模板

最小引用(数据):

Abreu, P. E. O. G. B., Paixão, G. M. M., Li, J., Gomes, P. R., Macfarlane, P. W., Oliveira, A. C. S., Carvalho, V. T., Schön, T. B., Ribeiro, A. L. P. & Ribeiro, A. H. CODE-II: A large-scale dataset for artificial intelligence in ECG analysis. npj Digital Medicine (2026). https://doi.org/10.1038/s41746-026-02704-4

使用全量库或模型权重的成果,还应按数据使用协议中的致谢条款提及 TNMG/UFMG;使用 PhysioNet 平台下载的,按 PhysioNet 惯例同时引用其平台说明。预印本与正式版同时引用时以正式版(npj)为准——arXiv 版个别表述(如发布链接占位符)已被正式版取代。

§7 生态与影响

7.1 CODE 家族谱系与论文链

  • CODE-I(Ribeiro et al., Nature Communications 11:1760, 2020, doi:10.1038/s41467-020-15432-4):首个「深度网络 ≥ 临床医生」的 12 导联 ECG 论文;六类(房颤、一度房室阻滞、右/左束支阻滞、窦缓、窦速);衍生 CODE-15% 公开子集(Zenodo 4916206)与 CODE-TEST 827 份金标准。
  • CODE 研究(Clinical Outcomes on Digital Electrocardiography):CODE-I 数据与死亡随访联动形成的预后研究分支,围绕 ECG 预后价值(含 AI-ECG 年龄、查加斯筛查、房颤风险预测等)产出大量论文。
  • CODE-II(Abreu et al., npj Digital Medicine, 2026, doi:10.1038/s41746-026-02704-4;arXiv:2511.15632, 2025-11-19):本条目。时段与 CODE-I 零重叠、标签从 6 类到 66 类、测试集从 827 份到 8,475 份。
  • CODE-II 特有的新资产:预定义划分的公开子集(对标 PTB-XL 的实验惯例)、标注保留的盲评基准、scaling law 与迁移实验。

7.2 在 ECG 公开数据集景观中的位置

数据集 规模 标签 采集场景 许可
CODE-II(本条目) 2,735,269 / 2.09M 患者 66 类多标签 巴西远程医疗真实世界 NC-SA(子集公开)
PTB-XL(rid 70) 约 21,837 / 18,885 患者 组合标签体系 医院静息 ECG CC BY 4.0
CPSC 2018(rid 132) 约 6,877 9 类 中国医院 开放
CODE-15%(rid 152) 345,779 / 233,770 患者 6 类二元 同一 TNMG(早时段) CC BY 4.0
MIMIC-IV-ECG(rid 172) 约 800,035 / 160,000 患者 基于 MedSVG 映射 ICU/院内 PhysioNet 凭据
Chapman-Shaoxing 等 约 10,646 11 类 美国医院 开放

CODE-II 的差异化:一个数量级的规模优势、标签空间最宽、以及「远程医疗真实世界」这一场景本身——基层采图、中心判读的流程天然携带设备多样性与噪声多样性,这是单中心医院数据集给不了的。代价是许可更紧(NC-SA)与全量受限。

读景观表的三条注意:① 规模列口径不一(CODE-II/MIMIC 为检查数,PTB-XL/CODE-15% 兼有检查与患者口径),跨行比较先统一口径(§2.7);② 标签列只反映「体系宽度」而非「标注质量」——PTB-XL 的组合标签体系与 CODE 66 类在语义组织上完全不同,不可互相换算;③ 许可列是选库的硬约束之一:学术研究四库皆可,产品化场景只剩 CC BY 4.0 一档(CODE-15%、PTB-XL)。

7.3 论文的影响与未来方向

论文自述的下一步:整合多模态信息(症状、长期结局),把「自动诊断」推进到「预测性预后」——CODE 家族「数据 + 死亡随访」的联动传统预计将延伸到 CODE-II。对领域而言,CODE-II 确立的三件事实已被写入共同体认知:① 15,000 患者是多标签 ECG 分类的实用规模拐点;② 数据质量与标签广度可以战胜更大的预训练语料(HuBERT 9.1M 对照);③ 标注保留的盲评基准是 ECG AI 评测应采纳的默认治理形态。

可预期的后续资产(基于家族惯例的推断,非官方承诺):① PhysioNet 正式页面与版本化 DOI(README 承诺 coming soon);② CODE-II 与死亡随访/结局数据的联动研究(CODE 研究分支的既定路线);③ 基于盲评通道的公开排行榜积累;④ 面向具体临床任务(查加斯筛查、AI-ECG 年龄)的下游微调论文。跟踪这些资产的官方入口始终是 GitHub 仓库而非论文页。

7.4 TNMG 部署语境:远程医疗与 AI 的天然耦合

论文在引言里点明了一个常被数据集论文忽略的结构性事实:远程医疗与 AI 是互相成就的关系。TNMG 每天产生的 8,000+ 份报告流,一边是 AI 的燃料(全数字、全结构化、大规模),一边是 AI 的落点(专家报告积压、基层判读质量不均)。CODE-II 的三层结构正是为这个闭环设计的:

  • 66 类 CODE 体系本来就是远程报告的结构化产物——模型输出可直接回填工作流,无需跨体系翻译;
  • 盲评基准(test)模拟的正是「AI 初筛 + 专家终审」的未来流程:模型在保留标注的考场上被检验,检验结果决定它在真实工作流里被授予的权限;
  • scaling law 的 15,000 拐点则为其他国家的远程心电服务划出了「训练自己的模型需要多少历史数据」的工程答案。

这个语境也解释了为什么论文的讨论部分强调「性能表现直接预示此类算法在大规模远程服务的部署路径」——CODE-II 不只是学术基准,它是一个运行了二十年、正在喂 AI 的真实服务的沙盘。

7.5 对低资源医疗环境的启示

TNMG 模式(基层采图 + 中心判读 + 数据沉淀 + AI 增强)对医疗资源不均衡地区有直接的样板意义,CODE-II 把这个样板的三个关键参数公开了:

  1. 数据门槛:15,000 患者级标注样本即可支撑有竞争力的多标签模型(0.951 macro-AUROC);
  2. 质量路径:不追求「完美标注」而是「标准判据 + 真实工作流问责 + 独立盲评金标准」的三层质量结构;
  3. 治理模板:非商业许可 + 数据使用协议 + 权重受控分发——在开放与患者保护之间给出的可复制平衡点。

对巴西以外想复制 TNMG 的卫生系统,CODE-II 提供的与其说是数据,不如说是一份带实测数据的建设手册。

§8 与库内条目的关系(互链点)

8.1 家族与基准图谱(rid 反查于 2026-10-03)

库内条目 rid 关系
code-15 152 同家族直系:CODE-I 的 15% 公开子集(2010-2016,6 类,CC BY 4.0)——与 CODE-II 构成「家族两代」对照
ptb-xl 70 CODE-II 预训练模型的外部迁移基准之一(德国);划分惯例(预定义 train/val/test)被 CODE-II-open 借鉴
cpsc 132 外部迁移基准之二(中国 CPSC 2018)
mimic-iv-ecg 172 同档规模的真实世界 ECG 对照(美国 ICU/院内 vs 巴西远程医疗)
apnea-ecg 658 ECG 领域早期经典(睡眠呼吸暂停筛查),谱系背景条目
openecg 802 ECG 开放标准与判读约定,CODE 类体系的方法学远亲

8.2 检索路径建议

  • 查「ECG 数据集哪家强/该用哪个」→ 本条目 §7.2 景观表 + mimic-iv-ecg(172) 对照。
  • 查「CODE 数据集家族」→ 本条目 §2.10 家族表 + code-15(152) 条目;先核时段与标签数再对号入座。
  • 查「ECG 预训练/foundation model 评测」→ 本条目 §5.3-5.4 对比模型清单 + ptb-xl(70)、cpsc(132)。
  • 查「多标签分类/长尾分布方法」→ 本条目 §2.5 分布与 §4.4 分级表现。

8.3 互链条目逐条说明

  • code-15(rid 152):家族导航的另一半。两代条目并读可以完整看到 TNMG 数据工程的演进——从 6 类到 66 类、从 CC BY 4.0 到 NC-SA、从「大快照」到「拐点基准」。引用任何「CODE 数据集」的数字前,用这两个条目互为校验时段与标签口径。
  • ptb-xl(rid 70):CODE-II 预训练模型的第一考场(德国)。ptb-xl 条目的预定义划分惯例是 CODE-II-open 划分设计的直接参照;做跨数据集迁移研究时两者成对使用。
  • cpsc(rid 132):第二考场(中国 CPSC 2018)。注意 CPSC 体量小(数千份),迁移实验中主要贡献「跨人群泛化」维度而非规模维度。
  • mimic-iv-ecg(rid 172):规模上唯一同档的库内对照(约 80 万检查/16 万患者)。场景对照是重点:MIMIC-IV-ECG 是 ICU/院内监护语境,CODE-II 是基层远程判读语境——两者的类分布、噪声谱、合并症构成完全不同,选库先选场景。
  • apnea-ecg(rid 658):ECG 领域的早期经典(睡眠呼吸暂停筛查任务),谱系背景;与 CODE-II 无直接数据关系,互链用于 ECG 任务谱导航。
  • openecg(rid 802):ECG 开放标准与判读约定。CODE 类体系可视为「判读标准结构化」的一家之言,与 openecg 的标准化努力构成方法学呼应。

§9 避坑清单:八个已踩过或注定会踩的坑

坑 1:PhysioNet 链接「论文已发布 vs README coming soon」的时点差。
npj 论文(2026-05-26 发表)声称 open/test 波形已在 PhysioNet;GitHub README(2026-05-11 提交)仍标 coming soon。抓取时点(2026-10-03)直连疑似页面未获确认。处置:以 GitHub PetrusAbreu/code-ii 为第一入口跳转;引用获取渠道时写「PhysioNet(经官方 GitHub 入口)」并注明查证日期;发现新 PhysioNet PID 后更新引用。

坑 2:CODE 家族三个「CODE」张冠李戴。
CODE-I(2010-2017,6 类)≠ CODE-15%(其 15% 子集,Zenodo 4916206,CC BY 4.0)≠ CODE-II(2019-2022,66 类,NC-SA)。检索词「CODE dataset」在三种语境下指向完全不同的资产;两代之间时段零重叠、标签数 6 vs 66、许可从 CC BY 收紧到 NC-SA。引用数字前先核对「时段 + 标签数 + 论文 DOI」三要素。

坑 3:以为 test 标注可以下载。
CODE-II-test 的波形是 CC BY-NC-SA 公开的,但专家标注不公开、没有申请通道,评测只能提交预测。看到第三方仓库贴出「CODE-II-test 标签文件」,要么是模型预测冒充金标准,要么来自 open 验证集混用——二者都会把评测变成自欺。

坑 4:采样率与时长不统一,直接 reshape 会炸。
原始 tracings 混有 300/500/600/1000 Hz 四档采样率、7-12 秒时长。任何「按固定采样点数切窗」的读取代码都会产生错位信号。标准动作:先按文件元数据重采样至 400 Hz(或自选统一率)、再对齐长度至 4,096 样本(零填充)、高通 + 60 Hz 陷波——全部有官方脚本 antonior92/ecg-preprocessing 可抄。

坑 5:CC BY-NC-SA 的 NC 与 SA 双限制。
NC:非商业;SA:衍生数据集必须同许可发布。两个约束叠加意味着:① 商业公司直接使用有合规风险;② 与其他许可数据混合再发布会「传染」SA。与同家族 CODE-15%(CC BY 4.0)混用前必须做许可兼容检查。

坑 6:选择性引用 micro-AUROC 0.983。
0.983 是微平均(全类合并),被 49.9% 的 NORMAL 类与大量阴性样本结构抬升;宏平均 AUROC 0.978 尚可,但宏平均 AUPRC 仅 0.561,罕见类(STEMI 0.647)与常见类(AF 0.950)差距巨大。论文与新闻稿标题级数字不可直接搬进对比实验——引用时必须成对给出 micro/macro 与 AUROC/AUPRC。

坑 7:多标签体系的框架误用。
66 类中 65 类非互斥(一份检查可同时带「窦速 + ST-T 异常 + 左房增大」),只有 NORMAL 互斥。用 softmax 单标签框架训练 CODE-II 是系统性错误;正确姿势是 sigmoid 多标签 + 微/宏双指标 + 按类阈值。另外「Tech issues」类意味着部分检查的标签本身在说「信号不合格」——预处理后是否保留这类样本要做显式决策。

坑 8:患者级重复导致的划分泄漏。
430,685 名患者有 2 份以上检查(同一人的多次检查高度相似)。自行划分训练/验证时若按检查随机切分,同一患者的检查会同时进入两集,验证分数虚高。官方划分(全量库 81.4/18.6、open 12,000/3,000)均为患者级分离且类内分层——用官方划分,或自己写患者级划分器。

§10 总结

10.1 三句话总结

  1. CODE-II 是目前最大的专家标注 12 导联心电图数据集:2,735,269 份检查、2,093,807 名成人患者、66 类来自真实远程医疗工作流的 CODE 诊断标签(npj Digital Medicine 2026)。
  2. 它用三层资产把「规模」变成「可信」:公开子集 CODE-II-open(15,000 患者、预定义划分)做开发基准,8,475 份多专家盲评的 CODE-II-test 做终审(波形 CC BY-NC-SA 4.0、标注保留),全量库受限申请。
  3. 它给领域留下两个有实验依据的结论:15,000 患者是多标签 ECG 分类的规模拐点;数据质量与标签广度能战胜更大的预训练语料——在 PTB-XL 与 CPSC 2018 上胜过 HuBERT-9.1M 级对手。

10.2 适合谁

  • ECG 多标签分类/预训练研究者:66 类标签空间 + 现成对比数字(0.951/0.978 两档)。
  • Scaling law 与数据价值研究者:3 seeds、受控架构的数据规模实验是干净的引用素材。
  • 跨人群迁移研究:巴西 → 德国/中国基准的迁移设置现成。
  • 医疗 AI 治理与基准设计者:「标注保留 + 提交评测 + 模式诊断分离」三件套值得整体搬运。
  • 巴西人群心血管研究:查加斯病 1.1%、高血压 47.7% 的真实世界画像。

10.3 不适合谁

  • 需要商业使用的团队(NC 限制 + 全量不受理商业)。
  • 需要死亡随访/纵向结局的研究(当前发布以横断面判读为主;随访是 CODE-I/CODE 研究分支的资产)。
  • 只做单标签节律分类且追求轻量数据者——CODE-15% 或 CPSC 更省事。
  • 需要 ICU 危重连续监测场景者——这是静息远程 ECG,不是 MIMIC-IV-ECG(rid 172)的监护流。

10.4 30 秒决策卡

想训练/复现模型 → 下 CODE-II-open(12,000/3,000 预定义划分)+ 官方预处理脚本;对表 0.951/0.410。
想声称 SOTA → 用 open 训练、test 提交盲评;对表 0.978/0.561(全量预训练口径)。
想做预训练 → 申请全量库(邮件 TNMG,非商业);引用迁移实验设计。
想商用 → 直接触雷(NC-SA + 全量不受理商业),改用 CODE-15%(CC BY 4.0,rid 152)评估可行性。
想研究标注体系 → 先读 §3.2「模式与诊断分离」,再要 Supplementary Table 2。

10.5 本条目的更新与存照约定

本条目成稿于 2026-10-03(抓取时点),所有「时点性」信息(PhysioNet 页面状态、README 状态、仓库 commit)均以当日查证为准并在 §9 坑 1、附录 P 时间线中存照。后续维护约定:PhysioNet 正式页面(含 PID/版本号)上线后,应更新 §6.1 三层资产表与附录 H 入口清单;66 类全表若随 Supplementary 公开获取,应更新 §3.1 与附录 E;上述更新不改变本条目的核心事实链(规模、标签、成绩、许可均已三源互证)。

FAQ(高频问答 50 问)

A. 基础认知

Q1:CODE-II 的「II」是什么意思?
家族第二代。CODE-I 是 TNMG 2010-2017 数据、6 类标签(Ribeiro 2020 Nat Commun);CODE-II 是 2019-2022 新采集数据、66 类标签(Abreu 2026 npj Digital Medicine)。两代时段零重叠,不是版本号意义上的迭代。

Q2:CODE-II 和 CODE-15% 什么关系?
无子集关系。CODE-15% 是 CODE-I 的 15% 抽样公开子集(2010-2016,6 类,CC BY 4.0,Zenodo 4916206);CODE-II 是独立采集的第二代数据集(2019-2022,66 类,NC-SA)。两者在本库分别为 rid 152 与本条目。

Q3:数据是哪几年采集的?
主数据集 2019 年 1 月至 2022 年 12 月;盲评集 CODE-II-test 覆盖 2018-2025(刻意更长窗口,注意两套时段口径并存,存照见 §9 坑 1 与 FACTS 存照 #2)。

Q4:有多少患者、多少份检查?
2,093,807 名成人患者、2,735,269 份检查。79.4% 的患者只有一份检查,430,685 人有两份以上。

Q5:数据来自哪个国家?
巴西。TNMG(Telehealth Network of Minas Gerais)远程心电网络服务覆盖 14 个州、1,400 余个县市,总部学术单位为米纳斯吉拉斯联邦大学(UFMG)。

Q6:论文发在哪?
npj Digital Medicine(Nature 旗下开放获取期刊),2026-05-26 发表,DOI 10.1038/s41746-026-02704-4,PubMed 42185490;预印本 arXiv:2511.15632(2025-11-19 提交)。

B. 数据与获取

Q7:我现在能下载哪些部分?
CODE-II-open(15,000 患者波形 + 66 类标注 + 预定义划分)与 CODE-II-test 波形(8,475 份)。均 CC BY-NC-SA 4.0,入口为 GitHub PetrusAbreu/code-ii(跳转 PhysioNet)。

Q8:全量库怎么申请?
邮件 telessaude.hc-ufmg@ebserh.gov.br 并抄送通讯作者,说明研究用途与机构,签署数据使用协议与保密协议;TNMG 个案审核,仅限非商业研究。

Q9:test 集的专家标注在哪下载?
不下载。标注保留用于盲评基准,只能按 GitHub README 的提交说明上传预测、受控评测。

Q10:每份检查有几条波形?
最多 4 条(同一次临床会话内保留),每条 7-12 秒、12 导联。采样率 300/500/600/1000 Hz 视设备而定。

Q11:原始波形还是预处理好的?
原始波形。预处理脚本官方开源(antonior92/ecg-preprocessing),论文配置为 400 Hz / 4,096 样本 / 高通 / 60 Hz 陷波 / 8 导联。

Q12:元数据里有没有年龄和性别?
有。性别直接给;年龄由检查日期与出生日期之差除以 365.25 重算。另有自述合并症与检查指征(checkbox 多选)。

Q13:文件格式是什么?
波形为原始信号(官方预处理脚本以 HDF 生态读写),标注与元数据为 CSV(exams 口径,含 exam_id、日期、患者 ID、66 类 class ID + label 等)。字段级细节以仓库与 Supplementary 为准。

C. 标注与质量

Q14:66 类是什么体系?
CODE 诊断类:基于 2007 AHA/ACC 指南与巴西 ECG 报告标准、经心脏病专家参与制定、TNMG 日常远程报告常规使用。分 10 个临床组,65 类非互斥 + Normal 互斥。

Q15:谁标注的?
主数据集:TNMG 认证心脏病专家在远程判读服务中出具、结构化为 CODE 类。CODE-II-test:46 名专家参与,每份至少 2 名独立盲审。

Q16:test 集的金标准怎么定?
预定义双规则:全体审阅者完全一致 → 直接采用(74.4%,6,309 份);否则多数规则(至少 2 名同一诊断)定标(25.6%,2,166 份)。

Q17:为什么「急性心梗」不是标签而「ST 段抬高」是?
模式与诊断分离的设计哲学:标签只收录可从波形直接识别的客观所见(模式),需要临床信息整合的诊断留给医生。这让监督信号客观、AI 责任边界清晰、跨人群可迁移。

Q18:类分布均衡吗?
不均衡且长尾。NORMAL 占 49.9%,其后依次为非特异 ST-T 异常 13.3%、左房增大 10.6%、左室肥大 4.0%、窦速 3.9%;房颤 1.9%、LBBB 2.2%、RBBB 1.8%。test 集刻意补了罕见类覆盖。

D. 模型与基准

Q19:基线是什么模型?成绩多少?
1D-ResNet(CODE-I 同源架构,8 导联 400 Hz 输入)。CODE-II-test:micro-AUROC 0.983 / AUPRC 0.776 / F1 0.706;macro-AUROC 0.978 / AUPRC 0.561。

Q20:用公开子集能训到什么水平?
macro-AUROC 0.951 / AUPRC 0.410(同一架构从头训练,仅全量 0.72% 的数据)——对照全量预训练的 0.978 / 0.561。

Q21:15,000 患者这个公开子集尺寸怎么来的?
Scaling law 实验的拐点:架构与超参冻结、只增数据,性能在约 15,000 患者处从陡增转平缓。CODE-II-open 特意对齐拐点。

Q22:CODE-II 预训练真的有用吗?
有用且被量化。微调到 PTB-XL(德国)与 CPSC 2018(中国)后,全数据与 few-shot(5%/10%)设置均优于从头训练与更大语料预训练的公开模型(含 HuBERT 9.1M 口径)。

Q23:和哪些预训练模型比过?
ResNet1d-Lima、ResNet1d-Ribeiro、ResNet1d-MERL、ViT1d-MERL、ECG-FM、HeartLang、HuBERT-Small/Base——统一在 CODE-II-open 上从头/微调,CODE-II-test 盲评。

E. 使用与合规

Q24:能商用吗?
公开子集不能(CC BY-NC-SA 的 NC);全量库明确不受理商业用途。商用需求只能评估替代数据(如同家族 CC BY 4.0 的 CODE-15%,rid 152)或另行联系权利方。

Q25:衍生数据集发布有什么约束?
SA 条款:基于 CODE-II-open/test 的衍生数据集必须以 CC BY-NC-SA 4.0 发布。与其他许可数据混合时做许可兼容矩阵。

Q26:自己划分训练/验证集要注意什么?
必须患者级分离(430,685 人有多份检查),最好再加类内分层(官方划分两要素)。按检查随机切分必然泄漏。

Q27:别人贴的「CODE-II-test 成绩」可信吗?
核对三件事:是否官方盲评返回(而非本地自算)、训练数据口径(open vs 全量)、指标对(micro/macro × AUROC/AUPRC)。标注不出库意味着本地「test 成绩」只能是替代口径。

F. 复现与工程细节

Q29:官方预处理到底做了哪几步、顺序重要吗?
五步:重采样 400 Hz → 长度 4,096(零填充)→ 高通去基线漂移 → 60 Hz 陷波 → 8 导联。顺序有讲究:先重采样再滤波可避免滤波器参数随采样率变化;陷波频率 60 Hz 对应巴西电网(欧洲设备数据迁移时注意 50 Hz 语境)。

Q30:零填充会不会污染训练信号?
短于 4,096 样本的记录(约 7 秒 @ 400 Hz = 2,800 样本)尾部为零。两种处理:保持填充(模型学会忽略零段,CODE-I 同源架构如此)或有效长度掩码。关键是不做随机裁剪——那会改变波形与标注的对应关系。

Q31:batch 里同一检查的多条 tracings 会互相泄露吗?
不会「泄露」但会带来相关性:同一检查的 tracings 共享标签与患者。官方约定是训练时独立输入、测试时预测平均。自己实现时注意:按 tracing 随机打乱没问题,但验证/测试聚合必须按 exam 平均后再算指标。

Q32:怎么估算训练资源?
患者级 15,000(open)或检查级 2.7M(全量)× 8 导联 × 4,096 样本的单精度张量约 0.13 MB/检查。open 全集(含预处理驻留)在单卡显存内可缓存;全量规模建议流式读取 + 混合精度。训练超参考求与附录 L 对齐,否则成绩不可比。

Q33:性能数字的置信区间怎么来的?
1,000 次 bootstrap 重采样(论文 Fig. 3 横线);scaling law 实验则是 3 个随机种子(1/2/3)的均值与极值。引用时注意两种「不确定性」来源不同——前者是评测集抽样误差,后者是训练随机性。

Q34:可以在 open 上训练后直接报 test 成绩吗?
可以且这正是官方设计:open 是开发基准(预定义划分、本地可算验证指标),test 是盲评考场(提交预测)。全流程:open 训练调参 → test 波形推理 → 提交 → 官方返回成绩。跳过提交、本地「自算」test 的成绩一律不被文献承认。

Q35:weights 是公开下载的吗?
分两档:open 上训练的复现脚本与流程全开源;全量库训练的模型权重由 UFMG 持有授权、受控分发——需要向 UFMG 申请,不是 HuggingFace 直链。

Q36:数据会不会更新版本?
GitHub README 自述 under construction(最后提交 2026-05-11),PhysioNet 链接尚未激活(存照见坑 1)。正式上线后预计有版本号与 PID;使用时快照 commit hash 与下载日期,复现声明写清版本。

Q37:和 PTB-XL 上跑同一模型,成绩直接可比吗?
不可直接比。原因:标签体系不同(PTB-XL 组合标签 vs CODE 66 类)、患病率不同、test 富集设计不同。可比的做法是论文的迁移实验范式——统一在 PTB-XL 微调、同一评测口径下比较预训练来源。

Q38:为什么不用 12 导联全量建模?
论文选择 8 导联(I、II、V1-V6)是因为其余四导联(III、aVR、aVL、aVF)可由 I、II 线性重建,信息冗余;8 导联省四分之一计算而不损失信息。你的自定义模型当然可以用全 12 导联——原波形数据支持。

Q39:CODE-II 能做 ECG 信号质量评估研究吗?
可以。Technical issues 组是现成的「信号不合格」标签;同时原始多采样率数据本身就是质量研究素材(设备多样性、噪声谱)。但注意:使用技术问题类标签前先决定预处理后样本去留(坑 7)。

Q40:想引用本条目口径之外的逐类数字怎么办?
以论文 Supplementary Table 2(66 类全表)与 Source Data 文件为最终依据;本条目正文仅收录三源互证过的代表性数字。数字冲突时以 npj 正式版 + arXiv 全文为准,本条目存照优先。

Q41:两条原始波形文件时间轴对不齐怎么办?
先查该记录的采样率元数据是否与你假设一致(四档采样率是头号原因);再确认是否触发了零填充(长度 < 4,096);最后核对导联排列——原始 12 导联排列顺序与官方 8 导联选取(I、II、V1-V6 = 索引 0、1、6-11)不同,硬取前 8 列会把胸前导联错当肢体导联。

Q42:test 波形训练出的分数和官方返回差很多怎么办?
先核对三点:预处理配置是否与官方一致(尤其采样率与导联选取)、多 tracing 是否按 exam 平均、是否误用 open 验证集调过阈值。以上都对仍有大差,联系仓库 issue 或通讯作者——这正是提交制评测「官方算分」的价值所在。

Q43:CODE-II 能支撑毕业论文级别的完整工作吗?
可以且已有清晰路径:open 训练(第 1-3 章)→ 改进方法 → test 提交盲评(第 4 章)→ 迁移实验(第 5 章,用 ptb-xl/(cpsc))。三层资产天然构成一章一个贡献点的论文骨架;许可对学术使用完全友好(非商业)。

Q44:哪里能看到 66 类的中文对照?
本条目附录 E 提供 10 组 × 代表类的中文映射;逐类正式中文名目前没有官方版本——66 类的全表以论文 Supplementary Table 2 英文原文为准,中文翻译建议标注「本条目译」并保留英文原文。

Q45:open 验证集(3,000)和 test 集(8,475)到底用哪个报成绩?
开发迭代期用 open 验证集(本地可算、可反复看);对外声称性能必须用 test 提交制的官方返回。两者数字天然不同(验证集无富集、阈值可调),混报是最常见的「成绩幻觉」来源。

Q46:数据里的「报告类型 original/revised」应该怎么用?
它是质量控制信号:revised 意味着报告经过二次修订(通常是初次判读被复核修正)。做标注噪声研究可以用它分层评测;做常规训练时无需区分——论文主结果未按此分层。

Q47:能否用 CODE-II 做回归任务(如 ECG 年龄预测)?
可以但需注意:数据集发布的心电测量值与 66 类标签不含「ECG-年龄」这一衍生量;年龄预测研究可用患者出生日期推算的真实年龄做回归目标(协议允许范围内),或复用 ResNet1d-Lima 的方法学框架。

Q48:遇到数据问题找谁?
第一层:GitHub 仓库 issue(公共、可检索);第二层:邮件通讯作者(学术问题)或 TNMG 邮箱(数据访问)。提交评测相关一律走 README 指定通道——不要把 test 集猜想发到公共 issue。

Q49:如何确认我用的版本与论文一致?
三步快照法:记录下载日期、数据集页面版本号(PhysioNet 上线后为 version + DOI)与 GitHub README commit hash;预处理用官方脚本特定 commit 而非 main 分支浮动引用;实验记录里保存一份 exams 元数据文件的行数与哈希。审稿人要求核对时,这三个快照即可锁定全部语境。

Q50:CODE-II 与 Physiology 生态(WFDB 等)兼容吗?
官方发布以 HDF/CSV 组合为主(预处理脚本亦支持通用格式读写);WFDB 是 PhysioNet 众多经典数据集的传统格式,两者互转需要自写桥接——选库时把「格式生态」纳入工程成本评估(尤其团队已有 WFDB 工具链时)。

事实清单(硬事实 36 条)

  1. 全称:CODE-II: A large-scale dataset for artificial intelligence in ECG analysis。
  2. 规模:2,735,269 份 12 导联 ECG 检查、2,093,807 名成人患者。
  3. 采集方:巴西 Telehealth Network of Minas Gerais(TNMG),2005 年起运营。
  4. 采集时段:2019 年 1 月至 2022 年 12 月(主数据集);CODE-II-test 为 2018-2025。
  5. 论文:npj Digital Medicine,2026-05-26,DOI 10.1038/s41746-026-02704-4,PubMed 42185490。
  6. 预印本:arXiv:2511.15632,v1 于 2025-11-19 提交(eess.SP + cs.LG)。
  7. 作者 10 人:Abreu、Paixão、Li、Gomes、Macfarlane、Oliveira、Carvalho、Schön、A. L. P. Ribeiro、A. H. Ribeiro。
  8. 伦理:UFMG 伦理委员会 CAAE 85892325.1.0000.5149,匿名二次分析豁免知情同意。
  9. TNMG 现状:日 8,000+ 份报告、14 州、1,400+ 县市、累计 1,100 万+ 数字 ECG。
  10. 上游筛选:时间窗内约 300 万原始 ECG,经日期/年龄 ≥18/技术完整性过滤得最终规模。
  11. 患者:女 59.1%(1,237,632)/ 男 40.9%(856,175);平均年龄 53.6 岁。
  12. 1,663,122 人仅 1 份检查;430,685 人 2 份以上。
  13. 合并症:高血压 47.7%、糖尿病 14.0%、吸烟 8.2%、血脂异常 4.8%、既往心梗 1.8%、查加斯病 1.1%、COPD 0.7%。
  14. 波形:每检查最多 4 条 tracings,7-12 秒,300/500/600/1000 Hz,原始形式发布。
  15. 预处理(论文配置):400 Hz 重采样、4,096 样本、高通滤波、60 Hz 陷波、8 导联(I、II、V1-V6)。
  16. 标签:66 类 CODE 诊断类(2007 AHA/ACC + 巴西标准),10 组,65 类非互斥 + Normal 互斥。
  17. 类频次:NORMAL 49.9%(1,364,623)、NS-STT 13.3%、LAE 10.6%、LVH 4.0%、窦速 3.9%、LBBB 2.2%、AF 1.9%、RBBB 1.8%。
  18. 组分布(前五):Normal 49.9%、Miscellaneous 25.2%、Chamber Hypertrophy 14.8%、Arrhythmia 10.3%、室内传导障碍 9.8%;非互斥组 251 种组合模式。
  19. 全量划分:2,226,443(81.4%)训练 / 508,826(18.6%)验证,患者级分离。
  20. CODE-II-open:15,000 患者第一份检查,12,000 训练 / 3,000 验证,80/20 类内分层,预定义。
  21. CODE-II-test:8,475 份独立患者检查,46 名专家,至少 2 名/份独立盲审。
  22. test 定标:完全一致 6,309 份(74.4%)+ 多数规则 2,166 份(25.6%)。
  23. test 分布位移:NORMAL 约 40.1%、LBBB 2.6%、AF 2.6%(vs 主数据集 49.9%、2.2%、1.9%)。
  24. 基线结果:micro-AUROC 0.983 / AUPRC 0.776 / F1 0.706 / recall 0.801 / specificity 0.990 / NPV 0.996;macro 0.978 / 0.561 / 0.510;CI 为 1,000 bootstrap。
  25. 分级:NORMAL AUPRC 0.931、LBBB 0.944、AF 0.950、STEMI 0.647(test 口径)。
  26. open 基准:从头训练 macro-AUROC 0.951 / AUPRC 0.410(全量的约 0.72% 数据)。
  27. Scaling law:拐点约 15,000 患者;子集 1,000-50,000 与全量 5%-50%,3 seeds(1/2/3)。
  28. 迁移:PTB-XL 与 CPSC 2018 上全数据与 few-shot(5%/10%)均优于从头训练与更大语料对手(含 HuBERT 9.1M 口径)。
  29. 许可:open/test 波形 CC BY-NC-SA 4.0;test 标注保留盲评;全量受限(邮件 telessaude.hc-ufmg@ebserh.gov.br + 数据使用协议);权重 UFMG 受控分发。
  30. 官方入口:GitHub PetrusAbreu/code-ii(README 最后提交 2026-05-11);预处理 antonior92/ecg-preprocessing;架构 antonior92/automatic-ecg-diagnosis。
  31. 基线训练超参:BCE 等权、Adam lr 0.001 无权重衰减、验证 loss 5 epoch 平台则 ×0.1(下限 1e-7)、最多 70 epochs、按验证 loss 选优。
  32. 多 tracing 约定:训练作独立输入,测试按 exam 平均预测。
  33. test 阈值策略:验证集逐类 F1 最大化选定后冻结,原样应用于 test。
  34. open 基准结论:从头训练「匹配或超过」多个成熟 ECG 模型在各自最佳配置下的表现(仅全量约 0.72% 数据)。
  35. 251 种非互斥组组合模式;多数检查仅 1 个诊断类,多标签逐级递减。
  36. 报告类型字段区分 original/revised;年龄重算公式为 (exam date − birth date) / 365.25。

术语表(30 条)

术语 释义
12 导联(12-lead ECG) 标准 12 导联静息心电图:肢体导联 I/II/III/aVR/aVL/aVF + 胸前导联 V1-V6
TNMG Telehealth Network of Minas Gerais,巴西米纳斯吉拉斯州远程医疗网络
UFMG Universidade Federal de Minas Gerais,米纳斯吉拉斯联邦大学
CODE 诊断类 TNMG 使用的 66 类标准化 ECG 诊断体系(基于 2007 AHA/ACC 与巴西报告标准)
多标签分类(multi-label) 一个样本可同时带多个类别标签;66 类中 65 类非互斥
互斥类 Normal 为唯一互斥类:一旦标注正常,不再叠加其他 65 类
micro-AUROC 全类合并计算 ROC 曲线下面积;受大类主导
macro-AUROC 66 类各算 AUROC 后等权平均;受罕见类拖累
AUPRC / AP 精确率-召回率曲线下面积;类稀疏时比 AUROC 更敏感
微平均/宏平均阈值 阈值无关指标不分阈值;F1 等阈值指标按类在验证集上最大化 F1 选定后冻结
完全一致规则 test 集定标规则:所有审阅专家全标签一致即采用(占 74.4%)
多数规则 至少 2 名审阅者同一诊断即采用(占 25.6%)
盲评(blinded evaluation) 模型预测提交至受控环境、对照不公开的金标准计算指标
Scaling law 拐点 性能-数据量曲线由陡增转平缓的位置;CODE-II 实验约 15,000 患者
few-shot 微调 仅用目标域小比例(5%/10%)训练数据微调预训练模型
tracings 一次检查内采集的单条连续波形记录;每检查最多 4 条
零填充(zero-padding) 波形短于目标长度(4,096 样本)时以零补齐
陷波滤波(notch filter) 窄带滤除工频干扰(巴西 60 Hz 电网)
患者级分离 划分时同一患者的所有检查只出现在同一子集,防泄漏
类内分层划分 每个诊断类内部独立保持训练/验证比例(约 80/20)
CC BY-NC-SA 4.0 署名-非商业-相同方式共享许可;NC 禁商用、SA 衍生须同许可
CAAE 巴西伦理审查系统的认证编号(Certificado de Apresentação de Apreciação Ética)
查加斯病(Chagas) 克氏锥虫所致美洲地方病,心电图筛查热点(CODE 研究分支之一);本数据集自述率 1.1%
STEMI ST 段抬高型心肌梗死;CODE-II 中以「ST 段抬高」模式类标注
1D-ResNet 一维卷积残差网络;CODE-II 基线架构(CODE-I 同源),kernel 17 大核适配心拍尺度
BN(BatchNorm) 批归一化;残差块标准组件
Dropout 训练期随机失活;基线用 0.5 比例
Adam 自适应学习率优化器;基线初始 lr 0.001
MedSVG / 组合标签体系 PTB-XL 所用标签结构的泛称;与 CODE 66 类并读时注意体系差异
Source Data Nature 系期刊随文发布的图表底层数据文件

附录

附录 A:条目信息速查卡

项 值
slug code-ii
官方名 CODE-II: A large-scale dataset for artificial intelligence in ECG analysis
论文 npj Digital Medicine 2026,DOI 10.1038/s41746-026-02704-4
预印本 arXiv:2511.15632(2025-11-19)
领域 心电图 · 生理信号 · 多标签分类
规模 2,735,269 检查 / 2,093,807 患者
标签 66 类(10 组)多标签
公开部分 CODE-II-open(15,000 患者)+ CODE-II-test 波形(8,475)
许可 CC BY-NC-SA 4.0(公开部分)
入口 github.com/PetrusAbreu/code-ii
机构 UFMG / TNMG(巴西)
库内互链 code-15(152)、ptb-xl(70)、cpsc(132)、mimic-iv-ecg(172)

附录 B:DAIMS 评估全表(Data Attributes for Medical/wellness Integrity & Standardization)

DAIMS 维度 评估 要点
D1 数据可用性 A(部分开放) open/test 波形公开直链(经 GitHub);test 标注保留;全量申请制
D2 许可明确性 A CC BY-NC-SA 4.0 白纸黑字;全量走数据使用协议
D3 标注质量 A+ 日常专家标注 + 46 人多盲 + 双规则定标(74.4% 完全一致)
D4 标注可比性 A- 66 类体系有标准化判据与 Supplementary 映射;全表未随正文完全公开(待核)
I1 样本独立性 B+ 检查间存在患者级相关(430,685 人多份);官方划分患者级分离
I2 划分防泄漏 A 全量 81.4/18.6 与 open 12,000/3,000 均患者级 + 类内分层;test 零重叠
M1 元数据完备度 A 检查/患者/合并症/指征/测量值/报告类型字段齐备
M2 采集场景透明度 A 远程医疗真实世界、设备与采样率多样性明示
S1 可复现支持 A- 预处理与架构全开源;test 指标需提交制(设计使然)
S2 基线完整性 A 架构、超参、划分、3 seeds 方差全披露
综合评级 A- ECG 领域治理标杆;扣分项为许可收紧(NC-SA)与 PhysioNet 入口时点存疑(坑 1)

附录 C:逐项证据链自证

声明 证据源
规模 2,735,269 / 2,093,807 npj 论文摘要 + arXiv 摘要 + GitHub README 三源一致
66 类 / 10 组名 npj 正文(10 组枚举)+ ChatPaper 转载图注一致
类频次表 arXiv 正文 §2.2(逐类计数与百分比)
人口学与合并症 npj 正文(性别 59.1/40.9、年龄 53.6、合并症百分比逐项)
test 定标规则与比例 arXiv §2.3(6,309/74.4%、2,166/25.6%)+ CSDN 综述佐证
基线全套指标 arXiv §2.5(micro/macro 全表 + bootstrap 说明)
open 基准 0.951/0.410 ar5iv 全文 §2.6(含 0.72% 口径)
scaling 拐点 15,000 arXiv §4.9 设计段 + Moonlight 中英综述一致
迁移优于更大语料模型 摘要 + Discussion + synapsesocial PICO 摘录一致
许可与获取渠道 GitHub README(NC-SA、申请邮箱)+ npj Data availability 逐句
伦理 CAAE npj Ethics statement(85892325.1.0000.5149)
采集时段两口径 GitHub README(2019-01~2022-12)vs arXiv §2.3(test 2018-2025)——已存照

附录 D:数据获取决策树

需要 CODE-II 吗?
├─ 只要训练/复现多标签分类
│   ├─ 下 CODE-II-open(15,000 患者,预定义划分)
│   │   ├─ 入口:github.com/PetrusAbreu/code-ii → PhysioNet
│   │   ├─ 用官方预处理脚本(400 Hz / 4096 / 8 导联)
│   │   └─ 对表:macro-AUROC 0.951 / AUPRC 0.410
│   └─ 需要更大规模 → 走全量申请
├─ 只要评测模型
│   ├─ 下 CODE-II-test 波形(8,475)
│   ├─ 本地推理生成预测
│   └─ 提交受控评测(标注不出库)
├─ 要商用
│   ├─ 公开部分:NC 限制 → 触雷
│   └─ 评估替代:CODE-15%(CC BY 4.0,rid 152)
└─ 要死亡随访/纵向结局
    └─ 本条目不含 → 看 CODE-I 家族与 CODE 研究分支

附录 E:CODE 10 组 × 代表性类别映射

组 代表类(简称) 备注
Pacemaker 起搏器心律等 器械相关
Normal NORMAL(1,364,623 / 49.9%) 唯一互斥类
Technical issues 信号质量问题类 预处理后是否保留需显式决策
Sinus Rhythm 窦律、SB(窦缓)、ST(窦速 107,212 / 3.9%) 节律基线
Arrhythmia AF(52,513 / 1.9%)、房扑、早搏、室速 节律异常
AV Conduction Disorders 一度/二度/三度 AVB 房室传导
Chamber Hypertrophy LAE(10.6%)、LVH(4.0%)等 结构性
Intraventricular Conduction LBBB(2.2%)、RBBB(1.8%)、分支阻滞 传导异常
Ischemia/Infarction ST 抬高、ST 压低、T 倒置、病理性 Q 波、STEMI 模式级,非临床诊断级
Miscellaneous NS-STT(13.3%)、QT 延长、低电压、电轴偏移 杂类兜底

注:逐类正式名称与 class ID 映射见论文 Supplementary Table 2(全表待核,见 FACTS 存照)。

附录 F:预处理管线代码骨架(对齐官方脚本语义)

# 官方脚本: github.com/antonior92/ecg-preprocessing
# 语义骨架(非逐行照抄,工程实现以官方仓库为准)
import numpy as np
from scipy.signal import resample_poly, butter, filtfilt, iirnotch

FS_TARGET = 400        # 论文配置:统一重采样到 400 Hz
N_SAMPLES = 4096       # 目标长度(约 10.24 s),不足零填充
LEADS_8 = ["I", "II", "V1", "V2", "V3", "V4", "V5", "V6"]

def preprocess(tracing, fs_src):
    # 1) 统一重采样(fs_src ∈ {300, 500, 600, 1000})
    signal = resample_poly(tracing, FS_TARGET, fs_src, axis=0)
    # 2) 高通滤波去基线漂移
    b, a = butter(3, 0.5 / (FS_TARGET / 2), btype="high")
    signal = filtfilt(b, a, signal, axis=0)
    # 3) 60 Hz 陷波去工频干扰
    b_n, a_n = iirnotch(60.0 / (FS_TARGET / 2), 30.0)
    signal = filtfilt(b_n, a_n, signal, axis=0)
    # 4) 长度对齐:截断或零填充至 4096
    out = np.zeros((N_SAMPLES, signal.shape[1]), dtype=signal.dtype)
    n = min(N_SAMPLES, signal.shape[0])
    out[:n] = signal[:n]
    # 5) 仅保留 8 导联(I, II, V1-V6)
    return out[:, [0, 1, 6, 7, 8, 9, 10, 11]]

附录 G:评测指标计算要点

指标 计算 CODE-II-test 值
micro-AUROC 全类预测展平后整体算 ROC AUC 0.983
macro-AUROC 逐类 AUROC 等权平均 0.978
micro-AUPRC 全类展平算 PR AUC(Average Precision) 0.776
macro-AUPRC 逐类 AUPRC 等权平均 0.561
F1(micro) 类特定阈值下全类合并 0.706
Recall / Specificity / NPV 同上口径 0.801 / 0.990 / 0.996
置信区间 1,000 次 bootstrap 重采样 论文 Fig. 3
阈值来源 验证集逐类 F1 最大化,冻结后用于 test 防test调参

附录 H:入口与联系清单

资源 地址
官方入口仓库 github.com/PetrusAbreu/code-ii
预处理脚本 github.com/antonior92/ecg-preprocessing
基线架构 github.com/antonior92/automatic-ecg-diagnosis
全量库申请 telessaude.hc-ufmg@ebserh.gov.br(抄送通讯作者)
论文正式版 doi.org/10.1038/s41746-026-02704-4
预印本 arxiv.org/abs/2511.15632
PubMed pubmed.ncbi.nlm.nih.gov/42185490
对比模型仓库 ecg-age-prediction、MERL-ICML2024、ecg-fm(bowang-lab)、HeartLang(PKUDigitalHealth)、HuBERT-ECG(Edoar-do)
库内家族条目 code-15(rid 152)、ptb-xl(rid 70)、cpsc(rid 132)、mimic-iv-ecg(rid 172)

PhysioNet 下载注意事项(平台通用):① PhysioNet 对开放数据集直接下载,对凭据数据集需 CITI 培训证书 + 机构邮箱申请——CODE-II 系列按论文口径为非商业开放,预期走前者;② 大文件优先用 wget -c 断点续传;③ 下载后校验文件哈希(PhysioNet 页面通常提供 MD5/CHECKSUMS);④ 引用时同时给数据集 PID 与平台 URL,便于审稿人核验版本。以上为平台惯例提示,具体以 CODE-II 页面上线后的官方说明为准。

附录 I:坑点档案(与 §9 对照)

坑 触发场景 一句话处置
1 引用 PhysioNet 链接 以 GitHub 为入口并注查证日期;README 曾标 coming soon
2 检索「CODE dataset」 先核时段(2019-2022)+ 标签数(66)+ DOI 再对号
3 找 test 标签下载 不存在下载;走提交评测;警惕第三方「标签文件」
4 读波形报错/错位 先查元数据采样率再重采样;勿固定点数硬切
5 混合发布衍生集 NC+SA 双限制;与 CC BY 数据混合前做兼容矩阵
6 引用 0.983 单数字 micro/macro × AUROC/AUPRC 成对引用 + 罕见类警告
7 用 softmax 单标签训练 65 类非互斥 → sigmoid 多标签;决策 Tech issues 去留
8 自行随机划分 患者级分离 + 类内分层;直接用官方划分

附录 J:检索决策树

你在找什么?
├─ ECG 大规模预训练语料 → CODE-II 全量(申请)或 open 子集起步
├─ 多标签 66 类基准 → CODE-II-open 训练 + CODE-II-test 盲评
├─ 六类经典节律基准(轻量/CC BY)→ code-15(rid 152)
├─ 欧洲临床静息 ECG → ptb-xl(rid 70)
├─ 中国 9 类基准 → cpsc(rid 132)
├─ ICU/院内大规模 ECG → mimic-iv-ecg(rid 172)
└─ ECG 预后/死亡随访 → CODE-I 家族与 CODE 研究分支(库外)

附录 K:与库内条目的关系声明

本条目(code-ii)与库内 code-15(rid 152)为同一家族、不同代际的两条独立记录:code-15 是 CODE-I(2010-2016 数据、6 类)的公开子集,code-ii 是第二代独立采集(2019-2022、66 类)。二者不构成别名、版本或子集关系,条目内容各自独立成稿;互链仅用于家族导航与许可/规模对照。ptb-xl(rid 70)与 cpsc(rid 132)在本条目中的角色是外部迁移基准(CODE-II 预训练模型在其上微调评测);mimic-iv-ecg(rid 172)是同档规模、不同场景(美国 ICU/院内 vs 巴西远程医疗)的对照条目。

附录 L:基线训练配置全表

项 值
输入 8 导联 × 4,096 样本 @ 400 Hz
初始层 Conv1D,64 filters,kernel 17
残差块 5 块 ×(Conv1D kernel 17 × 2 + BN + ReLU + dropout 0.5)
块内下采样 4×(序列 4,096 → 16)
通道演进 64 → 320(跨块递增)
跳连 max pooling + 1×1 Conv 对齐
输出 Flatten → Dense → sigmoid × 66
损失 BCE(类等权)
优化器 Adam,lr 0.001,无权重衰减
调度 验证 loss 5 epoch 平台 → lr ×0.1;下限 1×10⁻⁷
早停 最多 70 epochs;按验证 loss 选 checkpoint
划分 全量:2,226,443 / 508,826(患者级);open:12,000 / 3,000(预定义)
随机性 scaling 实验 3 seeds(1/2/3)报告均值与极值

附录 M:Scaling law 实验配置总表

设计要素 内容
数据轴 患者级(每患者第一份检查),2,093,807 起点
规模点 1,000 / 10,000 / 50,000 患者子集;open(15,000);全量约 5% / 10% / 25% / 50%
比例控制 每点约 80/20 训练-验证,类内分层 + 患者互斥
固定项 架构、全部超参、评测集(CODE-II-test)
变量 训练数据规模(唯一变量)
重复 3 随机种子(1/2/3)
指标 macro-AUROC、macro-AUPRC 的均值/最小/最大
核心结论 拐点约 15,000 患者;open 尺寸对齐拐点设计

附录 N:三个规模口径对照表

口径 数值 适用场景
检查(exam) 2,735,269 标签/划分/评测单位;「条记录」默认口径
患者(patient) 2,093,807 人口学/scaling/防泄漏单位
波形(tracing) 检查数 × 1-4 存储与训练步数估算;文件体积口径
全量训练/验证 2,226,443(81.4%)/ 508,826(18.6%) 全量库划分
open 训练/验证 12,000 / 3,000 公开基准划分
test 8,475(独立患者,标注保留) 盲评单位

附录 O:CODE 家族许可与获取对照矩阵

维度 CODE-15%(rid 152) CODE-II open/test 波形(本条目) CODE-II 全量
许可 CC BY 4.0 CC BY-NC-SA 4.0 非商业 + 数据使用协议
商用 允许 禁止 不受理
衍生发布 任意兼容许可 必须同 NC-SA 按协议
获取 Zenodo 4916206 直链 PhysioNet(经 GitHub 入口) 邮件个案审核
标注 6 类二元 + 随附字段 66 类多标签(open);test 标注保留 66 类全量
体量 345,779 检查 15,000 + 8,475 检查 2,735,269 检查
关联论文 Ribeiro 2020 Nat Commun Abreu 2026 npj Digital Medicine 同左

附录 P:PhysioNet 状态时间线存照

时点 事件 证据
2025-11-19 arXiv v1 提交,数据链接为占位符(「LINK that will be available upon publication」) arXiv §5 Data availability
2026-05-11 GitHub README 最后提交,open/test 的 PhysioNet 链接标注「coming soon」 GitHub 仓库
2026-05-26 npj 正式版发表,Data availability 写「publicly available via PhysioNet for non commercial use」 npj 论文
2026-10-03 本条目抓取:README 仍为入口权威;直连 PhysioNet 疑似页面未获内容确认 本条目 FACTS 存照 #1

结论:发布渠道以 GitHub → PhysioNet 为官方路径,PhysioNet 页面状态随时间演进;引用获取方式时建议附带查证日期。

附录 Q:库内 ECG 条目五维对照

维度 code-ii(本条目) code-15(152) ptb-xl(70) cpsc(132) mimic-iv-ecg(172)
规模 2.74M 检查 345,779 ~21,837 ~6,877 ~800,035
标签 66 类多标签 6 类二元 组合标签体系 9 类 MedSVG 映射标签
场景 巴西远程医疗 同左(早时段) 德国医院 中国医院 美国 ICU/院内
许可 NC-SA(公开部分) CC BY 4.0 CC BY 4.0 开放 PhysioNet 凭据
独特价值 规模×标签广度×盲评治理 家族前代 + 死亡随访 临床金标 + 划分惯例 跨人群基准 危重语境对照

附录 R:常见错误引用与修正对照

常见错误写法 问题 正确写法
「CODE-II 包含 8,475 份标注」 test 标注不公开,8,475 仅为波形+盲评金标准 「CODE-II-test 含 8,475 份波形(标注保留盲评)」
「CODE-II 是 CODE-15% 的升级版」 两代独立采集、时段零重叠 「CODE-II 是 CODE 家族第二代(2019-2022 新采集)」
「micro-AUROC 0.983,超过所有模型」 选择性引用;口径未说明 「micro-AUROC 0.983 / macro-AUROC 0.978 / macro-AUPRC 0.561(1D-ResNet 全量训练)」
「15,000 患者公开了全部数据」 全量库仍受限 「公开子集 15,000 患者;全量 273.5 万检查受限申请」
「在 CODE-II 上取得 X 分(自算 test)」 test 标注不出库,自算无金标准 「在 CODE-II-open 验证集取得 X 分;test 成绩待官方盲评」
「CODE-II 数据采用 CC BY 4.0」 许可收紧为 NC-SA 「公开部分采用 CC BY-NC-SA 4.0」
「300 万份 ECG」 300 万为筛选前原始量 「质控后 2,735,269 份检查(筛选前约 300 万)」

相关数据集导航

以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:

  • ptb-xl-plus — 共享标签:生理信号 / 心电信号 / 评测基准 / 心血管疾病 / 真实世界数据
  • code-test — 共享标签:生理信号 / 心电信号 / 评测基准 / 心血管疾病
  • ecg-arrhythmia — 共享标签:生理信号 / 心电信号 / 评测基准 / 心血管疾病
  • ecg-fragment-high-risk-label — 共享标签:生理信号 / 心电信号 / 评测基准 / 心血管疾病
  • ludb — 共享标签:生理信号 / 心电信号 / 评测基准 / 心血管疾病
  • mit-bih-afdb — 共享标签:生理信号 / 心电信号 / 评测基准 / 心血管疾病
  • cinc-2021 — 共享标签:生理信号 / 心电信号 / 评测基准 / 心血管疾病
  • icentia11k — 共享标签:生理信号 / 心电信号 / 评测基准 / 心血管疾病
  • ltafdb — 共享标签:生理信号 / 心电信号 / 评测基准 / 心血管疾病
  • cinc-2020 — 共享标签:生理信号 / 心电信号 / 评测基准 / 心血管疾病

导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

返回 AI-Ready 数据集