Low responsiveness of ML models to critical or deteriorating health conditions
机器学习模型对危急或恶化健康状况的低响应性研究
摘要
背景
基于机器学习 (ML) 的死亡率预测模型在重症监护病房 (ICU) 中非常有用。 这种模型应该在患者病情迅速恶化或生命体征处于高度异常范围内时生成警告,以提醒医生。 在临床部署之前,全面评估模型识别危重患者状况的能力非常重要。
方法
我们开发了多种医学 ML 测试方法,包括梯度上升方法和神经激活图。 我们使用额外的测试用例(其中一些是时间序列)系统地评估这些机器学习模型对严重疾病状况的响应能力。 在医学专家的指导下,我们的评估涉及多种机器学习模型、重采样技术以及用于两项临床预测任务的四个数据集。
结果
我们发现模型在响应性方面存在严重缺陷,无法识别严重受损的医疗状况或迅速恶化的健康状况。 对于住院死亡率预测,使用我们合成的病例测试的模型未能识别出 66% 的损伤。 在某些情况下,模型未能为所有测试用例生成足够的死亡风险评分。 我们的研究还发现了 5 年乳腺癌和肺癌预测模型在响应性方面存在的类似缺陷。
结论
使用生成的测试用例,我们发现仅从患者数据训练的统计机器学习模型严重不足,并且存在许多危险的盲点。 大多数测试的 ML 模型未能对危重患者做出充分响应。 如何将医学知识融入临床机器学习模型是一个重要的未来研究方向。
通俗语言总结
计算模型可用于评估患者的健康状况并预测他们的死亡风险,例如在重症监护室中。 这些模型可用于识别病情恶化的患者并及时提醒医生。 我们测试了几个计算模型识别患有严重或恶化健康状况的患者的能力。 我们发现大多数评估的计算模型无法在我们的测试中识别出危急健康事件,这令人担忧。 我们的工作强调了使用医学知识指导的测试以确保模型适合的重要性,以及将基本医学知识纳入此类模型设计中的必要性。
引言
2018 年,美国食品药品监督管理局 (Food Drug Administration) 授权了首个自主人工智能 (AI) 诊断系统,该系统用于检测糖尿病视网膜病变[1]。 从那时起,基于人工智能机器学习 (ML) 的预测技术迅速普及,并被纳入临床工作流程[2],例如,用于早期脓毒症检测[3]和预测手术时间[4]。 然而,最近的研究揭示了预测模型在各种医疗场景下存在的问题,例如,死亡率预测或癌症预后中的漏检[5],美国流行的电子健康记录软件系统 Epic 对败血症的预测不佳[6],以及模型为基于图像的皮肤癌检测创建不正确的预测捷径[7]。
这些发现指出了在临床采用之前进行系统模型评估以确保可信度的迫切需要[8]。 例如,对于住院死亡率 (IHM) 预测,重要的是衡量 ML 模型是否可以及时响应病情恶化的患者。 然而,由于输入空间的巨大复杂性,模型评估具有挑战性。 在大多数医学 AI 应用中,详尽的测试既不必要也不可能。
目前的 ML 测试实践在疾病覆盖范围方面非常有限。 现有的模型测试在很大程度上仅限于现有数据集的一小部分(10-15%),即测试集,因为大部分数据都保留用于训练。 由于医学中的数据不平衡很常见,因此典型的测试集可能对各种危急医疗状况和少数预测类别病例的覆盖率较低。 例如,少数预测类别(即死亡类别)仅占 IHM 预测数据集的 13.5% [5]。 即使使用交叉验证和自举法,测试集在很大程度上也仅限于原始数据。
由于测试集有限,预测模型可能会被低估。 它们对现实世界场景的反应可能没有得到充分评估。 在临床部署期间,可能会出现超出测试集分布范围的新患者状况,从而引发意外的故障,例如,模型未能为危重患者生成足够高的风险评分。 这个问题可能会对较小的预测类别产生不成比例的影响,因为典型的数据驱动模型旨在优先考虑训练期间多数类别样本的准确性[5]。 增加测试覆盖率的一种方法是使用合成测试样本。 最近,有人提出了生成技术来生成经过精心策划的人造图像,用于测试自动驾驶车辆[9],[10]。 然而,基于图像的解决方案并不能解决医学时间序列应用中独特的时序挑战。
在这项工作中,我们开发了超越原始数据集的系统方法,用于生成新的测试用例,以评估 ML 模型对临床环境中可能出现的危急健康状况的响应能力。 我们的测试用例生成以领域知识和医学专家为指导。 我们的实验涉及二元分类任务,包括基于时间序列的 IHM 预测以及 5 年乳腺癌和肺癌存活率 (LCS) 预后(图 [1](https://www.nature.com/articles/</articles/s43856-025-00775-0#Fig1>))。 我们开发了多种方法来生成训练数据中不存在或在训练集中代表性不足的高风险测试用例。 我们的解决方案可以处理在医学中普遍存在的时间序列数据。 我们还与医学专家进行了访谈,以获得他们对某些生成的测试用例的估计风险。 我们的工作揭示了 ML 模型的惊人预测缺陷,并指出 ML 响应性是数字健康领域可信度的重要方面。
图 1:用于评估在住院死亡风险预测和 5 年癌症存活率预测模型上训练的模型的生成的测试用例的数量。
左侧说明了每种类别的生成测试用例,用于测试在 MIMIC III 或 eICU 数据集上训练的住院死亡风险预测模型。 右侧表示生成的测试用例,用于测试 5 年乳腺癌存活率 (BCS) 预测模型。 SEER 肺癌存活率 (LCS) 模型也使用单属性测试用例进行类似测试。
方法
预测任务、数据集和模型选择
我们的工作旨在测试医学 ML 模型在严重疾病状况下的二元分类准确性。 我们专注于三个二元预测任务,即 48 小时 IHM 风险预测、5 年乳腺癌存活率 (BCS) 预测和 5 年 LCS 预测。
我们研究中使用的数据集包括基于 MIMIC III[12],[13]数据集的 2019 年基准测试[11],基于 eICU[15]数据集的 2020 年基准测试[14],以及基于 Surveillance, Epidemiology, and End Results (SEER) (5 年乳腺癌和肺癌)数据集的 2018 年可重复性基准测试[16]。 前两个数据集包含患者在重症监护病房 (ICU) 中 48 小时的时间序列数据。 我们的研究不包括临床自由文本注释。 与许多医学数据集一样,用于 IHM 的 MIMIC-III 数据集包含 21,139 个样本,是不平衡的,其中 13.2% 为死亡病例(类别 1),86.8% 为非死亡病例(类别 0)。 eICU IHM 基准数据集包含总共 30,681 个样本(类别 0 占 88.5%,类别 1 占 11.5%),其属性和时间长度与 MIMIC III 基准测试相似[14]。 补充图 S1 显示了 MIMIC III 和 eICU 数据集主要属性的分布。 SEER BCS 数据集包含 248,751 个患者病例,包含 56 个属性(7 个数值和连续特征,49 个分类特征)。 在 SEER BCS 数据集中,12.7% 的病例为死亡病例(类别 0); 其余为存活病例(类别 1)。 补充图 S2 显示了主要属性的分布。 SEER LCS 数据集包含 205,555 个病例,包含 47 个特征(7 个数值和连续特征,40 个分类特征)。 在 LCS 数据集中,84% 的患者死亡。
创建 MIMIC-III 数据集已获得 Beth Israel Deaconess Medical Center (Boston, MA) 和 Massachusetts Institute of Technology (Cambridge, MA) 的机构审查委员会的批准。 由于敏感的健康信息已被去识别化,并且数据集不影响临床护理,因此免除了对个人患者同意的要求。 由于回顾性设计、缺乏直接的患者干预以及安全模式,eICU 数据集创建免于机构审查委员会的批准,独立隐私专家(Privacert, Cambridge, MA)已认证该模式的重新识别风险符合安全港标准(健康保险可移植性和责任法案认证编号 1031219-2)。 SEER 计划数据集由美国国家癌症研究所 (NCI) 管理和维护。 集中式数据收集系统支持通过与注册机构的依赖协议进行中央 IRB 提交和批准。 注册机构根据州公共卫生报告机构收集的 SEER 数据免于 HIPAA 约束。 MIMIC III 可通过向数据源提出适当的请求免费获得 (https://physionet.org/content/mimiciii/1.4/)。 它需要许可证 (PhysioNet Credentialed Health Data License 1.5.0)、数据使用协议 (PhysioNet Credentialed Health Data Use Agreement 1.5.0) 以及培训 (CITI Data or Specimens Only Research)。 还可以通过完成上述步骤访问 eICU 数据集 (https://physionet.org/content/eicu-crd/2.0/)。 SEER 数据集也可通过向数据源提出适当的请求免费获得 (https://seer.cancer.gov/)。 它需要数据申请表、数据用户协议和数据限制确认书 (https://seer.cancer.gov/data/product-comparison.html)。 通过 eRA Commons 帐户访问数据,并使用 SEER*Stat 软件选择数据队列。 我们按照上述各种途径获得了对数据集的访问权限。 所有这些数据集都经过了去识别化处理并且是公开的。 因此,本研究不需要 IRB 批准,特别是对去识别化且公开可用的数据的分析不构成人体受试者研究(美国联邦法规 45 CFR 46.102)。
我们选择了医学文献中常用于这些预测任务的 ML 模型。 具体来说,我们选择了长短期记忆 (LSTM),因为它广泛用于预测 48 小时 ICU 时间序列数据集中的死亡风险——在最近的文献中[5],[17],[18],[19]。 同样,对于癌症存活率预测,我们选择了多层感知器 (MLP),它通常用于分析 SEER 数据集[5],[16],[20]。 此外,我们还评估了在医学文献中常见的通用 ML 模型,包括 XGBoost、AdaBoost、随机森林、高斯朴素贝叶斯和 K 最近邻 (KNN)。 对于死亡率预测,我们还包括来自基准研究的通道式长短期记忆 (CW-LSTM) 和线性逻辑回归 (LR) 模型[11]和一个高级 transformer 模型。
数据集预处理
我们使用 MIMIC-III[11]、eICU[14]以及 SEER 乳腺癌和 LCS 研究[16]的基准数据集训练 ML 模型,遵循传统的预训练处理(例如,编码、标准化)。 由于 MIMIC-III 和 eICU 基准数据集包含缺失值,因此我们使用最新的观察值(在 48 小时内)估算缺失值(如果存在),否则,参考文献 [11] 中提到了相应生命体征正常范围内的值。 掩码用于指示生命体征值是原始值还是估算值。 分类变量(包括二元变量)使用 one-hot 向量进行编码。 数值特征(例如舒张压和血糖水平)转换为标准化形式。 经过预处理后,每个时间序列数据点都变为 76 x 48 矩阵(76 个计算特征和 48 小时)。 处理后的数据集用于训练和测试基于神经网络的模型,例如 LSTM 和 CW-LSTM 模型。 对于无法直接处理时间序列的非神经网络模型,我们从各个子周期(前/后 10%、25%、50% 和完整 100%)中提取了 6 个统计特征(均值、最小值、最大值、标准差、偏度和测量次数)。 我们没有对分类变量进行编码,因为它们包含具有有意义刻度的值。 缺失值替换为在训练集上计算的平均值,数值变量被标准化。 总之,我们从每个 48 小时的时间序列中获得了 714 个特征,包含 17 个生命体征。 在训练之前,对连续变量进行标准化。 编码后,BCS 和 LCS 数据集的特征向量长度分别变为 1418 和 1314。
机器学习模型配置
对于 IHM 风险预测,我们利用了 LSTM 模型、CW-LSTM 模型、transformer、LR、AdaBoost、XGBoost 和随机森林 (RF) 模型。 对于 5 年 BCS 预测,我们使用了 MLP、AdaBoost、XGBoost 和 RF 模型。 我们利用了来自相应基准测试的每个任务的神经网络模型(即层、激活、超参数)的最佳设置[11],[16]。 LSTM 模型由一个输入层(76 维)、一个掩码层(76 维)、一个双向 LSTM 层(16 维)、一个 LSTM 层(16 维)、一个 dropout 层和一个密集层(1 维)组成。 总之,LSTM 有 7569 个可训练参数。 CW-LSTM 层由一个输入层(76 维)、一个掩码层(76 维)、17 个通道层(每个 17 个输入特征)、17 个双向层(连接到 17 个通道层之一)、另一组 17 个双向层、一个连接所有 17 个双向层的连接层、双向层(64 维)、LSTM 层(36 维)、dropout 层(64 维)和一个密集层(1 维)组成。 总之,CW-LSTM 模型有 153,025 个参数。 CW-LSTM 参数的大小是 LSTM 的 20 倍。 CW-LSTM 模型允许在组合变量之前对每个变量进行独立预处理。 对于基于 LSTM 的模型,使用网格搜索选择最佳超参数[11]。 例如,批大小、dropout 和时间步长分别设置为 8、0.3 和 1。 transformer 模型由一个输入层(76 维)、一个掩码层(76 维)、一个位置编码层(76 维)、2-3 个 transformer 编码器块、一个全局平均池化层、一个批标准化层、一个 dropout 层(0.3 或 05)、一个密集层(32 或 64 个单元)和一个密集层(1 维)组成。 每个 transformer 编码器块都包含一个具有 4 个头的多头注意力层(关键维度 76),后跟层标准化和残差连接。 每个编码器块内的前馈密集层包含 16 的隐藏维度。 总之,transformer 模型包含总共 881,677 个参数(可训练参数:293,841,优化器参数:587,684 和不可训练参数:152),大于 LSTM 和 CW-LSTM 模型。 对于超参数调整,采用网格搜索来选择最佳超参数(补充表 [1](https://www.nature.com/articles/</articles/s43856-025-00775-0#MOESM1>))。 LR 模型来自 sklearn 库,利用 L2 正则化惩罚。 为了防止过度拟合并增强模型的泛化能力,参数 C 为 0.001。 这种选择小的 C 值可以有效地控制训练期间应用的正则化量。 其余超参数保留其默认值,遵循 Python Sklearn 库提供的标准实现。 该模型使用标准化训练集进行训练。 用于 BCS 存活率预测的 MLP 模型由 2 个隐藏层组成,其中每个隐藏层包含 20 个神经元。 隐藏层使用 Relu 作为激活函数。 在每个隐藏层之后使用 0.1 的 dropout 率以避免过度拟合。 最后一层使用 sigmoid 激活函数预测二元标签。 MLP 模型包含 28,831 个可训练参数。 使用网格搜索从预定义值列表(例如隐藏层的数量(1、2、3 和 4)、每层中的节点数(20、50、100 和 200)和 dropout(0、0.1、0.2、0.3、0.4 和 0.5))凭经验选择 MLP 超参数[16]。 其他模型使用 Python 的 Sklearn 库实现,超参数使用网格搜索进行调整(补充表 [1](https://www.nature.com/articles/</articles/s43856-025-00775-0#MOESM1>))。
模型训练、阈值调整和不平衡校正方法
对于 IHM 预测,LSTM 模型和 transformer 模型分别使用 MIMIC-III 和 eICU 数据集训练 100 个周期。 对于 5 年癌症存活率预测,MLP 模型使用 SEER BCS 或 LCS 数据集训练 25 个周期,并使用上述最佳超参数设置[16]。 其他模型,包括 XGBoost、AdaBoost 和 RF,使用从网格搜索获得的最佳超参数进行训练(补充表 [1](https://www.nature.com/articles/</articles/s43856-025-00775-0#MOESM1>))。 这些模型使用二元交叉熵损失进行训练。 基于阈值不可知的验证精确率-召回率曲线下面积 (AUPRC) 和验证损失选择一个周期,以避免过度拟合。 具体来说,我们首先选择具有最高验证 AUPRC 的前 3 个周期,然后选择具有最小验证损失的周期(补充表 2 和 3)。 我们监控验证损失和训练损失差异以防止过度拟合。 在所有实验中,选择的 ML 模型都表现出较小的损失差异(补充表 2 和 [3](https://www.nature.com/articles/</articles/s43856-025-00775-0#MOESM1>))。
除了评估在原始训练集上训练的模型外,我们还尝试了重采样和重加权技术,并测量了由此产生的偏差校正 ML 模型在我们的关键区域测试中的表现如何。 先前的研究表明,重加权技术在医疗保健数据集中表现出卓越的性能,[21]。 对于重采样,我们测试了两种生成重采样方法,SMOTE(合成少数过采样技术)和 AdaSyn(自适应合成采样)。 我们使用 Python 的 Imblearn 库来应用 SMOTE 和 AdaSyn 过采样技术,通过增加少数类别的样本来生成平衡的训练集(大小如补充表 4 所示)。 对于重加权,我们利用 Python 的 Sklearn 库来计算基于训练集的平衡类别权重(补充表 5)。 这些方法应用于死亡率预测的 LSTM 模型和癌症存活率预测的 MLP 模型。
MIMIC-III 和 eICU 数据集的训练集、验证集和测试集的分解为 70%、15% 和 15%,BCS 和 LCS 数据集的分解为 80%、10% 和 10%。 在模型校准后,对验证集进行阈值调整过程,并基于少数类别的平衡准确率和 F1 分数选择最佳阈值。 具体来说,在训练之后,我们首先通过使用验证集应用等渗回归来进行模型校准。 模型校准将预测的概率映射到实际概率。 然后,我们执行阈值调整以确定最佳阈值。 对于范围从 0.0 到 1.0 且步长为 0.01 的每个阈值,在验证集上计算少数 F1 分数和平衡准确率。 随后,识别出产生最高少数 F1 分数的前三个阈值,并选择在所有验证样本中最大化平衡准确率的最佳阈值。 对于每种类型的 3 个独立训练的模型,重复此过程,并从这些独立试验中计算平均阈值。 阈值显示在补充表 6 中。 这些任务在具有 Ubuntu 18.04 操作系统、x86-64 core-i9 架构、8 个物理核心(16 个虚拟核心)和 32 GB RAM 的机器上执行。 实验代码和模型使用 Python 3.7、TensorFlow 1.15 和 Keras 2.1.2 编写。 癌症存活率预测 MLP 模型在具有 x86_64 Intel(R) Xeon(R) CPU 2.40 GHz(40 核)和 125 GB RAM 的机器上进行训练。 实验代码和模型使用 Python 3.6、TensorFlow 2.9.0 和 Keras 2.9.0 编写。
映射神经元激活
我们可视化了神经元网络模型中特定输入的激活神经元。 Keras 后端用于捕获来自双向层输出和 LSTM 层输出的神经元输出,用于死亡风险预测模型。 应用 Sigmoid 激活以获得 [0, 1] 范围内的神经元输出值。 为了量化神经元激活的变化,我们定义并计算了神经区域激活 (NZA) 和平均区域差异 (ΔNAZ)。 区域由两个值限定的属性范围定义。 NZA 计算区域内神经元的平均激活,其中区域可以是极低、极高或正常范围(补充方程 1)。 ΔNAZ 计算两个区域之间的平均 NZA 差异(补充方程 2),例如正常区域和极高区域,指示神经元对区域变化反应的程度。 ΔNAZ 没有标准值。 相对较高的值表示良好的响应。
统计方法
使用平均值和标准差报告模型性能,这些平均值和标准差是使用 9 次或 15 次试验计算得出的。 这些试验是使用 3 个模型实例执行的,这些模型实例具有相同的架构,并且在具有随机模型参数初始化的相同训练集上进行训练。 每个 3 个模型实例都使用 3-5 个测试集进行评估。 合成测试数据集与原始训练集的分发转移通过 Wasserstein 距离 (WD) 进行量化[22],[23]。 我们使用了来自名为 scipy.stats.wasserstein_distance 的 Python 库的实现。 首先,在整个原始数据集和合成测试集中,计算了相同特征之间的 WD。 然后,对特定于特征的 WD 进行平均,以获得用于量化分布转移的平均 WD。
基于属性的住院死亡风险预测测试用例生成
我们通过增加或减少播种记录中的一个或多个生命健康参数来创建新病例。 为了降低计算复杂性,我们优先考虑关注最具影响力的特征。 相关医学术语在补充说明中进行了解释。
在单属性变异中,我们通过一次改变一个属性,同时保持其他属性不变来生成新的测试用例。 然后,我们评估了模型对这些变化的反应以及其识别相关风险(例如,低血糖症)的能力。 具体来说,给定一个属性 A,时间序列的单属性变异涉及以下操作。 首先,我们确定了 MIMIC-III 或 eICU 数据集中 A 的最小值和最大值,这些值定义了观察范围。 然后,从整个数据集中计算属性 A 的均值和方差。 使用方差和观察范围,我们为该范围内的每个值生成了一系列随机值,每个 48 小时一个值。 然后,通过使属性 A 具有这些生成的值,并使其他属性值直接继承自种子,来形成新的测试用例。 我们对观察范围内的每个可能的属性值(步长为 1)重复此过程。
多属性变异通过修改两个或多个属性来生成新的测试用例,旨在表示以多个相关属性的变化为特征的医疗状况。 我们进一步区分了两种情况:(a) 一组受一种潜在疾病状况驱动的医学相关属性,例如,由于高血压导致的舒张压和收缩压升高,以及 (b) 由于多种潜在状况导致的医学相关属性,例如,高血压和糖尿病。 这些测试用例用于评估 ML 模型响应患者多种疾病状况风险的能力。 通过同时更改多个生命体征(例如收缩压、舒张压、血糖水平、呼吸频率、心率和体温)来创建一个测试集。 使用现有文献或在医学专家的指导下,为测试用例分配一个真实标签。 6 个多属性测试用例和 12 个恶化测试用例直接由医学专家标记(补充表 7 和 [8](https://www.nature.com/articles/</articles/s43856-025-00775-0#MOESM1>))。
MIMIC-III 恶化测试用例生成
我们利用 LSTM 的梯度来指导新测试用例的生成。 这种方法是自动的,不需要指定要更改的属性,旨在生成 ML 模型难以正确分类的新测试用例。 此类情况通常发生在分类器的决策边界处。 我们的方法从健康患者的记录开始(即具有低或零死亡风险的种子)。 种子是一个远离分类器决策边界的时间序列记录。 我们通过遵循可以最大化损失(即 ML 模型的预测误差)的最陡方向(即梯度)来逐步调整种子的属性值。 此过程探索局部超空间,并迭代生成越来越接近 ML 模型决策边界的新病例。 在计算方面,给定一个训练有素的 ML 模型和一个健康患者的时间序列记录作为种子,我们计算模型损失函数的导数,即梯度(补充方程 [3](https://www.nature.com/articles/</articles/s43856-025-00775-0#MOESM2>))。 梯度是一个偏导数向量,描述了损失函数变化的方向和速率。 然后,我们沿着梯度增加的方向更改测试用例。 我们的算法在补充方法部分中进行了描述。 在我们的实验中,用于控制变化幅度的步长或学习率设置为 0.001–0.2,具体取决于属性(补充表 [9](https://www.nature.com/articles/</articles/s43856-025-00775-0#MOESM1>))。 我们的方法侧重于生成样本; 它不同于常见的梯度下降过程,后者调整模型权重以最小化损失。 我们有两种从 MIMIC-III 数据集创建基于梯度的测试用例的方法——单属性梯度方法和多属性梯度方法。 在前者中,我们专注于单个属性,并且仅应用梯度上升来修改该特定属性。 这种方法允许观察每个属性对死亡风险的个体影响。 在后者中,我们同时使用梯度上升来更改多个属性的值。 梯度方法创建表示连续时间序列中健康状况恶化的测试用例。 补充表 10 显示了各种类别的测试集及其大小。
Glasgow 昏迷量表测试用例生成
Glasgow 昏迷量表 (GCS)[24] 是一种评估患者意识水平的神经量表。 它评估三个类别中的反应:睁眼 (E)、言语反应 (V) 和运动反应 (M),总分范围为 3 到 15。 较低的分数表示更严重的意识障碍。 每个类别中值的定义在补充表 11 中给出。 GCS 分数可以代表多组。 例如,GCS 总分 10 可能是 (E, V, M) = (3, 3, 4) 或 (4, 4, 2) 等的结果。 GCS 总分测试集包含每个特定 GCS 总分值的所有可能的 (E, V, M) 组合。 双属性 GCS 病例也是通过改变两个属性并保持其他属性恒定为健康值来创建的。
基于属性的 5 年癌症预后测试用例生成
单属性变异。 同样,我们通过改变种子记录的一个属性来设计癌症测试用例。 该属性可能是肿瘤的大小 (T)、阳性淋巴结的数量 (N)、检查的淋巴结的数量 (ELN) 或癌细胞的等级。 T 和 N 是确定癌症严重程度或分期的两个最重要因素[25]。 T 根据大小分为 4 类。 肿瘤测试集是通过改变存活类别中 3 个种子的大小来创建的,使用原始 SEER 数据集的范围 (0–986 mm)。 此 BCS 肿瘤大小测试集包含 12,891 个病例,包括 18 个 T0 病例、243 个 T1 病例、390 个 T2 病例和其余的 12,240 个 T3 病例。 LCS 肿瘤大小包含 8367 个病例,包括 12 个 T0 病例、171 个 T1 病例、273 个 T2 病例和 7911 个 T3 病例。(无法创建 T4 病例,因为它与定量值不相关)。 阳性淋巴结 (N) 的数量分为 4 类。 阳性淋巴结测试用例也是通过使用属性范围 (0–84) 更改来自相同 3 个种子的相应值来类似地创建的。 对于 BCS,我们生成了 7686 个测试用例,包括 90 个 N0 病例、270 个 N1 病例、546 个 N2 病例和 6780 个 N3 病例。 对于 LCS,我们生成了 24,264 个测试用例,包括 333 个 N0 病例、999 个 N1 病例、1998 个 N2 病例和 20,934 个 N3 病例。 补充说明 提供了 T 和 N 类别定义的更多详细信息。
ELN 测试用例也是通过改变 3 个种子的 ELN 数量(范围在 [0, 86] 中)并保持其他值与种子相同来类似地创建的。 ELN 测试集总共包含 3510 个 BCS 病例和 1835 个 LCS 病例。 虽然 ELN 的数量与癌症分期没有直接关系,但它对于诊断癌症至关重要。 多项研究表明,应该有一个标准(或最小值)的 ELN 癌症诊断数量[26],[27],[28],[29]。 癌细胞的等级表示癌细胞的扩散和生长强度[25]。 SEER 数据集包含 1-4 级,其中较高的等级表示更快的生长和速度,另一个等级 9 表示未确定(未说明/不适用)。 对于 BCS,我们为每个 1-4 级创建测试集,其中每个集合包含 24,875 个病例,从多数类别 1(存活)的 21,723 个病例和少数类别 0(死亡)的 3152 个病例创建。 我们利用整个验证集作为种子池,从而可以进行更全面的评估。 总之,1-4 级测试集包含 99,500 个病例(每个等级 24,875 个病例)。 为了创建每个等级测试集,我们将相应的等级值设置为验证集中的所有数据点。
双属性和三属性变异。 双属性变异通过更改 3 个连续属性中的一对属性来生成新的 BCS 测试用例,这些属性是肿瘤的大小 (T)、阳性淋巴结的数量 (N) 和 ELN 的数量。 排除等级属性,因为它属于分类属性。 肿瘤大小和阳性淋巴结组合测试集包含 18,531 个测试用例。 肿瘤大小和 ELN 数量组合测试集也包含 18,531 个测试用例。 ELN 数量和阳性淋巴结组合测试集包含 23,400 个测试用例。 通过同时设置三个属性来创建三属性测试集以表示严重的疾病状况,例如肿瘤大小为 T4、阳性淋巴结数量为 N3 且等级为 4。 验证集由 24,875 个病例组成,包括来自类别 1(存活)的 21,723 个病例和来自类别 0(死亡)的 3152 个病例,用作种子。 虽然肿瘤大小和阳性淋巴结数量是连续变量,但我们通过从 T4 和 N3 范围中分别选择一个值来将它们视为分类变量。 因此,三属性测试集包含 21,723 个来自类别 1 种子的病例和 3152 个来自类别 0 种子的病例。 补充表 12 总结了各种类别的测试集及其大小。 我们对 BCS 模型执行了双属性和三属性变异测试,而不是对 LCS 模型执行。
对于标记生成的乳腺癌和肺癌测试用例,我们使用了权威文献来分配标签。 如果存在强烈的癌症存在(即 T 1–3、N 1–3 和等级 2–4),我们将病例标记为类别 0(表示低存活率)。 对于 ELN,先前使用 SEER 数据集的研究[30],[31]建议对 T1 阶段诊断使用至少 8-9 个 ELN,对 T2 阶段诊断使用 37 个 ELN,对 T3 阶段诊断使用 87 个 ELN。 由于 ELN 并非直接导致死亡,因此在标记期间不考虑该属性。
种子的选择
我们使用了原始数据集中的现有患者记录作为种子(即起点)来生成合成测试集。 我们从 IHM 数据集中选择了真实的非死亡患者病例,这些病例表现出健康的属性值。 种子的选择方式如下。 对于基于属性的测试用例生成,我们按照两个标准从 MIMIC-III 类别 0(存活病例)中随机选择了种子。 首先,(48 小时的)平均属性值在补充表 [13](https://www.nature.com/articles/</articles/s43856-025-00