CODE-test — 827 例标注 12 导联心电图留出测试集

巴西米纳斯吉拉斯远程医疗网络 CODE 研究的公开留出测试集:827 例 12 导联 ECG、六类异常、双心内科医师独立标注加第三专家仲裁金标准,附带住院医、急诊医、医学生与 DNN 四套对照标注,是「AI 与医师同题对照」的教科书级心电基准

来源 12 导联心电图 HDF5 张量 (827, 4096, 12)(400 Hz,原始 7 s 或 10 s 信号对称零填充至 4096 样本,导联序 DI-DII-DIII-aVR-aVL-aVF-V1-V6)+ 患者 attributes.csv(性别/年龄)+ 6 套六类异常 0/1 标注 csv(双心内科医师、金标准、DNN 预测、心内住院医、急诊住院医、医学生)发布时间: 2026-10-13最后更新: 2026-10-20 阅读 31
CODE-test — 827 例标注 12 导联心电图留出测试集

信息速览

数据集名称CODE-test — 827 例标注 12 导联心电图留出测试集
数据类型人工标注,原始数据
规模827 例(827 个不同患者,一例一心)
接入方式12 导联心电图 HDF5 张量 (827, 4096, 12)(400 Hz,原始 7 s 或 10 s 信号对称零填充至 4096 样本,导联序 DI-DII-DIII-aVR-aVL-aVF-V1-V6)+ 患者 attributes.csv(性别/年龄)+ 6 套六类异常 0/1 标注 csv(双心内科医师、金标准、DNN 预测、心内住院医、急诊住院医、医学生)
AI 就绪度

INFOBOX — CODE-test 一屏速览

维度 内容
本质 CODE 研究(Clinical Outcomes in Digital Electrocardiology)的公开留出测试集:Ribeiro et al. 2020 Nat Commun 论文 827 例 hold-out test
来源 巴西米纳斯吉拉斯州远程医疗网络 TNMG 常规业务 ECG(上游全库约 232 万条 / 167.6 万患者 / 811 市县)
数据 827 例 12 导联 ECG;400 Hz;4096 样本(原始 7 s/10 s 对称零填充);HDF5 张量 (827, 4096, 12);218.2 MB
类别 六类二元异常多标签:1dAVb / RBBB / LBBB / SB / AF / ST
标注 双心内科医师独立标注一致即金标准,分歧由第三资深专家仲裁;另有 DNN、心内住院医、急诊住院医、医学生四套对照标注
流行率 金标准口径 146/827(17.7%)至少一项异常,12 例多项(第三方目录口径,存照)
论文结论 DNN 六类 F1 全部 >0.80、特异性 >0.99,胜过心内科住院医师
许可 CC BY 4.0,Zenodo record 3765780 公开直链,无需注册
配套 GitHub antonior92/automatic-ecg-diagnosis(训练/评测脚本与预训练模型)
库内血缘 CODE-15%(code-15)为同论文公开训练子集;CODE 全库本体受限(DUA)
独特价值 「DNN vs 三级医师 vs 金标准」同题完整对照——可做观察者一致性研究,不只是打榜

CODE-test 是一个「小而极重」的数据集:它只有 827 例心电图,却承载了深度学习心电诊断方向被引用最多的论文之一(Ribeiro et al., Nature Communications 2020)的全部公开测试证据。它的真正卖点不是规模,而是标注的透明度——同一个测试集上,两名心内科医师、一名仲裁专家、两名心内科住院医师、两名急诊住院医师、两名医学生和论文自己的深度神经网络,各自留下了一套完整的六类异常标注。你拿到的不只是「题目和标准答案」,还有「各个水平考生」的真实答卷。这使它同时是模型基准、医师-机器对照研究材料和观察者一致性研究素材。

导语读法三则:

  1. 只想下数据:直奔 §6 获取与许可——CC BY 4.0,Zenodo 直链一个 zip 全搞定,无需注册。
  2. 关心 AI vs 医师:直奔 §4 与 §5——六套标注文件的协议与论文对照结果是核心。
  3. 关心信号工程细节:直奔 §2——400 Hz、零填充到 4096、量纲 1e-4 V 这三个坑都在那里。

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

自动心电图分析在临床上并非新事物——计算机化 ECG 解读早已内置于各厂商机器,但其准确率长期不被信任,临床实践中医师几乎总要重新阅读。深度学习出现后,问题变成:一个在大规模标注数据上训练的神经网络,能不能在标准 12 导联心电图上稳定超过受过训练的医师?要回答这个问题需要两样东西:一是足够大的训练语料(Ribeiro 团队手里有 TNMG 常规业务积累的约 232 万条 ECG),二是一个标注协议完全透明、且同时有医师对照成绩的测试集。前者从未公开,后者就是 CODE-test。

CODE-test 的设计哲学可以概括为一句话:测试集本身也是一份研究材料。多数公开 ECG 基准只给你一个标签列,你无法知道标签怎么来的、医师水平如何影响答案。CODE-test 则把整个标注社会学的全貌原样发布:独立双医师、分歧仲裁、不同训练水平的初级医师与学生、以及模型自身的预测——六列答案摆在一起,研究者可以重现论文里「DNN 胜过住院医师」的核心论证,也可以做论文没做的观察者一致性、裁决偏差、标注层级效用等分析。

§0 读法三则:

  1. 这个条目是「测试集+论文证据+标注社会学样本」三合一:本体是 827 例信号与六套标注,论文证据是 DNN vs 医师对照结论,副产品是一套可复用的多层级标注协议。
  2. 全文统计数字均出自 Zenodo 官方描述、arXiv/Nature Communications 论文与第三方收录目录三源互证;凡单源或未实抓处均已在坑点与 FACTS 存照中显式标注。
  3. 检索时注意区分三个名字:CODE(232 万条全库,受限)、CODE-15%(公开 15% 训练子集,库内 rid 152)、CODE-test(827 例公开测试集,本条目)——三者常被混写(坑 1)。

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

Q1:CODE-test 的「CODE」是什么?
Clinical Outcomes in Digital Electrocardiology——巴西米纳斯吉拉斯联邦大学(UFMG)主导的一项长期研究计划,依托州远程医疗网络 TNMG 的日常业务采集心电图并随访结局,累计约 232 万条记录、167.6 万患者,覆盖全州 811 个市县。

Q2:827 例是怎么来的?
它是 Ribeiro 2020 论文的 hold-out test set:从 CODE 库内部划分出训练/验证集后独立保留的测试子集,公开发布于 Zenodo(2020-01-22,v1.0.3)。每例来自不同患者,一例一心,无重复患者。

Q3:信号什么规格?
12 导联、400 Hz 采样。原始采集时长 7 秒(2800 样本)或 10 秒(4000 样本),发布时在两侧对称零填充统一到 4096 样本(约 10.24 秒)。浮点存储,量纲 1e-4 V——要得到伏特需乘 1000。

Q4:标注哪六类异常?
一度房室阻滞(1dAVb)、右束支阻滞(RBBB)、左束支阻滞(LBBB)、窦性心动过缓(SB)、房颤(AF)、窦性心动过速(ST)。每类一个 0/1 列,多标签——一个样本可同时阳性多项(金标准口径 12 例)。

Q5:金标准怎么定的?
两名心内科医师独立标注:一致即采纳为金标准;任何分歧交由第三名资深专家仲裁(该专家知晓前两人的标注后裁决——协议上有此非盲设计,坑 6)。

Q6:除了金标准还有什么标注?
五套对照:cardiologist 1、cardiologist 2 的各自独立标注、DNN 预测(阈值取 F1 最大化)、两名心内科 4 年级住院医师(各标一半)、两名急诊 3 年级住院医师(各标一半)、两名医大 5 年级学生(各标一半)。共 6 份 csv 文件,行序与信号一一对应。

Q7:异常比例多少?会不会太容易?
金标准口径下 146/827(约 17.7%)至少一项异常——远高于普通筛查人群,但也意味着 82% 为全阴性,做分类器评测时需注意类不平衡与特异性指标的重要性。

Q8:论文的核心结果是什么?
DNN 在六类异常上 F1 全部超过 0.80、特异性超过 0.99,且整体成绩胜过心内科住院医师——这是「深度学习 12 导联 ECG 诊断达到并超过初级专科医师水平」这一论断的最常被引用证据。

Q9:我现在能拿到什么?
全部。CC BY 4.0,Zenodo record 3765780 直接下载 data.zip(218.2 MB,含信号 HDF5 + 属性表 + 全部标注 csv),配套 GitHub 仓库提供训练/评测脚本与预训练模型。上游 CODE 全库本体则从未公开(需数据使用协议 DUA,走合作申请)。

Q10:为什么它对 AI-Ready 重要?
它是「测试集即基准」的极简范本:单文件分发、格式自解释(HDF5+CSV)、license 干净、附带官方代码——机器可读与人类可读兼备。它同时示范了另一种 AI-Ready 维度:标注过程的完整可追溯(六套答案并置),这是多数数据集不具备的元透明度。

§2 数据构成与规格

2.1 规模与来源

属性 数值
记录数 827 例 12 导联 ECG
患者数 827(不同患者,一例一心)
上游来源 CODE 研究(TNMG 常规业务,约 2,322,513 条 / 1,676,384 患者 / 811 市县,第三方精确口径)
发布 Zenodo record 3765780,v1.0.3,2020-01-22
发布方署名 UFMG(巴西)+ Uppsala University(瑞典)+ University of Glasgow(苏格兰)
文件包 data.zip,218.2 MB,md5 cef8fe457abf4b8f66a34dc1269b4ced

827 例的抽样过程未随数据集发布完整的抽样协议文档——它是论文内部数据划分的产物,公众知道的是「独立患者、独立于训练/验证集」。与上游全库相比,它是极小的非随机切片,异常流行率(17.7% 至少一项)远高于常规人群。使用时的含义:不要把 CODE-test 当作流行病学样本,它天生是评测材料。

2.2 信号规格

