
-
生物通官微
陪你抓住生命科技
跳动的脉搏
基于可解释机器学习的慢性冠状动脉疾病预测模型构建及文本特征价值挖掘
【字体: 大 中 小 】 时间:2025年09月23日 来源:Frontiers in Cardiovascular Medicine 2.9
编辑推荐:
本研究创新性地利用易获取的文本数据与结构化数据构建慢性冠状动脉疾病(CCD)预测模型,通过随机森林(RF)算法实现0.93的AUC值,并采用SHAP算法解析关键文本特征(如"胸痛"、"胸闷")与结构化特征(如年龄)的决策贡献,为基层医疗和院前筛查提供低成本、高精度的预测试概率(PTP)评估工具。
慢性冠状动脉疾病(CCD)是全球发病率和死亡率的主要诱因之一,准确预测CCD仍是临床实践中的重大挑战。预测试概率(PTP)评估在该疾病管理中起着关键作用,2023年CCD管理指南明确将其整合至整个诊断评估流程中。当前PTP模型主要依赖院内影像数据、实验室检测参数及临床医生对症状特征的主观评估,这限制了模型在院前急救和初级卫生保健等场景中的应用。
患者就诊时产生的大量病情描述文本信息蕴含重要诊断价值,但因其非结构化、体积大、结构多变及缺乏统一评估标准,难以被充分用于疾病预测模型开发。随着人工智能技术的快速发展,文本挖掘与机器学习(ML)在医疗领域的应用显著增加,为从患者主观描述、临床记录和病史文本中提取关键信息提供了新的技术路径。
本研究采用双中心、观察性、回顾性设计。研究对象为2022年1月1日至2024年12月31日期间在皖南医学院第一附属医院和第二附属医院内科就诊、主诉为CCD相关症状的成年患者。为缓解CCD患者数据不足问题,心内科数据收集时间扩展至2019年1月1日至2024年12月31日。参考既往研究,CCD相关症状包括:胸痛、呼吸困难、胸骨后不适、疲劳、心悸、头晕、恶心、剑突下不适、上腹部不适、颈部不适、肩部放射痛、下颌放射痛和手臂疼痛。
排除标准包括:急诊入院或转院患者;出院诊断不明确的病例;涉及心力衰竭或心功能下降的病例(因其可能源于多种心血管疾病且不作为主要诊断)。
通过电子病历(EMR)系统提取关键数据,包括入院途径、住院次数、住院时间和主要诊断。使用患者识别号作为唯一标识符确保数据唯一性和一致性。主要诊断用于判断是否属于CCD。建模数据包括主诉、现病史、既往史、吸烟饮酒史、生命体征(体重、体温、血压、脉搏)和人口统计学信息(年龄、性别)。
对存在明显错误的结构化数据人工校正,并采用K近邻(KNN)算法填补缺失值(k=3)。同时从文本数据中去除标注信息以避免疾病分类干扰。
为将高维文本数据转换为适合建模的数值格式,采用结巴中文分词工具将文本分解为独立词汇单元,随后使用TF-IDF(词频-逆文档频率)方法对分词特征进行向量化。该方法同时考虑词频和逆文档频率,有效量化词汇在文本中的重要性。
在分词阶段,引入自定义词典确保医学术语的完整性,并去除停用词以减少数据噪声。自定义词典和停用词表基于哈尔滨医科大学医学专业停用词词典和清华大学THUOCL医学术语表开发,同时结合皖南医学院附属医院EMR数据库数据,总结出心内科特有的"自定义词典"和"停用词表"。
TF-IDF计算公式为:
wx,y = tfx,y × (N/dfx)
其中wx,y表示词x在文档y中的TF-IDF权重,tfx,y表示词频,dfx表示文档频率,N表示文档总数。
为降低过拟合风险并增强模型可解释性,本研究采用方差选择方法结合专家意见进行目标特征选择。所选特征均满足P值<0.01,标准化连续特征的方差阈值设为0.5,分类特征方差阈值设为0.05,高维稀疏文本特征方差阈值设为0.001。同时参考专家经验和既往研究结果,最终确定纳入模型的特征变量。
考虑到模型包含分类特征、连续特征和文本特征,在模型构建阶段比较了多种机器学习算法,包括线性算法(逻辑回归)、树基算法(随机森林,RF)和聚类算法(K均值聚类,KNN)。采用受试者工作特征(ROC)曲线、精确度、召回率、准确率和F1分数评估模型性能,最终选择ROC曲线下面积(AUC)值最优的模型作为预测模型,并与文献中既有模型进行AUC比较以验证其竞争优势。
本研究采用基于博弈论的SHAP(Shapley加性解释)算法将模型预测分解为个体特征贡献,计算公式为:
φi = ∑S?N?{i} [|S|!(n-|S|-1)!/n!] [v(S∪{i}) - v(S)]
其中φi表示第i个特征的SHAP值,S为不包含特征i的任何子集,v(S)表示仅使用子集S特征时模型的基线预测。权重项取决于子集大小和总特征数n。计算过程需要遍历所有不包含特征i的子集,计算加入该特征后的边际预测变化,并通过加权聚合得出每个特征的贡献值。所有SHAP值之和等于模型预测与基线之间的差距,确保了解释的一致性。
使用TreeExplainer工具计算全局SHAP值,生成摘要图可视化特征重要性并识别关键预测因子。为深入探索模型对单个样本的决策逻辑,采用KernelExplainer工具计算SHAP值提供局部解释。
共纳入21,855例具有CCD相似症状的患者,其中7,449例归入CCD组(包括6,196例冠心病、401例心绞痛、337例冠状动脉心肌桥),14,406例归入非CCD组(包括1,276例肺部感染性疾病、102例哮喘、2,047例消化系统炎症、3,574例心律失常)。
CCD组患者普遍年龄较大、男性比例较高、收缩压较高而舒张压较低,这些差异具有统计学意义。
通过结合方差选择方法和专家意见,最终确定7个结构化特征(性别、年龄、体温、脉搏、舒张压、吸烟、饮酒)和129个文本特征。对非正态分布特征进行标准化处理,将数据集按8:2比例划分为训练集和验证集。
采用网格搜索算法结合五折交叉验证优化超参数后,成功构建RF、KNN和逻辑回归模型。模型评估显示RF模型表现最佳,AUC高达0.93(95%CI,0.93-0.94),显著优于KNN模型(AUC=0.88)和逻辑回归模型(AUC=0.91)。进一步分析RF模型分类性能指标显示,其准确率、精确度、召回率和F1分数(0.86、0.82、0.78、0.80)均优于另外两个模型。
多模型横向比较分析显示,本研究开发的CCD模型具有显著诊断效能,AUC为0.93,显著高于仅基于基础数据构建的模型(AUC=0.76)和基于面部图像的深度学习模型(AUC=0.73),但略低于结合临床心电图数据、影像学检查结果和功能评估(如斜坡试验)的模型(AUC=0.95)。
采用SHAP算法对RF分类模型进行解释分析,按平均绝对SHAP值降序排列的前20个重要特征中,文本变量"否认"、"胸痛"、"拒绝"和"胸闷"排名靠前。对于"胸痛"和"胸闷",较高的TF-IDF值对判断CCD阳性诊断价值较大;而对于"否认"和"拒绝"等变量,较高的TF-IDF值对判断CCD阴性诊断更为重要。在结构化数据中,随着年龄值增加,其对诊断CCD阳性的参考价值更高。
基于SHAP局部可解释性对个体案例的分析显示,当文本信息提及"胸痛"但其他特征风险较低时,模型SHAP值低于预期值,驱动模型做出正确阴性预测;当文本特征同时包含"胸痛"、"胸闷"和"活动"时,这些特征共同贡献使SHAP值高于预期值,驱动模型做出正确阳性预测。
本研究创新性地利用易获取的文本数据与结构化数据构建了经济高效的CCD预测模型,模型AUC高达0.93,在初级卫生保健和院前分诊等领域具有潜在应用价值,研究进一步凸显了文本数据在疾病预测中的重要作用。
与既往基于规则的风险因素提取系统相比,本研究采用算法处理文本数据,显示出更广泛的适用性。针对中文医学文本处理的特殊挑战,研究基于优秀的结巴中文分词工具,结合医学专业知识并紧密贴合临床医生书写习惯,优化了通用停用词表和自定义词典,成功去除冗余信息,保留了对疾病诊断有价值的内容。
与基于生化指标、心电图和斜坡试验构建的机器学习模型相比,虽然本研究模型略逊于其诊断效能,但由于其数据基础依赖于院内诊断数据,模型输出更接近后测试概率而非前测试概率,这限制了该模型的应用场景。本研究通过计算文本中关键词的TF-IDF值成功建立的CCD预测模型,可应用于院前筛查和早期诊断。
在本研究开发的模型中,基于决策树的集成算法(RF模型)在性能上显著优于KNN和逻辑回归模型。这一优势可能源于多个因素:树基算法对高维稀疏特征更具鲁棒性;决策树通过递归特征分裂策略有效降低特征空间复杂度;识别非线性模式的能力至关重要;集成方法通过聚合多个决策树的预测进一步增强了这一优势,抵抗过拟合问题。
本研究存在若干局限性:使用的NLP算法相对基础;患者症状描述的专业性、一致性和完整性受医生能力和记录者主观判断影响;模型仅基于安徽省芜湖市三级医院数据开发,其在不同地区和机构级别的适用性需要进一步验证。
研究结果证明了通过整合文本和结构化数据开发经济有效的CCD预测模型的可行性。该模型能准确预测患者的前测试概率,并应用SHAP方法解释其决策机制。这种基于文本的模型预计具有广泛适用性。
生物通微信公众号
知名企业招聘