PTB-XL,一个大型公开可用的心电图数据集 v1.0.3 --- PTB-XL, a large publicly available electrocardiography dataset v1.0.3 --知识铺
使用此资源时,请引用:(显示更多选项)
Wagner, P., Strodthoff, N., Bousseljot, R., Samek, W., & Schaeffter, T. (2022). PTB-XL,一个大型公开的心电图数据集(版本 1.0.3)。PhysioNet。RRID:SCR_007345。 https://doi.org/10.13026/kfzx-aw45
此外,请引用原始出版物:
请包含 PhysioNet 的标准引用:(显示更多选项)
Goldberger, A., Amaral, L., Glass, L., Hausdorff, J., Ivanov, P. C., Mark, R., … & Stanley, H. E. (2000). PhysioBank, PhysioToolkit, and PhysioNet: Components of a new research resource for complex physiologic signals. Circulation [Online]. 101 (23), pp. e215–e220. RRID:SCR_007345.
摘要
心电图(ECG)是评估患者心脏状况的关键诊断工具。作为诊断支持系统的自动 ECG 解读算法,为医疗人员提供了极大的帮助——仅基于常规采集的 ECG 数量。然而,此类算法的开发需要大量训练数据集和明确的基准流程。在我们看来,现有公开可用的 ECG 数据集在这两个方面均未能得到充分满足。
PTB-XL 心电图数据集是一个包含 21799 份临床 12 导联心电图的大型数据集,这些心电图来自 18869 名患者,每份心电图的长度为 10 秒。原始波形数据由最多两名心脏病学家进行标注,他们为每份记录分配了可能多个心电图诊断结果。总共 71 种不同的心电图诊断结果符合 SCP-ECG 标准,涵盖了诊断、形态和节律诊断结果。为确保基于该数据集训练的机器学习算法的可比性,我们提供了推荐的训练集和测试集划分方案。结合详尽的标注信息,这使数据集成为自动心电图解读算法训练和评估的丰富资源。该数据集还补充了关于人口统计、梗死特征、诊断心电图结果的概率以及标注信号特性的广泛元数据。
背景
PTB-XL 心电图数据集的基础波形数据是在 1989 年 10 月至 1996 年 6 月近七年间,使用 Schiller AG 的设备收集的。在从 Schiller AG 获取原始数据库后,完整的使用权已转让给 PTB。这些记录在德国物理技术研究院(PTB)的一个长期项目中经过整理并转换为结构化数据库。该数据库被用于多篇出版物,例如[1,2],但直到现在访问仍然受限。在 2019 年的公开发布过程中,现有数据库经过优化,特别考虑了机器学习社区的可使用性和可访问性。波形和元数据被转换为开放数据格式,这些格式可以由标准软件轻松处理。
方法
数据采集
1. 原始信号数据被记录并以专有压缩格式存储。对于所有信号,我们提供标准的 12 导联(I、II、III、AVL、AVR、AVF、V1、…、V6),并在右臂放置参考电极。
2. 相应的通用元数据(如 age
、sex
、weight
和 height
)被收集在数据库中。
3. 每条记录都标注了一个_报告_字符串(由心脏病专家生成或由 ECG 设备自动解释),该字符串被转换为标准化的 SCP-ECG 语句集(scp_codes
)。对于大多数记录,还提取了心脏轴(heart_axis
)以及梗死阶段(如果存在,则为 infarction_stadium1
和 infarction_stadium2
)。
4. 大部分记录由第二位心脏病专家进行了验证。
5. 所有记录均由技术专家进行验证,主要关注信号特征。
数据预处理
心电图和患者通过唯一标识符(ecg_id
和 patient_id
)进行识别。元数据中的个人信息,如验证心内科医生、护士和记录地点(医院等)的名称已被假名化。出生日期仅以心电图记录时的年龄表示,其中 89 岁以上年龄在 HIPAA 标准规定下显示为 300 年。此外,所有心电图的记录日期对每个患者都进行了随机偏移。用于标注记录的心电图说明遵循 SCP-ECG 标准[3]。
数据描述
一般来说,数据集的构成如下:
ptbxl ├── ptbxl_database.csv ├── scp_statements.csv ├── records100 │ ├── 00000 │ │ ├── 00001_lr.dat │ │ ├── 00001_lr.hea │ │ ├── ... │ │ ├── 00999_lr.dat │ │ └── 00999_lr.hea │ ├── ... │ └── 21000 │ ├── 21001_lr.dat │ ├── 21001_lr.hea │ ├── ... │ ├── 21837_lr.dat │ └── 21837_lr.hea └── records500 ├── 00000 │ ├── 00001_hr.dat │ ├── 00001_hr.hea │ ├── ... │ ├── 00999_hr.dat │ └── 00999_hr.hea ├── ... └── 21000 ├── 21001_hr.dat ├── 21001_hr.hea ├── ... ├── 21837_hr.dat └── 21837_hr.hea
该数据集包含21799份临床12导联心电图记录,每份记录长度为10秒,来自18869名患者,其中52%为男性,48%为女性,年龄覆盖从0岁到95岁的整个范围(中位数为62岁,四分位距为22)。该数据集的价值源于多种不同共存的病理的综合收集,但也包括大量健康对照样本。诊断分布如下,为简化起见,我们将诊断陈述归纳为超类(注意:由于每份记录可能存在多个标签,因此陈述总数超过记录数):
#Records | 超类 | 描述 |
---|---|---|
9514 | NORM | 正常心电图 |
5469 | MI | 心肌梗死 |
5235 | STTC | ST/T 变化 |
4898 | CD | 传导障碍 |
2649 | HYP | 肥厚 |
波形文件以 WaveForm DataBase (WFDB) 格式存储,精度为 16 位,分辨率为 1μV/LSB,采样频率为 500Hz(records500/
)。为方便用户使用,我们还发布了采样频率为 100Hz 的波形数据降采样版本(records100/
)。
所有相关元数据存储在 ptbxl_database.csv
中,每条记录由 ecg_id
标识,每行一条记录。它包含 28 列,可分为:
1. 标识符 :每条记录由唯一的 ecg_id
标识。相应的患者通过 patient_id
编码。原始记录(500 Hz)和记录的下采样版本(100 Hz)的路径分别存储在 filename_hr
和 filename_lr
中。
2. 通用元数据 : 人口统计和记录元数据,如 年龄 、 性别 、 身高 、 体重 、 护士 、 地点 、 设备 和 记录日期
3. 心电图陈述 : 核心组件是 scp_codes
(SCP-ECG 陈述作为一个字典,条目形式为 陈述: 可能性
,其中可能性在未知时设为 0)和 报告 (报告字符串)。附加字段包括 心轴
、 梗死分期 1
、 梗死分期 2
、 验证者
、 第二意见
、 初始自动生成报告
和 人类验证
。
4. 信号元数据 : 信号质量,如噪声( 静态噪声
和 爆发噪声
)、基线漂移( 基线漂移
)以及其他伪影,如 电极问题
。我们还提供 额外心跳
用于计数额外的心收缩,以及 起搏器 用于信号模式指示有活跃起搏器。
5. 交叉验证折 : 推荐使用 10 折训练-测试拆分(strat_fold
),通过分层抽样获得,同时尊重患者分配,即特定患者的所有记录被分配到同一折。折 9 和折 10 中的记录至少经过一次人工评估,因此标签质量特别高。因此我们建议使用折 1-8 作为训练集,折 9 作为验证集,折 10 作为测试集。
所有与所使用的标注方案相关的信息都存储在一个专门的 scp_statements.csv
文件中,该文件通过映射到其他标注标准(如 AHA、aECGREFID、CDISC 和 DICOM)进行了丰富。我们提供了额外的辅助信息,例如每个陈述可以被分配到的类别(诊断、形式和/或心律)。对于诊断陈述,我们还提供了建议的层次结构组织,分为 diagnostic_class
和 diagnostic_subclass
。
使用说明
在 example_physionet.py
中,我们提供了一个最小使用示例,展示了如何加载波形数据(numpy 数组 X_train
和 X_test
)和标签(y_train
和 y_test
),并使用提议的训练-测试分割方法。为说明,我们基于 scp_statements.csv
中的分配使用诊断子类语句作为标签。数据集的基准测试程序在[4]中描述。
发布说明
1.0.3 删除了另外两个重复项(之前是三重重复)。决定对所有重复记录(包括 1.0.2 中修改的记录)报告共识标签,因为样本被标注为独立样本。所有重复记录的原始标签被追加到"record"字段以便后续参考。
1.0.2 删除了 36 条具有相同原始波形数据的记录(保留 ECG ID 较高的记录,并优先删除测试集第 9 和第 10 折的记录,以便对在数据集先前版本上训练的模型进行适当评估)。详细信息请参阅 release_notes_v102.txt。
1.0.1 修复了波形数据与元数据之间的 ID 不匹配问题。与原始发布版本内容相同。
1.0.0 数据集初始发布。
伦理
机构伦理委员会批准了在开放获取数据库中发布匿名数据(PTB-2020-1)。
致谢
我们感谢洛塔尔·施密茨博士提供了大量注释和医学专业知识,以及汉斯·科赫博士在推动和管理原始数据库的准备工作方面所做的努力。这项工作得到了联邦教育与研究部(BMBF)的支持,通过柏林大数据中心(项目编号 01IS14013A)和柏林机器学习中心(项目编号 01IS18037I)提供资助,同时还得到了 EMPIR 项目 18HLT07 MedalCare 的支持。EMPIR 计划由欧盟“地平线 2020”研究和创新计划以及 EMPIR 参与国家共同资助。
利益冲突
参考文献
- Bousseljot, R., Kreiseler, D. (2000). “使用 10,000 个心电图进行波形识别”. 心血管计算机 27, 331–334.
- SO 中央书记处(2009 年)。“健康信息学——标准通信协议——第 91064 部分:计算机辅助心电图”。ISO 11073-91064:2009 标准,国际标准化组织,日内瓦。
- Bousseljot, R., Kreiseler, D., Schnabel, A.(1995 年)。“通过互联网使用 PTB 心电图信号数据库 CARDIODAT”。生物医学技术/生物医学工程 317-318。
- Strodthoff, N., Wagner, P., Schaeffter, T., Samek, W.(2021 年)。“用于心电图分析的深度学习:来自 PTB-XL 的基准和见解”。IEEE 生物医学与健康信息学杂志 25 卷第 5 期,1519-1528。
- 原文作者:知识铺
- 原文链接:https://index.zshipu.com/ai001/post/20251013/PTB-XL%E4%B8%80%E4%B8%AA%E5%A4%A7%E5%9E%8B%E5%85%AC%E5%BC%80%E5%8F%AF%E7%94%A8%E7%9A%84%E5%BF%83%E7%94%B5%E5%9B%BE%E6%95%B0%E6%8D%AE%E9%9B%86-v1.0.3---PTB-XL-a-large-publicly-available-electrocardiography-dataset-v1.0.3/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。
- 免责声明:本页面内容均来源于站内编辑发布,部分信息来源互联网,并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题,请立即联系客服进行更改或删除,保证您的合法权益。转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。也可以邮件至 sblig@126.com