属性 规格
导联 12 导联,顺序 DI, DII, DIII, AVR, AVL, AVF, V1, V2, V3, V4, V5, V6
采样率 400 Hz
存储形状 (827, 4096, 12) HDF5 张量,数据集名 tracings
原始时长 7 s(2800 样本)或 10 s(4000 样本)混布
填充策略 两侧对称零填充至 4096 样本(7 s 信号首尾各补 648 样本)
量纲 浮点数,1e-4 V 刻度(×1000 得伏特)
读取方式 h5py 读 tracings 数据集即可(官方 README 给出三行示例)

零填充是使用时的第一个工程坑:有效信号段在 7 s 与 10 s 两种样本里位置不同。直接全段输入模型没问题(训练时同样如此),但若做 R 波检测、时长敏感的节律统计或信号质量评估,需要先定位有效段。官方训练管线不做去填充,模型自学忽略零段。

2.3 文件清单

data.zip (218.2 MB)
├── ecg_tracings.hdf5        # (827, 4096, 12) 信号张量
├── attributes.csv           # 性别(M/F)、年龄;827 行+表头,行序=信号第一维
└── annotations/
    ├── cardiologist1.csv    # 心内科医师 1 独立标注(金标准裁决人)
    ├── cardiologist2.csv    # 心内科医师 2 独立标注(金标准裁决人)
    ├── gold_standard.csv    # 金标准(双医师一致项 + 第三专家仲裁项)
    ├── dnn.csv              # 论文 DNN 预测(阈值取 F1 最大化)
    ├── cardiology_residents.csv    # 心内 4 年级住院医 ×2(各标一半)
    ├── emergency_residents.csv     # 急诊 3 年级住院医 ×2(各标一半)
    └── medical_students.csv        # 医大 5 年级学生 ×2(各标一半)

全部标注 csv 同构:827 行+表头,6 列(1dAVb, RBBB, LBBB, SB, AF, ST),0/1 取值,第 i 行对应 ecg_tracings.hdf5 第 i 条信号。行序对齐是这个数据集最重要的约定——所有跨文件分析都以行号 join,没有任何患者 ID 泄漏风险(本身就是匿名化设计)。

§3 标注协议:六套答案如何产生

3.1 金标准协议

金标准(gold_standard.csv)的产生分两步:

  1. 双医师独立标注:两名心内科医师分别独立阅读全部 827 例并各自给出六类 0/1 判定。两人一致的条目,直接采纳为金标准——论文以此利用一致性作为可信度代理。
  2. 专家仲裁:任何不一致条目交由第三名资深专家裁决。注意协议原文明确该专家「知晓(aware of)前两人的标注」后决定——这是一种知情的仲裁而非盲裁。仲裁结果直接写入金标准。

这个协议的强度介于「单一专家金标准」与「多轮盲裁共识」之间:一致性条目有双医师背书,分歧条目依赖单一资深意见且非盲。做观察者一致性研究时应把 gold_standard 视为「裁决共识」而非「无误差真值」(坑 6)。

3.2 五套对照标注

文件 标注者 覆盖方式 用途
cardiologist1.csv / cardiologist2.csv 心内科医师(金标准裁决人) 全集各自独立 重现一致性→金标准流程;度量专家间分歧
dnn.csv 论文 DNN(残差卷积网络) 全集 模型-医师同题对照;阈值经 F1 最大化校准
cardiology_residents.csv 心内科 4 年级住院医 ×2 各标一半 专科培训中期水平基线
emergency_residents.csv 急诊 3 年级住院医 ×2 各标一半 非专科急症一线水平基线
medical_students.csv 医大 5 年级学生 ×2 各标一半 未受训基线(地板组)

「各标一半」意味着每位住院医/学生只有约 413 例的成绩,论文在其间的比较是基于合并两人的汇总表现。做逐人分析时无法从公开文件区分同组内的两个个体——csv 只有一列合并结果。这是公开版相对论文内部信息的一处降维(坑 4)。

3.3 为什么这种标注结构稀有

绝大多数公开医学数据集只发布一个标签列,标注者身份、水平、分歧处理方式都是黑箱。CODE-test 反其道而行:把「答案」与「各水平考生的答卷」一并发布,使第三方可以:

  • 重现论文的 DNN vs 住院医比较,并检验其结论稳健性;
  • 计算任何两级标注者之间的观察者一致性(κ、F1、敏感度/特异度矩阵);
  • 研究「仲裁专家的分歧条目倾向」——例如仲裁是否系统性偏向某一侧;
  • 用学生/住院医成绩做「难度分层」:某条目连金标准裁决人都分歧、学生全错,即为高难样本。

这套协议后来在 TNMG 系数据集(如 SaMi-Trop)与诸多 ECG 论文被引用为多级标注的模板。

§4 论文结论与医师-机器对照

4.1 论文说了什么

Ribeiro 等人在 Nature Communications 11:1760(2020)报告的核心结论可以压缩成一组不等式:

在 12 导联 ECG 的六类异常诊断上,论文训练的深度神经网络 F1 全部 > 0.80、特异性全部 > 0.99,并在与心内科住院医师的同题对照中胜出。

这组数字是 CODE-test 存在的根本理由:新闻稿与后续引用反复引用的「AI 超过初级专科医师水平」,指向的就是这份 827 例留出测试集上的一次评估。论文的对照设计值得逐层拆开看,因为它比单一的 F1 数字更有信息量。

把结论拆成可检验的三个层次,有助于避免误读:

  1. 任务层:六类异常是二元多标签任务——网络末端对每一类独立做 sigmoid 输出,一条样本可以同时被判为多项异常。这与"六选一"的多分类任务在评估方式上完全不同(多分类看 accuracy,多标签看逐类 F1/敏感度/特异度)。
  2. 对照层:论文不只是"模型 vs 一个医师群体",而是"模型 vs 三档不同训练水平的人"。胜负判定要落到"赢了哪一档",而不是笼统的"超过人类"。
  3. 保证层:F1>0.80 与特异性>0.99 是逐类下限式的摘要表述——它承诺每一类都过线,而不披露每类的精确取值。这一表述方式本身是一种"最小保证",引用时不应把下限当作实际均值得出。

4.1.1 为什么"多标签"这件事很重要

如果 CODE-test 的六类异常是互斥多分类,那么评估会简单得多——准确率、混淆矩阵即可概括。但心电异常在临床上天然共存:一个患者可以同时是窦性心动过缓且合并一度房室阻滞,也可以在心房颤动的基础上出现束支阻滞图形。CODE-test 采用逐类独立二元判定,正是为了保留这种共存结构。

这一设计带来两个实际后果:

  • 类不平衡被放大:每类各自的阳性数远少于阴性数,某些少类(如 LBBB)的样本量可能只有个位数到十位数量级,逐类 F1 的方差因此较大。报告逐类指标时,样本量小的类别应同时给出阳性数,否则横向比较不公平。
  • 阈值可逐类调:dnn.csv 的 0/1 是"阈值取 F1 最大化"的产物。多标签任务里,每类理论上可以取不同的截断阈值;论文采用统一规则(逐类 F1 最大化),使用者在复现时应沿用同一规则,或明确声明自己用了不同阈值,否则与论文对照会失真。

4.2 三层医师对照的设计

论文把「医师基准」拆成三档训练水平,各自有明确含义:

对照档 人员构成 读片量分配 代表的能力水平
心内科住院医(cardiology residents) 2 名心内科 4 年级住院医 各标一半 专科培训中后期——最接近自动化系统要有意义地超越的目标线
急诊住院医(emergency residents) 2 名急诊 3 年级住院医 各标一半 非心脏专科的一线急症阅读水平
医学生(medical students) 2 名医大 5 年级学生 各标一半 受训前期——近似「地板基线」

三档的意义在于:单一医师对照只能给出「AI vs 某个水平」,三档对照给出的是「AI 在人才梯度上的落点」。DNN 的六年制对照结论是它超过心内科住院医这一档,而急诊住院医与医学生的成绩则依次更低——这构成了一条可读的能力阶梯,而不是一个孤立的胜负判定。

4.3 六套标注并置的科学价值

论文的评估数据被完整封装进数据集发布,这一点在公开医学数据集中相当罕见。对第三方研究者而言,六套并置的标注打开了论文本身没有展开的几类分析:

  • 观察者一致性(inter-rater agreement)分析:cardiologist 1 与 cardiologist 2 的全集独立标注可以计算逐类 Cohen’s κ、阳性/阴性符合率,度量「连专家都分歧」的异常类别有哪些。
  • 难度分层:把「双医师分歧 + 住院医/学生同样答错」的条目筛出来,即可得到数据集内的高难样本清单,用于误差分析或 curriculum learning。
  • 仲裁行为研究:gold_standard 与 cardiologist1/2 的差分可以反推第三名专家在每条分歧条目上的裁决方向——这是论文未系统报告的副产品,却对理解「非盲仲裁」的偏差极有价值(详见坑 6)。
  • 模型-医师同题对照的复现:dnn.csv 与 gold_standard.csv 直接给出论文口径的模型成绩,任何新方法都可在完全相同的题目与答案上自比。

4.4 数字的引用纪律

本条目在引用论文数字时采取三层纪律:

  1. 摘要级保证(F1>0.80、特异性>0.99、胜过心内科住院医)来自 arXiv 与论文摘要,三源互证,可放心引用;
  2. 逐类 F1/敏感度/特异度完整表格属于论文 Table 与 Figure 口径,本条目未逐格二次实抓(Nature 页面反爬),故正文不逐一列出、只标注量级(详见坑 3 与 §9 遗留疑点);
  3. 任何在第三方论文中看到的 CODE-test 成绩都应回到其训练数据隔离声明——用 CODE-test 当测试集很常见(§7),但若该作者同时也用了 CODE-15% 或上游 CODE 当训练集,则存在训练-测试同源污染,成绩不能与你手上「只用 CODE-test 做纯外部测试」的结果直接比较。

§5 伦理、隐私与使用边界

5.1 去标识化与患者保护

CODE-test 的 827 例信号以纯数值张量 + 性别/年龄两项人口学的形式发布,不含姓名、病历号、机构标识、采集时间戳、诊断文本或任何直接标识符。行序本身是唯一连接键——数据集设计者刻意不提供患者 ID,使「同一患者跨表关联」在发布数据内不可能发生。这一点是它作为 CC BY 4.0 无门槛公开数据集的前提:可发布性建立在去标识化彻底性之上。

需要向使用者明确的是:去标识化不等于零风险。性别 + 年龄 + 波形特征理论上构成弱准标识,在极小地理范围内做再识别研究在方法学上并非全然不可能;虽然 TNMG 覆盖 811 个市县、样本量达数十万人,单独针对 CODE-test 的再识别动机与可行性都极低,但研究者仍应遵守「不做再识别尝试」的通行伦理约定。

5.2 原始采集的伦理链条

上游 CODE 研究的 ECG 全部来自 Telehealth Network of Minas Gerais(TNMG)的常规业务——即患者因临床需要接受了心电图检查,信号是诊疗过程的副产品,而非为研究额外采集。这类「常规诊疗数据二次利用」在各辖区的伦理审查框架里通常需要机构伦理委员会(IRB/CEP)批准与知情同意豁免(或泛化同意)支持。数据集公开版的去标识化程度,正是这一审批链条能走通的产物。

5.3 使用边界四则

边界 说明
不作临床诊断工具 827 例是评测子集,不是医疗器械验证数据集;任何在此上的模型成绩都不构成临床准入证据
不作流行病学推断 流行率(17.7% 至少一项异常)是金标准标注口径下的测试集组成,不是米纳斯吉拉斯人群的疾病负担
不作人群泛化结论 单一巴西州级远程医疗网络来源,跨地域/跨种族泛化必须另有外部验证集支撑(库内可参照 cpsc/132、chapman-shaoxing/143 做跨地域对照)
尊重测试集隔离 若用 CODE-test 做测试,务必声明训练集构成;用 CODE-15% 或上游数据训练的模型报告 CODE-test 成绩时常被误读为「纯外部泛化」

5.4 与上游受限全库的伦理分界

这是最容易踩的边界:CODE-test 是公开的,但它的上游 CODE 全库(约 232 万条)从未公开。公开版之所以能 CC BY 4.0 无门槛分发,恰恰因为它是一个小规模、强去标识、且经过论文作者审慎选择的测试子集;上游全库涉及更大规模的患者记录,只能通过数据使用协议(DUA)与合作申请获取。不要把「CODE-test 可以在网上直接下载」误推为「CODE 全库也可以」——两者是两套完全不同的访问制度(详见坑 1 与 §6)。


§6 获取与许可:一个 zip 的门

6.1 一句话获取路径

CODE-test 的获取门槛是本文档讨论的所有数据集里最低的一档:

打开 Zenodo record 3765780 → 下载 data.zip(218.2 MB)→ 解压即得信号 HDF5 + 属性表 + 全部标注 csv。无注册、无申请、无 gated、无登录。

6.2 资产清单与许可

资产 载体 许可 获取方式
CODE-test 数据集本体 Zenodo record 3765780,data.zip(218.2 MB) CC BY 4.0(Open access) HTTP 直链下载,无需注册
论文 Nature Communications 11:1760(2020) 期刊开放获取 DOI 10.1038/s41467-020-15432-4
训练/评测代码与预训练模型 GitHub antonior92/automatic-ecg-diagnosis 随仓库开源 git clone
上游 CODE 全库(约 232 万条) 未公开 受限(DUA) 合作申请,见 5.4

6.3 CC BY 4.0 的实际含义

CC BY 4.0 是最宽松的一档知识共享许可:只要署名(BY),商业与非商业用途、再分发、改编、训练模型全部允许。落到 CODE-test 上,实务含义是:

  • ✅ 可以直接下载、镜像、纳入内部数据湖;
  • ✅ 可以用它训练/微调任何模型(含商用模型),无需再联系作者;
  • ✅ 可以把派生的子集、再标注版本重新发布,只要标注来源;
  • ⚠️ 唯一义务是署名:引用时须给 Ribeiro et al. 2020 与 Zenodo record 3765780,并指明是否做了修改;
  • ⚠️ CC BY 不含专利与商标授权,也不提供任何担保(no warranty)。

6.4 license 口径存照

本条目对许可的表述采用双源一致口径:Zenodo 页面标注为 Open access,第三方 ECGBench 收录目录同标 CC BY 4.0。本研究未能逐字实抓 Zenodo 页面 license 字段本身(页面走 WebFetch 正文成功,但 license 行未单独确认),故在 §9 遗留疑点与附录双口径登记表中显式存照:正文与 frontmatter 采用 CC BY 4.0,来源为「Zenodo Open access + 第三方目录」双源,若日后逐字核验出现出入,按附录维护触发点更新。

6.5 配套代码仓库

GitHub 仓库 antonior92/automatic-ecg-diagnosis 提供:

  • 训练脚本(复现论文 DNN 的残差卷积网络架构与训练流程);
  • 评测脚本(在 CODE-test 上计算六类 F1/敏感度/特异度);
  • 预训练模型权重(论文报告的 DNN 版本);
  • dnn.csv 的生成逻辑——即论文预测值如何落到 0/1(阈值取 F1 最大化)。

这使 CODE-test 成为「数据+代码+论文」三件套高度自洽的评测基准:想复现论文结论,克隆仓库 + 下载数据即可跑通端到端流程,无需额外推导任何中间步骤。

6.6 三重资产的引用规范

由于数据、代码、论文来自三个不同载体,规范引用应分列三条,避免只引其一造成溯源断裂:

引用对象 规范引用式
数据集 CODE-test (Zenodo record 3765780, v1.0.3),CC BY 4.0
论文 Ribeiro et al., Nature Communications 11:1760 (2020), doi:10.1038/s41467-020-15432-4
代码/模型 antonior92/automatic-ecg-diagnosis(GitHub)

若研究仅使用了其中一部分(例如只用了信号未用标注),也应在方法中说明使用的具体文件,以区别于"用了整个数据集"。

6.7 与上游受限全库的访问制度对比

维度 CODE-test(公开) CODE 全库(受限)
规模 827 例 约 2,322,513 条 / 1,676,384 患者
许可 CC BY 4.0 数据使用协议(DUA)
获取 Zenodo 直链,即时 合作申请,需审批
用途 评测/研究/商用均可 按协议约定
去标识化 彻底(无患者 ID) 需在协议约束下使用

这张表是本条目最重要的"边界提醒"之一:公开的永远是那个 827 例测试子集。任何"我已经能下整个 CODE 数据集"的说法都应回到此表核实(坑 8)。

§7 生态与影响

7.1 一个测试集的传染力

Ribeiro 2020 的 CODE-test 之所以被反复使用,是因为它同时满足了「外部可获取」「许可干净」「标注透明」「有官方代码」四个条件。在它发布之后的数年里,大量 12 导联 ECG 自动诊断论文把 827 例当作外部测试集:新模型先在自己的训练集上训练,再在 CODE-test 上报告与论文可比的一组成绩。这让 CODE-test 事实上成为该方向上最常被"顺手拿来测一下"的公开基准之一。

7.2 三种典型复用方式

复用方式 做法 常见产物
外部测试集 自建训练集训练,CODE-test 上报告六类指标 论文的 external validation 小节
对照复现 直接用官方 dnn.csv/gold_standard.csv 复算论文数字 基准复现论文、方法学评论
观察者一致性研究 用 cardiologist1/2 + 各档医师标注算 κ/F1 标注质量、人机对照方法学研究

第三种用法是 CODE-test 相对其他 ECG 基准最独特之处——大多数数据集无法支撑这类研究,因为它们根本没有发布多标注者答案。

7.2.1 一份典型的外部验证论文会怎么写 CODE-test

一个标准流程大致是:作者在自有数据或 CODE-15% 上训练 12 导联模型 → 在 CODE-test 的 827 例上推理 → 取 dnn.csv 同样口径的阈值规则生成 0/1 → 与 gold_standard.csv 比较,报告六类 F1/敏感度/特异度 → 结论里声明"在公开 CODE-test 上达到与论文可比/更优的水平"。

阅读这类论文时,读者应主动核查三件事,否则容易高估其结论:

  1. 训练集是否与 CODE-test 同源——若训练集包含 CODE-15% 或上游全库,则 CODE-test 对该模型并非严格外部;
  2. 是否只报了逐类 F1 的下限——若只写"F1 均 >0.80",与论文摘要同级,未提供增量信息;
  3. 是否报告了特异度——在 82% 阴性的分布下,只报敏感度或 F1 会掩盖误报率,论文强调特异性>0.99 正是补上这一面。

这三点构成阅读 CODE-test 相关文献的"体检表",也是本条目反复强调"数字引用纪律"的原因(§4.4)。

7.3 与库内 CODE 家族的三角关系

CODE-test 不是孤立条目,它属于一个由同一批研究者、同一数据来源 TNMG 衍生的数据集家族:

  • CODE 全库:约 2,322,513 条 ECG / 1,676,384 患者 / 覆盖米纳斯吉拉斯州 811 个市县,受限未公开(DUA);
  • CODE-15%(库内 rid 152):从全库抽出的 15% 公开子集,是主要的公开训练资源;
  • CODE-test(本条目):827 例公开测试子集,来自论文的 hold-out 划分。

三者的正确理解是:CODE-15% 训练、CODE-test 测试,是官方设计的使用组合;而上游 CODE 全库是两者共同的母体,掌握在 TNMG/UFMG 手中。检索时务必区分这三个名字(坑 1)。

7.4 泛化研究中的角色

CODE-test 的另一个生态位是跨地域/跨中心泛化评估。因为它的数据全部来自巴西米纳斯吉拉斯的一个州级远程医疗网络,与其他地区的公开 ECG 集(中国的 CPSC、中美联合的 Chapman-Shaoxing、欧洲的 PTB-XL 等)在人群、采集设备、节律箱分布上天然不同。研究者常把「在自家数据上训练 → 在 CODE-test 上测」当作跨域泛化的硬指标,与反方向的「CODE-15% 训练 → 别处测试」配对使用。

7.5 基准饱和与选择偏差的警示

CODE-test 越流行,越要警惕两件事:

  1. 测试集饱和(benchmark saturation):一个公开测试集被反复调参、当外测报告后,后来者报告的分数提升可能部分来自对该测试集的隐性过拟合(超参搜索时反复看测试集成绩),不完全是方法进步;
  2. 选择偏差:827 例只是上游约 232 万条中极小的一块,且大概率不是随机抽样(论文未公开抽样协议),其异常流行率(17.7%)也明显不同于一般人群。在 CODE-test 上表现好,未必等于在临床全谱分布上表现好(见 §9 存照)。

§8 方法学启示:标注透明度的四个可迁移经验

8.1 测试集应该发布「谁的答案」,而不只是「标准答案」

CODE-test 最大的方法学贡献不是 827 例信号,而是把多档标注者答案一并公开。这使第三方可以直接审计:金标准是怎么来的?医师之间分歧多大?不同水平的人在同一题上差距多少?对所有做医学 AI 基准的人来说,这是可复制且成本可控的设计——多标一套只要多请几位标注者,却把数据集从「一列标签」升级成「一套标注社会学样本」。

8.2 一致性 + 仲裁协议要写清"知情状态"

CODE-test 的金标准协议是「双医师一致直接采纳、分歧交第三专家」。协议的关键细节是那位专家知晓前两人标注后裁决(知情仲裁,非盲裁)。这个细节不写出来,读者会误以为金标准是无偏真值;写出来,读者才知道该把它当"裁决共识"读(坑 6)。协议的非盲部分必须显式披露——这是标注透明度的核心。

8.3 零填充是工程细节,但要写进文档

把 7 s/10 s 两种时长对称零填充到 4096 样本是纯工程决策,成本极低,却对使用者的下游分析影响巨大(节律统计、R 波检测都会被零段干扰)。CODE-test 把它写进了官方说明,这就是值得学的做法:工程约定要显式化,不能让使用者从数据里反向猜测。

8.4 「各标一半」的降维要如实告知

住院医/学生标注采用"两人各标一半"的省力方案,但公开版把它们合并成一份 csv,导致无法从文件区分同组内的两个个体。这是相对论文内部信息的一次信息损失,使用者在做逐人一致性分析时会受限(坑 4)。教训是:省力设计可以,但要在文档里说清"你拿到的粒度是什么"。

8.5 为什么这份测试集值得被当作"模板"复用

把上述四条经验合起来看,CODE-test 在方法学上示范了一个低成本高透明的标注生产模板:主标注由少量专家完成(保证质量),对照标注由分层人员分摊(控制成本),全部原始答案公开(保证可审)。这套模板的可迁移性极强——任何需要"人机对照"或"多水平标注分层"的医学 AI 基准都可以照搬,只需在论文与数据说明里如实披露:谁标的、标了多少、分歧怎么裁决、有没有非盲环节。

相比"堆规模"的路线(把数据做到 10 万级但只发一列标签),CODE-test 的路线是"小而透明"。两条路线各有适用场景,但在做基准评估、尤其做可靠性研究时,透明度的边际价值往往高于规模——这正是本条目在 FAQ 与避坑清单里反复强调的核心立场。


§9 与库内条目的关系

9.1 家族图谱

关系层级 库内条目(rid) 关系性质
同论文/同源最紧 CODE-15%(code-15, rid 152) 同一 Ribeiro 2020 论文、同一 TNMG 来源的公开 15% 训练子集
上游母体 无公开条目(CODE 全库受限) 232 万条全库需 DUA,仅本文档陈述
跨地域 12 导联对照 CPSC(cpsc, rid 132)、Chapman-Shaoxing(chapman-shaoxing, rid 143) 中/中美联合 12 导联集,跨人群泛化对比
12 导联大规模基准 PTB-XL+(ptb-xl-plus, rid 1025)、MIMIC-IV-ECG(mimic-iv-ecg, rid 172) 另一 12 导联主力基准;ICU 级大规模
挑战赛系 cinc-2019(rid 656)/ cinc-2020(rid 692)/ cinc-2021(rid 644) PhysioNet/CinC 12 导联挑战赛
节律经典(AF 血缘) mit-bih-afdb(rid 115)、ltafdb(rid 668)、apnea-ecg(rid 658) 房颤/长时程节律研究血脉
心电图像模态 ecg-image-database(rid 959) 信号 vs 图像模态对照
更广心电生态 ludb(793)、brugada-huca(1015)、leipzig-heart-center-ecg(910)、norwegian-athlete-ecg(1012)、icentia11k(652)、pulsedb(182)、cradi(1032)、mass(272)、physionet-cinc-2016(382) 心电数据集圈层

9.2 检索路径建议

  • 想复现论文:直接定位 Zenodo record 3765780 + GitHub antonior92/automatic-ecg-diagnosis;
  • 想对照跨地域泛化:CODE-test(本条目) × CPSC(132) × Chapman-Shaoxing(143) 三角;
  • 想要更大规模公开 12 导联:CODE-15%(152)、PTB-XL+(1025)、MIMIC-IV-ECG(172);
  • 想做多级标注/一致性研究:CODE-test 是本库内少有的"多标注者并置"样本,可与其他具备多标注的条目联动。

9.3 建议互链点(供主会话发布后建链)

正文内建议内链 5 处:CODE-15%(152)、CPSC(132)、PTB-XL+(1025)、MIMIC-IV-ECG(172)、ECG-Image-Database(959)。frontmatter 的 relatedLink 只放纯 URL(按 R012 纪律),消歧与血缘说明一律留在本小节。

9.4 与 MIMIC-IV-ECG 的互补定位

库内 MIMIC-IV-ECG(rid 172)与本条目形成一组鲜明互补:前者是ICU 级、十万量级、美国单中心的 12 导联信号集,规模大但人群集中于重症监护场景;后者是州级远程医疗、八百量级、巴西的小规模高透明测试集。研究者在做"大规模预训练 + 小规模透明评估"的组合时,常把大集当训练、CODE-test 当评估锚点。这种"大训练集 + 小权威测试集"的搭配,正是 CODE 家族(CODE-15% 训练 / CODE-test 测试)思路跨数据集复用的体现。

9.5 与挑战赛系(CPSC / CinC)的差异

库内 cpsc(132)、cinc-2019(656)/cinc-2020(692)/cinc-2021(644) 属"竞赛驱动"的数据集:有榜单、有提交系统、类别体系按赛题定制。CODE-test 则是"论文驱动的留出测试集":无榜、无提交、类别固定为论文的六类。两者的评估文化不同——竞赛集鼓励刷榜,CODE-test 鼓励复现与透明审计。理解这一差异,有助于判断某篇论文报告的"CODE-test 成绩"应被当作方法进步证据还是外部验证证据。


§10 避坑清单:八个已踩过或极易踩的坑

坑 1:三个 CODE 名字混写。
CODE(约 232 万条全库,受限)、CODE-15%(公开 15% 训练子集,rid 152)、CODE-test(827 例公开测试集,本条目)常被论文与目录混为一谈。检索到"CODE dataset"时要判断指的是哪一个;本条目专指 827 例测试集。

坑 2:把 fill 出来的 4096 样本当"原始 10.24 秒"。
原始信号是 7 s(2800 样本)或 10 s(4000 样本)混布,两侧对称零填充到 4096。写"10.24 秒"时要说明是填充后时长,做时长敏感的节律分析须先定位有效段(§2.2)。

坑 3:把摘要级结论当逐类表格。
"F1>0.80、特异性>0.99、胜过心内科住院医"是摘要级保证(可引);逐类 F1/敏感度/特异度的精确表格属论文 Table 口径,本条目未逐格实抓(Nature 反爬),引用具体逐类数字时务必回到论文原表核对(§9 遗留疑点)。

坑 4:以为能区分住院医个体。
公开的 cardiology_residents.csv / emergency_residents.csv / medical_students.csv 各自是"两人各标一半"的合并结果,无法从文件区分同组两个个体。做逐人一致性分析会受限,这是相对论文内部信息的降维。

坑 5:忽略量纲 1e-4 V。
信号浮点是 1e-4 V 刻度,直接当伏特用会差 10000 倍。要得到以伏特为单位的幅值需 ×1000(即 1e-4 V × 1000 = 1 V 量级正确)。绘图/阈值设定前先确认量纲。

坑 6:把金标准当"无误差真值"。
金标准由双医师一致项 + 第三专家知情仲裁项构成。分歧条目依赖单一资深意见且非盲裁,做观察者一致性研究时应把 gold_standard 读作"裁决共识"而非无偏真值(§3.1、§8.2)。

坑 7:把 CODE-test 当流行病学样本。
827 例是评测材料,不是人群抽样。异常流行率 17.7%(至少一项)远高于常规筛查人群,且抽样协议未公开(非随机),不能外推为米纳斯吉拉斯人群的疾病负担。

坑 8:混淆"CODE-test 可下载"与"CODE 全库可下载"。
CODE-test 是 CC BY 4.0 无门槛直链;上游约 232 万条全库从未公开,需 DUA 合作申请。公开发布的是测试子集,不是全库(§5.4、§6)。


§11 总结

11.1 三句话总结

  1. CODE-test 是 Ribeiro et al. 2020 Nature Communications 论文的公开留出测试集:827 例 12 导联 ECG(400 Hz,填充至 4096 样本),六类异常多标签。
  2. 它的灵魂不在 827 这个数,而在六套并置的标注——双心内科医师、金标准、DNN、心内住院医、急诊住院医、医学生,使"AI vs 医师"的对照完整可复现,同时是罕见的观察者一致性研究素材。
  3. CC BY 4.0、Zenodo 直链、配套官方代码——获取门槛近乎为零,但要记住它只是上游约 232 万条受限全库的一个极小公开切片。

11.2 适合谁

  • 研发 12 导联 ECG 自动诊断模型、需要干净外部测试集的团队;
  • 研究医师-机器对照、观察者一致性、标注质量的方法学者;
  • 做跨地域泛化评估(与 CPSC、Chapman-Shaoxing 配对)的研究者;
  • 教学场景:作为"标注透明度教科书"讲解多档标注协议。

11.3 不适合谁

  • 想找大规模训练语料的人(应看 CODE-15% / PTB-XL+ / MIMIC-IV-ECG);
  • 想推人群疾病负担的流行病学者(抽样非随机,流行率不代表人群);
  • 想训练全谱心电诊断(含心梗、ST 形态学细分)的人(六类不覆盖)。

11.4 30 秒决策卡

你的问题 答案
有门槛吗? 无。CC BY 4.0,Zenodo 直链
多大? 827 例,data.zip 218.2 MB
什么格式? HDF5 (827,4096,12) + attributes.csv + 6 套标注 csv
什么任务? 六类二元异常多标签(1dAVb/RBBB/LBBB/SB/AF/ST)
标注可信吗? 双医师独立 + 第三专家仲裁;另有四档对照
论文结论? DNN F1>0.80、特异性>0.99,胜过心内科住院医
能商用吗? 能(CC BY,署名即可)
同源训练集在哪? CODE-15%(rid 152)

FAQ(高频问答 30 问)

A. 基础认知

Q1:CODE-test 是挑战赛吗?
不是。它没有排行榜、没有提交系统,是 Ribeiro et al. 2020 Nature Communications 论文的公开留出测试集(hold-out test set)。

Q2:名字里的 CODE 指什么?
Clinical Outcomes in Digital Electrocardiology——巴西米纳斯吉拉斯联邦大学(UFMG)主导的长期研究计划,依托州远程医疗网络 TNMG 的常规业务采集心电图。

Q3:827 这个数字是什么口径?
827 例 12 导联 ECG,且来自 827 个不同患者(一例一心,Zenodo 原文 different patients)。它是论文内部数据划分之外独立保留的测试子集。

Q4:谁发布的?
Zenodo creators 字段署名为 Universidade Federal de Minas Gerais(巴西)+ Uppsala University(瑞典)+ University of Glasgow(苏格兰)三家联合。

Q5:它和 CODE 全库什么关系?
CODE-test 是上游 CODE 全库(约 2,322,513 条 / 1,676,384 患者 / 覆盖 811 个市县)中极小的一块公开测试子集;全库本体从未公开,需数据使用协议(DUA)。

B. 数据与获取

Q6:在哪里下载?
Zenodo record 3765780,直链下载 data.zip(218.2 MB)。

Q7:要注册或申请吗?
不需要。Open access,CC BY 4.0,无 gated、无登录。

Q8:包里有几个文件?
信号 HDF5(ecg_tracings.hdf5)+ 患者属性表(attributes.csv)+ 6 套六类标注 csv(cardiologist1/2、gold_standard、dnn、cardiology_residents、emergency_residents、medical_students)。

Q9:md5 是多少?
data.zip 的 md5 为 cef8fe457abf4b8f66a34dc1269b4ced。

Q10:有代码吗?
有。GitHub 仓库 antonior92/automatic-ecg-diagnosis 提供训练/评测脚本与预训练模型。

Q11:许可能商用吗?
能。CC BY 4.0 允许商业与非商业使用、再分发、改编、训练模型,唯一义务是署名。

C. 信号与标注

Q12:采样率多少?
400 Hz。

Q13:多少导联?顺序是什么?
12 导联,顺序 DI, DII, DIII, AVR, AVL, AVF, V1–V6。

Q14:为什么是 4096 个点?
原始采集时长 7 s(2800 样本)或 10 s(4000 样本)混布,发布时两侧对称零填充到 4096 样本(约 10.24 s)。

Q15:信号的量纲?
浮点数,刻度 1e-4 V。要得到伏特需 ×1000。

Q16:标注哪六类?
1dAVb(一度房室阻滞)、RBBB(右束支阻滞)、LBBB(左束支阻滞)、SB(窦性心动过缓)、AF(房颤)、ST(窦性心动过速)。

Q17:是多标签吗?
是。每类一个 0/1 列,一个样本可同时阳性多项——金标准口径下 12 例为多项阳性。

Q18:异常比例多少?
金标准口径 146/827(约 17.7%)至少一项异常(第三方 ECGBench croissant 目录口径,本条目已存照)。

D. 标注协议与对照

Q19:金标准怎么定的?
两名心内科医师独立标注全部 827 例;一致的条目直接采纳,分歧的条目交第三名资深专家仲裁(知情仲裁,非盲裁)。

Q20:除了金标准还有哪些标注?
五套对照:cardiologist 1、cardiologist 2 的各自独立标注、DNN 预测、心内科 4 年级住院医 ×2(各标一半)、急诊 3 年级住院医 ×2(各标一半)、医大 5 年级学生 ×2(各标一半)。

Q21:dnn.csv 的 0/1 怎么来的?
论文 DNN 的预测经阈值化,阈值取 F1 最大化。

Q22:能区分住院医/学生个体吗?
不能。同组两人各标一半,公开 csv 是合并结果,只有一列(见坑 4)。

Q23:为什么说这个数据集特殊?
它把"标准答案"和"各水平考生的答卷"一起发布,是难得的观察者一致性 / 人机对照研究素材。

E. 论文结论

Q24:论文核心结论是什么?
DNN 六类异常 F1 全部 >0.80、特异性全部 >0.99,并在同题对照中胜过心内科住院医师。

Q25:逐类 F1 具体多少?
摘要级只给"每类 F1>0.80"的量级保证;逐类精确表属论文 Table 口径,本条目未逐格实抓(见坑 3 与遗留疑点)。

Q26:和哪些医师比?
三档:心内科 4 年级住院医(最近目标线)、急诊 3 年级住院医、医大 5 年级学生,形成一条能力阶梯。

F. 使用与工程

Q27:怎么读信号?
h5py 读 ecg_tracings.hdf5 的 tracings 数据集即可;官方 README 有三行示例。

Q28:行序对齐是什么意思?
第 i 行标注对应 HDF5 第 i 条信号;attributes.csv 与全部标注 csv 行序与信号第一维一一对应。

Q29:怎么用它做泛化评估?
与库内 cpsc(132)、chapman-shaoxing(143) 配对做跨地域对照;注意训练集构成,避免"用 CODE-15% 训练却报 CODE-test 纯外部成绩"的误读。

Q30:最大的使用陷阱是什么?
把 CODE-test 当流行病学样本,或把"CODE-test 可下载"误推为"CODE 全库可下载"(见坑 7、坑 8)。

G. 进阶与研究设计

Q31:我想做观察者一致性研究,从哪开始?
从 cardiologist1.csv 与 cardiologist2.csv 的逐类 Cohen’s κ 开始,再看 gold_standard 与各档医师的 F1 矩阵。注意住院医/学生是合并列,只能作为整档基线比较(附录 S 有分析骨架)。

Q32:为什么不能验证仲裁专家的判断对不对?
因为仲裁专家的独立意见没有作为单独一列发布——它的作用直接体现在 gold_standard.csv 的最终值里。你只能观测"分歧率",无法观测"仲裁正确性"(附录 R)。

Q33:可以用 CODE-test 训练模型吗?
技术上可以(CC BY 4.0 无限制),但它设计的角色是测试集;用它训练后再"测试",等于自测,通常不具说服力。要训练请用 CODE-15%(rid 152)或 PTB-XL+(rid 1025)。

Q34:CODE-test 会不会太简单了?
取决于任务。827 例中约 82% 为全阴性,若只报 accuracy 会虚高(把全体判阴性就有约 82%);必须报逐类 F1/敏感度/特异度才反映真实难度。

Q35:跨地域泛化该怎么设计?
推荐配对:CODE-15%(训练,巴西)× CODE-test(测试,巴西)作为同域基线;再用中国 CPSC(132)、中美 Chapman-Shaoxing(143)做跨域外测,观察性能跌落幅度。

Q36:论文的 DNN 架构是什么?
论文用的是残差卷积网络(residual CNN),具体层结构见论文与 GitHub 仓库的模型定义;本条目不逐一转述架构细节,以官方仓库为准。

Q37:有没有官方 leaderboard?
没有。CODE-test 是留出测试集,不设提交榜;任何"CODE-test 排名"都是第三方自行汇总,非官方。

Q38:Zenodo 挂了怎么办?
CC BY 4.0 允许镜像与再分发,社区常有副本;下载后务必用 md5 cef8fe457abf4b8f66a34dc1269b4ced 校验完整性。

Q39:为什么叫"留出(hold-out)"测试集?
因为它从论文内部的数据划分中独立保留,不参与训练与超参选择,专门用于最终评估——"hold-out"强调它与训练/验证数据在流程上的隔离。

Q40:827 例够统计显著吗?
对"六类 F1 是否 >0.80"这样的粗粒度结论够用;但若要做子组分析(按性别、年龄段切分)或少数类(阳性数少)的精细比较,827 例的效能有限,报告时应给出置信区间或至少标注阳性数。

Q41:它和 SaMi-Trop 有关系吗?
两者都由 TNMG/UFMG 系研究者产出、同属该团队的数据资产,但任务不同(SaMi-Trop 面向恰加斯病心肌病随访)。本条目只讨论 ECG 方向的 CODE 家族。


事实清单(硬事实 34 条)

  1. CODE-test 全称 “CODE-test: An annotated 12-lead ECG dataset”,是 CODE 研究的公开留出测试集。
  2. 发布平台:Zenodo record 3765780,版本 v1.0.3,published 2020-01-22,Open access。
  3. 数据集含 827 例 12 导联 ECG,来自 827 个不同患者(一例一心)。
  4. 信号张量形状为 (827, 4096, 12),存于 HDF5 文件 ecg_tracings.hdf5(数据集名 tracings)。
  5. 采样率 400 Hz。
  6. 原始采集时长 7 s(2800 样本)或 10 s(4000 样本) 混布。
  7. 发布时两侧对称零填充至 4096 样本(如 7 s 信号首尾各补 648 样本)。
  8. 导联顺序:DI, DII, DIII, AVR, AVL, AVF, V1–V6。
  9. 信号为浮点存储,量纲 1e-4 V(×1000 得伏特)。
  10. 数据包 data.zip 体积 218.2 MB,md5 cef8fe457abf4b8f66a34dc1269b4ced。
  11. 患者属性表 attributes.csv 含 sex(M/F)与 age 两列,827 行 + 表头。
  12. 六类异常任务为二元多标签:1dAVb、RBBB、LBBB、SB、AF、ST。
  13. 金标准协议:双心内科医师独立标注一致即采纳,分歧由第三名资深专家仲裁。
  14. 仲裁专家知晓前两人标注后裁决(知情仲裁,非完全盲评)。
  15. 金标准文件:gold_standard.csv(827 行 × 6 列,0/1)。
  16. 提供 cardiologist1.csv 与 cardiologist2.csv 两套独立专家标注。
  17. 提供 dnn.csv:论文 DNN 预测,阈值取 F1 最大化。
  18. 提供 cardiology_residents.csv:2 名心内科 4 年级住院医,各标一半。
  19. 提供 emergency_residents.csv:2 名急诊 3 年级住院医,各标一半。
  20. 提供 medical_students.csv:2 名医大 5 年级学生,各标一半。
  21. 金标准口径下 146/827(约 17.7%) 至少一项异常,12 例多项阳性(第三方目录口径)。
  22. 上游 CODE 全库约 2,322,513 条 ECG / 1,676,384 患者,覆盖米纳斯吉拉斯州 811 个市县(第三方精确口径)。
  23. 论文:Ribeiro AH 等,“Automatic diagnosis of the 12-lead ECG using a deep neural network”,Nature Communications 11:1760(2020),doi:10.1038/s41467-020-15432-4。
  24. 论文 arXiv 版:arXiv:1904.01949(v1 2019-04-02,v2 2020-04-14)。
  25. 论文摘要级结论:DNN 六类 F1 全部 >0.80、特异性全部 >0.99,胜过心内科住院医师。
  26. 许可:CC BY 4.0(Zenodo Open access + 第三方目录双源口径)。
  27. 获取方式:Zenodo 直链下载,无需注册、无 gated。
  28. 配套代码:GitHub antonior92/automatic-ecg-diagnosis(训练/评测脚本 + 预训练模型)。
  29. 发布方署名机构:UFMG(巴西)+ Uppsala University(瑞典)+ University of Glasgow(苏格兰)。
  30. 数据来源机构:Telehealth Network of Minas Gerais(TNMG) 的常规业务采集。
  31. 张量第一维行序与 attributes.csv 及全部标注 csv 行序一一对应,无患者 ID 暴露。
  32. 上游 CODE 全库从未公开,需数据使用协议(DUA)合作申请。
  33. 同源公开训练子集 CODE-15%(库内 code-15, rid 152)来自同一论文、同一 TNMG 来源。
  34. 论文通讯/资深作者方向为 Antonio Luiz P. Ribeiro(UFMG),一作 Antônio H. Ribeiro。

术语表(32 条)

术语 释义
CODE Clinical Outcomes in Digital Electrocardiology,UFMG 主导的心电研究计划
CODE-test 本条目:该研究的 827 例公开留出测试集
CODE-15% 从全库抽出的 15% 公开训练子集(库内 rid 152)
TNMG Telehealth Network of Minas Gerais,数据来源的州级远程医疗网络
UFMG Universidade Federal de Minas Gerais,巴西米纳斯吉拉斯联邦大学
Hold-out test set 从训练/验证划分之外独立保留、不参与调参的测试子集
12 导联 ECG 标准 12 导联心电图,导联序 DI-DII-DIII-aVR-aVL-aVF-V1–V6
1dAVb First-degree AV block,一度房室阻滞
RBBB Right bundle branch block,右束支阻滞
LBBB Left bundle branch block,左束支阻滞
SB Sinus bradycardia,窦性心动过缓
AF Atrial fibrillation,心房颤动(房颤)
ST Sinus tachycardia,窦性心动过速(勿与 ST 段混淆)
多标签 一条样本可同时阳性多个类别;本数据集六类各自 0/1
Sigmoid 输出 网络末端对每类独立做 logistic 输出,支持多标签
零填充 把短信号两端补零到统一长度;此处 7 s/10 s → 4096 样本
量纲 1e-4 V 幅值以 1e-4 伏特为单位存储,×1000 得伏特
金标准 gold_standard.csv,双医师一致 + 第三专家仲裁的裁决共识
知情仲裁 仲裁专家在知晓前两名标注者结论后裁决(非盲裁)
心内科住院医 Cardiology resident,本数据集为 4 年级(PGY-4 级)
急诊住院医 Emergency resident,本数据集为 3 年级
医学生 Medical student,本数据集为 5 年级
DNN Deep Neural Network,此处指论文的残差卷积网络
观察者一致性 Inter-rater agreement,不同标注者对同一题的一致程度
Cohen’s κ 校正机遇一致后的两名标注者一致性系数
F1 精确率与召回率的调和平均,类别不平衡下常用
特异性 Specificity,真阴性率,论文报告 >0.99
敏感度 Sensitivity,真阳性率
AUC ROC 曲线下面积
阈值 F1 最大化 在预测概率上选使 F1 最大的截断点以生成 0/1
DUA Data Use Agreement,数据使用协议(上游全库的门槛)
测试集饱和 公开测试集被反复调参后,后续提升部分源于过拟合的风险

附录

附录 A:条目信息速查卡

项 值
条目名 CODE-test
url_name code-test
全称 CODE-test: An annotated 12-lead ECG dataset
类型 数据集(公开留出测试集)
规模 827 例 / 827 患者,HDF5 (827, 4096, 12)
采样率 400 Hz
类别 六类二元多标签:1dAVb/RBBB/LBBB/SB/AF/ST
论文 Nature Communications 11:1760(2020)
发布方 UFMG + Uppsala University + University of Glasgow
来源机构 Telehealth Network of Minas Gerais(TNMG)
许可 CC BY 4.0
获取 Zenodo record 3765780 直链,data.zip 218.2 MB
抓取时点 2026-10-13

附录 B:DAIMS 评估全表

DAIMS(Data Asset Improvement Maturity Score / 数据资产成熟度评估)五维:

维度 评分 依据
Discoverability(可发现性) 高 Zenodo 稳定 record + DOI 论文 + GitHub 官方仓库;第三方目录普遍收录
Accessibility(可访问性) 高 CC BY 4.0 无门槛直链,无注册/无 gated;副本可自由镜像
Interoperability(互操作性) 高 HDF5 + CSV 通用格式;行序对齐约定清晰;配套代码可直接读取
Metadata(元数据) 中高 论文与 Zenodo 描述充分;但抽样协议未公开、逐类指标需回查论文表
Sustainability(可持续性) 高 Zenodo 长期寄存 + 期刊论文 + 活跃 GitHub 仓库三重保障

综合:高(在公开 ECG 基准里属最易获取、最自解释的一档)。

附录 C:逐项证据链自证

硬数字 来源层级 互证情况
827 例 / 827 患者 Zenodo 描述 + 第三方目录 一致
(827,4096,12) / 400 Hz Zenodo 描述 + README 一致
7 s/10 s → 4096 零填充 Zenodo 描述 + README 一致
218.2 MB / md5 Zenodo 挂载文件 单源(Zenodo)
146/827(17.7%) 第三方 ECGBench croissant 单源,已存照
2,322,513 / 1,676,384 / 811 第三方精确口径 论文摘要仅"more than 2 million"
F1>0.80 / 特异性>0.99 arXiv + 摘要 + 第三方目录 三源一致
CC BY 4.0 Zenodo Open access + 第三方目录 双源,license 行未逐字实抓

附录 D:数据获取决策树

你要做什么?
├─ 只想下载 CODE-test(827 例)
│   └─ Zenodo record 3765780 → data.zip(CC BY 4.0,免注册)✅
├─ 想复现论文 DNN
│   └─ GitHub antonior92/automatic-ecg-diagnosis + 上述数据 ✅
├─ 想找更大规模公开 12 导联【训练】
│   ├─ CODE-15%(rid 152)
│   ├─ PTB-XL+(rid 1025)
│   └─ MIMIC-IV-ECG(rid 172)
└─ 想拿 CODE 全库(约 232 万条)
    └─ 未公开 → 需 DUA 合作申请(TNMG/UFMG)⚠️(公开版只是 827 测试子集)

附录 E:许可条款细读

项 CC BY 4.0 含义(落到 CODE-test)
署名(BY) 必引 Ribeiro et al. 2020 + Zenodo record 3765780,注明是否修改
商用 允许
再分发/镜像 允许
改编/再标注 允许,须署名并注明修改
训练模型 允许(含商用模型)
专利/商标 不授予
担保 无(no warranty)

附录 F:六套标注文件对照表

文件 标注者 覆盖 行 × 列 用途
cardiologist1.csv 心内科医师 1 全集 827 × 6 一致性/金标准重算
cardiologist2.csv 心内科医师 2 全集 827 × 6 一致性/金标准重算
gold_standard.csv 双医师一致 + 第三专家仲裁 全集 827 × 6 基准答案
dnn.csv 论文 DNN(阈值 F1 最大化) 全集 827 × 6 模型-医师对照
cardiology_residents.csv 心内 4 年级住院医 ×2 各半合并 827 × 6 专科中期基线
emergency_residents.csv 急诊 3 年级住院医 ×2 各半合并 827 × 6 非专科基线
medical_students.csv 医大 5 年级学生 ×2 各半合并 827 × 6 地板基线

列顺序统一为 1dAVb, RBBB, LBBB, SB, AF, ST;值与信号第一维行序对齐。

附录 G:信号读取与量纲骨架(代码)

import h5py
import numpy as np

# 1) 读信号:(827, 4096, 12)
with h5py.File("ecg_tracings.hdf5", "r") as f:
    tracings = f["tracings"][:]        # float,刻度 1e-4 V

# 2) 转伏特
tracings_v = tracings * 1000.0         # 1e-4 V -> V

# 3) 有效段提示:7 s 信号的首尾各约 648 样本为零填充
#    若做时长敏感分析,先按非零区间裁剪
# 4) 标注按行序 join
import pandas as pd
gold = pd.read_csv("annotations/gold_standard.csv")   # 827 行 × 6 列
assert len(gold) == tracings.shape[0]

附录 H:坑点档案(与 §10 对照)

坑 一句话 见
坑 1 三个 CODE 名字混写 §7.3
坑 2 把填充 4096 当"原始 10.24 s" §2.2
坑 3 把摘要级结论当逐类表格引用 §4.4
坑 4 以为能区分住院医个体 §8.4
坑 5 忽略量纲 1e-4 V §2.2
坑 6 把金标准当无误差真值 §3.1
坑 7 把 CODE-test 当流行病学样本 §7.5
坑 8 混淆"CODE-test 可下载"与"全库可下载" §5.4

附录 I:双口径登记表

争议项 口径 A 口径 B 本条目取舍
CODE 全库规模 论文摘要"more than 2 million" 第三方精确 2,322,513 条 / 1,676,384 患者 / 811 市县 采用第三方精确数并注明出处层级
异常流行率 146/827(17.7%) 仅第三方 ECGBench croissant 单源 采用并标注"第三方口径,未在 Zenodo/论文直接核验"
信号时长 原始 7 s/10 s 混布 第三方目录"10.24 s" 采用"原始 7s/10s,填充至 4096≈10.24 s"
license Zenodo Open access 第三方目录 CC BY 4.0 采用 CC BY 4.0,标注双源、license 行未逐字实抓

附录 J:引文规范

@article{ribeiro2020automatic,
  title   = {Automatic diagnosis of the 12-lead ECG using a deep neural network},
  author  = {Ribeiro, Ant{\^o}nio H. and Ribeiro, Manoel Horta and Paix{\~a}o, Gabriela M. M.
             and Oliveira, Derick M. and Gomes, Paulo R. and Canazart, J{\'e}ssica A.
             and Ferreira, Milton P. S. and Andersson, Carl R. and Macfarlane, Peter W.
             and Meira Jr., Wagner and Sch{\"o}n, Thomas B. and Ribeiro, Antonio Luiz P.},
  journal = {Nature Communications},
  volume  = {11},
  number  = {1760},
  year    = {2020},
  doi     = {10.1038/s41467-020-15432-4}
}

@misc{codetest2020zenodo,
  title  = {CODE-test: An annotated 12-lead ECG dataset},
  author = {{Universidade Federal de Minas Gerais} and {Uppsala University}
            and {University of Glasgow}},
  year   = {2020},
  doi    = {10.5281/zenodo.3765780},
  note   = {Zenodo record 3765780, v1.0.3, CC BY 4.0}
}

附录 K:本条目生产档案

  • 生产通道:rsi_dispatch 派发,slug = code-test,写作代理 agent-c-codetest
  • 事实研究:基于 FACTS.md 九节(Zenodo 描述 / arXiv 论文 / 第三方 ECGBench 目录三源互证)
  • 成稿方式:五块直写拼接(part1 复用前次草稿 + part2-5 新写),私有区隔离
  • 坑点:§10 八则("坑 N:"编号制)
  • description:成稿时即 ≤170 字符
  • 互链计划:正文内链 5 处(code-15/152、cpsc/132、ptb-xl-plus/1025、mimic-iv-ecg/172、ecg-image-database/959)

附录 L:FAIR / AI-Ready 检查单

检查项 状态 说明
F1 全局唯一标识 ✅ DOI(论文)+ Zenodo record
F2 富元数据 ✅ Zenodo 描述 + README + 论文
A1 可访问协议 ✅ CC BY 4.0 HTTP 直链
A2 元数据可访问 ✅ 数据与元数据同时开放
I1 互操作格式 ✅ HDF5 + CSV + 官方代码
I2 词汇表引用 ✅ 六类异常为临床标准术语
R1 来源溯源 ✅ 上游 CODE / TNMG 明示
R3 可复现流程 ✅ GitHub 训练/评测脚本 + 预训练模型
AI-Ready 综合 高 直链覆盖评估,训练资源在 CODE-15%

附录 M:缩写速查

缩写 全称
CODE Clinical Outcomes in Digital Electrocardiology
TNMG Telehealth Network of Minas Gerais
UFMG Universidade Federal de Minas Gerais
ECG Electrocardiogram,心电图
DNN Deep Neural Network
1dAVb First-degree Atrioventricular Block
RBBB / LBBB Right / Left Bundle Branch Block
SB Sinus Bradycardia
AF Atrial Fibrillation
ST Sinus Tachycardia
DUA Data Use Agreement
DAIMS Discoverability/Accessibility/Interoperability/Metadata/Sustainability

附录 N:基于本数据集的研究检查清单(10 项)

  1. 许可核对:CC BY 4.0,署名即可;商用无碍,但注明是否修改。
  2. 量纲确认:读入后 ×1000 变伏特,别按 1e-4 V 直用(坑 5)。
  3. 有效段处理:7 s/10 s 混布,做节律/时长分析先裁零段(坑 2)。
  4. 行序对齐:所有 csv 与信号第一维行号 join,勿重排。
  5. 金标准定位:读作"裁决共识",非无误差真值(坑 6)。
  6. 个体分辨:住院医/学生为合并列,无法逐人区分(坑 4)。
  7. 训练集声明:若用 CODE-15% 训练,报 CODE-test 成绩须标注非纯外部泛化。
  8. 逐类数字:引用精确 F1 回论文原表核对,别只引摘要(坑 3)。
  9. 流行率纪律:17.7% 为测试集口径,不作人群推断(坑 7)。
  10. 访问边界:CODE-test 公开 ≠ CODE 全库公开(坑 8)。

附录 O:检索路径示范(关键词与查询式)

目标 推荐查询式 预期命中
数据集本体 Zenodo CODE-test / “An annotated 12-lead ECG dataset” Zenodo record 3765780
论文 “Automatic diagnosis of the 12-lead ECG using a deep neural network” Nat Commun 11:1760
代码 antonior92 automatic-ecg-diagnosis GitHub 官方仓库
同源训练集 “CODE-15%” OR “CODE 15 percent” ECG CODE-15%(rid 152)
跨地域对照 CPSC 2018 / Chapman-Shaoxing ECG cpsc(132) / chapman-shaoxing(143)
反例(勿混) 泛 “CODE dataset” 可能命中全库/15%/测试三者之一(坑 1)

尾注

本条目为 AI-Ready Wikipedia 数据集条目,生产于 2026-10-13,抓取与核验时点见附录 A。事实陈述以 Zenodo record 3765780 描述、Ribeiro et al. 2020 Nature Communications 11:1760 论文(DOI 10.1038/s41467-020-15432-4)与第三方收录目录为源;CODE 全库规模(精确/摘要双口径)、异常流行率(单源)、license 字段(未逐字实抓)、逐类指标(论文 Table 口径未二次抓取)等原始文档口径差异已在坑点与附录 I 双口径登记表存照。条目与库内 CODE-15%(rid 152)、CPSC(rid 132)、Chapman-Shaoxing(rid 143)、PTB-XL+(rid 1025)、MIMIC-IV-ECG(rid 172)、ECG-Image-Database(rid 959)等条目互链,构成 12 导联心电与生理信号家族的完整检索面。后续维护触发点:逐类指标补齐、license 逐字核验、Zenodo 版本更新。

深度附录

以下附录面向希望上手复现、做二次分析或做数据审计的读者,提供比正文更细的操作级信息。所有硬数字与正文一致,来源见附录 C 与附录 I。

附录 P:CODE 家族全谱系对照

资产 规模 公开性 库内 rid 主要用途
CODE 全库 ~2,322,513 条 / 1,676,384 患者 / 811 市县 受限(DUA) 无 母体,训练/研究原始池
CODE-15% 全库的 15% 抽样 公开 152 公开训练集
CODE-test(本条目) 827 例 / 827 患者 公开 CC BY 4.0 本条目 公开测试集(hold-out)

三者关系一句话:母体受限、15% 公开训练、827 公开测试。任何"用了 CODE"的论文都要查清用的是哪一层——这直接决定其测试成绩是"内部测试"还是"外部泛化"。

附录 Q:六类异常标签的临床速览

标签 中文 判读要点(教学口径) 与"ST"混淆风险
1dAVb 一度房室阻滞 PR 间期 > 200 ms,无脱落 低
RBBB 右束支阻滞 V1 呈 rSR’,QRS 增宽 低
LBBB 左束支阻滞 V6 宽 R 波、V1 深 S 波,QRS 增宽 低
SB 窦性心动过缓 窦性心律、心率 < 60 bpm 低
AF 心房颤动 无 P 波、RR 绝对不齐 中(需与房扑区分)
ST 窦性心动过速 窦性心律、心率 > 100 bpm 高(勿与 ST 段改变混)

"ST"这个缩写是本数据集最容易误读的一个坑:此处 ST = Sinus Tachycardia(窦性心动过速),不是心电图术语里更常见的 ST segment(ST 段)。论文与文件列的 ST 一律指窦性心动过速。凡涉及"ST 段抬高/压低"的讨论都不属于本数据集的六类标签范围(见坑 1 的邻接话题)。

附录 R:金标准重算伪代码

输入:cardiologist1.csv (827×6), cardiologist2.csv (827×6)
输出:重算的 gold(应与 gold_standard.csv 在分歧条目上差一个第三专家仲裁)

for i in range(827):
    for c in range(6):
        a = cardiologist1[i][c]
        b = cardiologist2[i][c]
        if a == b:
            recheck[i][c] = a          # 一致 -> 直接采纳
        else:
            recheck[i][c] = ARBITRATOR # 分歧 -> 第三专家(数据集未公开其独立列)
# 结论:gold_standard.csv = 一致项 + 仲裁项;
#       分歧条目无法从公开文件反推仲裁专家的"独立意见",
#       因为仲裁知识只在 gold 里以最终值形式存在(知情仲裁的信息损失)。

这段伪代码说明了一个重要事实:你只能验证一致条目,无法独立验证仲裁条目。做元分析时应把"分歧率"当作可观测统计,把"仲裁正确性"当作不可观测量。

附录 S:观察者一致性分析骨架

import pandas as pd
from sklearn.metrics import cohen_kappa_score, f1_score

c1 = pd.read_csv("annotations/cardiologist1.csv")
c2 = pd.read_csv("annotations/cardiologist2.csv")
gold = pd.read_csv("annotations/gold_standard.csv")
cols = ["1dAVb", "RBBB", "LBBB", "SB", "AF", "ST"]

for c in cols:
    k = cohen_kappa_score(c1[c], c2[c])
    f = f1_score(c1[c], c2[c])
    n_dis = int((c1[c] != c2[c]).sum())
    print(f"{c}: kappa={k:.3f} F1(c1 vs c2)={f:.3f} 分歧条数={n_dis}")

# 三方对照:DNN vs 心内住院医 vs 金标准
dnn = pd.read_csv("annotations/dnn.csv")
res = pd.read_csv("annotations/cardiology_residents.csv")
for c in cols:
    print(c, "DNN-F1", f1_score(gold[c], dnn[c]),
             "Res-F1", f1_score(gold[c], res[c]))

建议在报告中同时给出:逐类 κ、逐类分歧条数、逐类 F1(各档 vs 金标准)。只报一项会掩盖"高一致但低分"或"低一致高分"的结构。

附录 T:分档医师 vs 模型对照记录表(自填模板)

类别 金标准阳性数 DNN F1 心内住院医 F1 急诊住院医 F1 医学生 F1 备注
1dAVb — — — — — 待实跑
RBBB — — — — — 待实跑
LBBB — — — — — 待实跑
SB — — — — — 待实跑
AF — — — — — 待实跑
ST — — — — — 待实跑

说明:本表为复现工作台模板,正文不预填数字(论文逐类表未二次实抓,见坑 3);使用者以官方 dnn.csv 与各档 csv 实算后填入,并与论文 Table 对照。

附录 U:CODE-test 在 ECG 基准星座中的位置

基准 规模量级 地域 模态 与本条目关系
CODE-test 10^2(827) 巴西 信号 本条目
CODE-15% 10^5 巴西 信号 同源训练
CPSC 2018 10^4 中国 信号 跨地域对照
Chapman-Shaoxing 10^4 中美 信号 跨地域对照
PTB-XL+ 10^4 德国 信号 主力基准对照
MIMIC-IV-ECG 10^5 美国 ICU 信号 大规模对照
ECG-Image-Database 10^3 多 图像 模态对照

一句话定位:CODE-test 是"小而重"的评测锚点,靠标注透明度而非规模取胜。

附录 V:常见复现错误与修法

症状 根因 修法
波形大面积贴零 未裁零填充段 定位非零区间,或直接全段喂模型(训练同构)
幅值小到异常 把 1e-4 V 当 V ×1000
标签对不上 重排了行序 保持原始行序 join
住院医只有一半 二人各标一半已合并 视为整体基线,勿逐人拆
报出"纯外部"成绩被质疑 训练含 CODE-15%/全库 声明训练集构成
引用逐类数字被指不一致 引了摘要或二手表 回论文原表核对(坑 3)
想拿 232 万条全库 混淆公开层级 走 DUA,或改用 CODE-15%

附录 W:条目维护触发点

触发点 动作
Zenodo 版本更新(> v1.0.3) 复核规模/填充/license 是否变化,更新 §2 与附录 A
论文逐类 Table 被实抓 补齐附录 T 与 §4.4 的逐类数字
license 字段逐字核验出现出入 更新 frontmatter 与附录 I
上游 CODE 全库公开 重写 §5.4 与附录 P 的访问制度
重要下游复用论文出现 增补 §7 生态段落

附录 X:与其他"多标注并置"数据集的方法学对照

数据集类型 是否发布多标注者答案 是否发布模型预测列 CODE-test 的差异
单标签公开集(多数) 否 否 CODE-test 两者皆发
双标注一致性集 部分(常只发一致性统计) 否 CODE-test 发原始两列
挑战赛集(CPSC/CinC 系) 否(发金标准+榜) 部分 CODE-test 无榜、发四档人
本条目 CODE-test 是(六套) 是(dnn.csv) 稀有:人机四档同题并置

这一对照说明:CODE-test 的独特性是结构性的,不是规模或分辨率带来的,而是"把标注过程的生产者全部暴晒"这一设计选择带来的。

附录 Y:患者人口学字段说明

字段 文件 取值域 说明
sex attributes.csv M / F 二元记录,公开版仅此粒度
age attributes.csv 数值 记录时年龄

两点提醒:一、无合并症、用药、随访结局字段——本数据集不支撑预后研究;二、人口学仅两列,做公平性/亚组分析时的统计效能有限(827 例按性别年龄再切分后子组偏小)。

附录 Z:快速自检脚本(下载后第一件事)

# 1) 校验完整性
md5sum data.zip        # 期望 cef8fe457abf4b8f66a34dc1269b4ced
unzip -l data.zip      # 看文件清单是否含 ecg_tracings.hdf5 + attributes.csv + annotations/*

# 2) 校验行数与形状
python3 -c "
import h5py, pandas as pd
f=h5py.File('ecg_tracings.hdf5','r'); print('shape', f['tracings'].shape)   # (827,4096,12)
print('attrs', pd.read_csv('attributes.csv').shape)                        # (827, 2)
print('gold', pd.read_csv('annotations/gold_standard.csv').shape)          # (827, 6)
"

只要这三行输出分别是 (827, 4096, 12)、(827, 2)、(827, 6),你的数据就与本文档描述一致。

附录 AA:论文作者与机构索引

角色 姓名 机构
一作 Antônio H. Ribeiro UFMG 计算机系(现 Uppsala)
合作者 Manoel Horta Ribeiro EPFL
合作者 Gabriela M. M. Paixão UFMG
合作者 Peter W. Macfarlane University of Glasgow
合作者 Thomas B. Schön Uppsala University
合作者 Wagner Meira Jr. UFMG
通讯/资深 Antonio Luiz P. Ribeiro UFMG 医学院

数据来源机构:Telehealth Network of Minas Gerais(TNMG)。

附录 AB:检索卫生与常见误引

  • 误引 1:把 CODE-test 的 827 例说成"CODE 数据集"的全部——实际全库约 232 万条;
  • 误引 2:把 15% 子集写成本条目的别名——CODE-15% 是训练子集(rid 152),与 CODE-test 不同;
  • 误引 3:把 ST 解读为 ST 段——本数据集 ST = 窦性心动过速;
  • 误引 4:把 17.7% 流行率当人群患病率——它是测试集标注口径;
  • 误引 5:把 10.24 s 当原始时长——原始为 7 s/10 s,4096 为填充后。

附录 AC:CODE-test 元数据摘要(可机读字段主张)

字段 建议值 说明
identifier 10.5281/zenodo.3765780 Zenodo DOI
title CODE-test: An annotated 12-lead ECG dataset 官方名
license CC BY 4.0 https://creativecommons.org/licenses/by/4.0/
n_records 827 例数
n_patients 827 患者数
sampling_rate 400 Hz 采样率
n_leads 12 导联数
signal_shape [827, 4096, 12] 张量形状
labels [1dAVb, RBBB, LBBB, SB, AF, ST] 六类
label_type binary multilabel 标注类型
source_network TNMG 采集网络
annotations_sets 6 六套标注文件数

上表是把本条目正文的硬数字压成"元数据主张"的形式,便于第三方在做数据目录时直接复用;每一项的来源层级见附录 C 与附录 I。

附录 AD:与其他 12 导联基准的"可比性"注意事项

不同 ECG 数据集之间直接比较模型成绩是有风险的,原因至少有三:

  1. 类别定义不同:CODE-test 的六类异常与 PTB-XL 的 SCPhP 超类、CPSC 的九类并不一一对应,跨数据集迁移时必须先做标签映射;
  2. 采样率与时长不同:400 Hz/4096 样本与 500 Hz/10 s、100 Hz/30 s 等规格不能直接混用,需重采样与裁剪;
  3. 人群与采集环境不同:州级远程医疗门诊 vs 医院 ICU vs 公开竞赛队列,节律箱分布天然有差。

因此,CODE-test 上的成绩只应与其他同样在 CODE-test 上评估的方法比较;跨数据集比较必须显式声明映射规则与预处理管线,否则数字不可比。这一点也是本条目把 CODE-test 定位为"评测锚点"而非"排行榜"的原因。


尾注(补充)

本"深度附录"层级(附录 P–AD)与前述附录 A–O 同属本条目附录体系,共同构成从"一屏速览"到"上手复现"的完整信息梯度。所有操作级代码与模板均为可运行骨架或待填模板,不含外部依赖的隐藏步骤;凡标注"待实跑/待实抓"处,均为论文口径未二次核验项,遵守本条目一贯的存照纪律,不以猜测填充。使用者在复现时如发现与官方仓库或论文原表存在出入,以官方与论文原文为准,并按附录 W 触发点反馈更新。

上述内容与正文统计一致;正文-表格之间的任何数字差异都以正文叙述的出处层级为准,出处存照见附录 C 与附录 I。


相关数据集导航

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

  • ecg-arrhythmia — 共享标签:生理信号 / 心电信号 / 评测基准 / 心血管疾病
  • ecg-fragment-high-risk-label — 共享标签:生理信号 / 心电信号 / 评测基准 / 心血管疾病
  • mit-bih-afdb — 共享标签:生理信号 / 心电信号 / 评测基准 / 心血管疾病
  • cinc-2021 — 共享标签:生理信号 / 心电信号 / 评测基准 / 心血管疾病
  • icentia11k — 共享标签:生理信号 / 心电信号 / 评测基准 / 心血管疾病
  • ltafdb — 共享标签:生理信号 / 心电信号 / 评测基准 / 心血管疾病
  • cinc-2020 — 共享标签:生理信号 / 心电信号 / 评测基准 / 心血管疾病
  • ludb — 共享标签:生理信号 / 心电信号 / 评测基准 / 心血管疾病
  • openecg — 共享标签:生理信号 / 心电信号 / 评测基准 / 心血管疾病
  • code-ii — 共享标签:生理信号 / 心电信号 / 评测基准 / 心血管疾病

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

返回 AI-Ready 数据集