
亚太医学
Journal of Medicine in the Asia-Pacific
- 主办单位:未來中國國際出版集團有限公司
- ISSN:3079-3483(P)
- ISSN:3080-0870(O)
- 期刊分类:医药卫生
- 出版周期:月刊
- 投稿量:1
- 浏览量:190
相关文章
暂无数据
基于随机森林的粒子群优化预测心脏病风险
Random Forest-based Particle Swarm Optimization for Predicting Heart Disease Risks
引言
在全球范围内,心脏病对公共卫生有着深远的影响,影响着数百万人的生命健康,仍然是全球主要的死亡原因。老龄化人口和生活方式不健康人群的发病率上升凸显了早期预测的紧迫性。有效的风险评估可实现及时干预,减少突发心脏事件并提高生存率。机器学习(ML)和大数据的进步为分析医学数据集的模式提供了机会,为更好地辅助临床心脏病的预测和诊断,需要构建准确的人工智能模型处理大量的临床数据,但当前的模型难以解决数据不平衡、可解释性和稳健性的问题。不完整、嘈杂或不平衡的数据集会降低准确性,数据类别不平衡会影响模型的性能,冗余、共线或缺失特征(例如,胆固醇、血压)阻碍了模型的泛化性。现有研究中RF对过拟合的敏感性、对高方差特征的偏向以及对类不平衡的处理不佳。XGBoost内置缺失值处理、特征重要性评估和早停机制,这也导致了其可解释性较随机森林较差,且ML黑盒性质限制了临床信任。基于此,本研究旨在通过特征工程、数据增强和可解释性工具优化随机森林(RF)模型,从而解决这些问题。使用不同的算法构建心脏病预测模型,使用SMOTE、RFE和超参数调整优化RF,以提高准确性、F1分数和ROC-AUC。集成SHAP/LIME以实现可解释性。构建一个临床可使用的准确性高的模型,并可以通过模型辅助临床的诊断准确性。
1 研究方法
1.1 研究设计
现在机器学习算法在多种场景中被广泛应用。随机森林通过自助采样、特征随机性和集成机制,天然具备处理多类不平衡数据的能力。但是在极端不平衡或高维数据场景中,建议进一步探索梯度提升树(如XGBoost、LightGBM)或深度学习模型的适应性。而SVM在小样本、高维数据中具有优势,但在不平衡场景中需要针对性优化。因此本研究将对比三种算法的预测性能,选择最佳算法。在本研究中所采用的工作流程包括:数据收集、预处理、特征工程、建模等步骤
1.2 数据处理
1.2.1 数据集描述
本研究使用的数据是来自UCI机器学习库的心脏病数据集,这是一种经典的多类别分类,可以预测患者是否患有心脏病。该数据集包含来自四个数据库的记录:匈牙利、克利夫兰、瑞士和弗吉尼亚长滩。本研究主要利用克利夫兰数据库的预处理数据。目标是根据各种生理和临床特征预测心脏病的类型,并将患者分为不同的心脏病类别。
克利夫兰数据库共计实例数量303,其中6个包含缺失值;根据患病程度分为0-4共计五类,是个多分类任务;特征数量13。
| 序号 | 属性名称 | 医学意义 | 数据类型/取值 | 关键说明 |
|---|---|---|---|---|
| 1 | age | 患者年龄 | 连续型(岁) | 取值范围29-77岁 |
| 2 | sex | 性别 | 0=女,1=男 | 男性占比约68% |
| 3 | cp | 胸痛类型 | 1-4(典型→无症状) | 心绞痛类型与患病风险正相关 |
| 4 | trestbps | 静息血压 | 连续型(mmHg) | 94-200mmHg,高血压预警值>140 |
| 5 | chol | 血清胆固醇 | 连续型(mg/dl) | 正常值<200mg/dl,异常值最高达564 |
| 6 | fbs | 空腹血糖 | 0/1(阈值120mg/dl) | 糖尿病风险指标 |
| 7 | restecg | 心电图结果 | 0-2(正常→左室肥大) | ST-T波异常提示心肌缺血 |
| 8 | thalach | 最大心率 | 连续型(次/分) | 运动耐受指标,71~202次/分 |
| 9 | exang | 运动心绞痛 | 0/1 | 存在者患病风险增加 |
| 10 | oldpeak | ST段压低 | 连续型 | 心肌缺血程度,范围0-6.2 |
| 11 | slope | ST段斜率 | 1-3(上坡→下坡) | 下坡型与冠心病强相关 |
| 12 | ca | 主要血管数 | 0-3 | 荧光显影可见堵塞血管数 |
| 13 | thal | 地中海贫血 | 原始:3/6/7
处理后:0-2 |
血流异常类型诊断 |
1.2.2 数据预处理
A.数据清洗
缺失值处理:在临床数据集中,缺失值是不可避免的,如果不以适当的方式处理,会导致模型偏差或预测结果不准确。处理缺失值的几种常见方法是删除缺失值数据,用某种统计度量均值、众数、中位数、线性插补、KNN插补以及分组列填充等。
图2针对数据集的特征进行柱状图分析,直观地反映了各个特征中数据的分布。
异常值检测:数据库中的异常值(Outliers)指明显偏离数据集中其他观测值的数值,可能由数据录入错误、测量误差或真实极端事件引起。这些异常值通常会对模型的训练造成负面影响,使模型准确性降低等,通常我们在数据预处理中使用箱线图、Z-score、Tukey's fences、Isolation Forest等方法进行异常值检测,以便进行后续的异常值处理。
异常值处理:对于检测出的异常值,本研究使用列中位数进行替换。
B.数据标准化
数据标准化是消除数据量纲差异、提升模型性能的关键步骤,尤其在医疗数据(如心脏病数据集)中,不同指标(如年龄、血压、胆固醇)的数值范围差异显著,需通过标准化处理确保分析可靠性。
常用的数据标准化方式有:
Z-score标准化:
核心公式:
- X:原始数据值
- μ:数据列的均值(Mean)
- σ:数据列的标准差(Standard Deviation)
计算步骤:
- 计算每个特征列的均值(μμ)和标准差(σσ)。
- 对每个数据点进行线性变换,使其均值为0,标准差为1。
Min-max标准化(归一化):
- 核心公式:将数据缩放到[0,1]区间假设原始数据集为X={x1,x2,⋯,xn},其中xi表示第i个数据点。首先,需要找出数据集中的最小值min(X)和最大值max(X)。然后,对于每个数据点xi,使用以下公式进行标准化:
其中,xi′是标准化后的数据点,其值在0到1之间。如果想要将数据映射到其他区间,比如[a,b],则公式可以修改为:

本研究采用Z-score标准化。
C.数据划分
本研究将预处理后的数据集80%划分为训练集,剩余20%作为训练集。
1.2.3 特征选择和特征工程
特征选择和特征工程都是机器学习中的关键步骤,能够提高模型性能、降低运行复杂性和增强可解释性。特征选择从原始特征中筛选出对目标变量预测能力最强的特征,去除冗余或无关特征,特征工程则通过数据转换、组合或构造新特征,提升原始数据的表达能力。本研究使用RFE选择10个特征:age, cp, trestbps, chol, thalach, exang, oldpeak, slope, ca, thal。将分类变量转换为二进制指示变量:
原始:0-4(患病程度)
处理后:0=无病,1=有病
1.2.4 通过超采样技术处理数据不平衡
SMOTE获取少数类样本,并尝试找到该样本的“k”个最近邻,通过将原始样本与其最近邻插值来创建合成样本。以此来增加少类数据的数量,保证数据集各类样本数量平衡,有助于训练模型。
原始大小:303,过采样后大小:820
1.3 模型构建
创建随机森林、SVM、XGBoost模型,并使用划分好的训练集进行模型训练。
随机森林是一种基于Bagging(Bootstrap Aggregating)的集成学习算法,通过构建多棵决策树并投票(分类)或平均(回归)输出结果。
SVM:(Support Vector Machine)
一种监督学习算法,通过寻找最大间隔超平面(Maximal Margin Hyperplane)分离不同类别的数据。
XGBoost(eXtreme Gradient Boosting):一种基于Boosting的梯度提升决策树(GBDT)算法,通过迭代优化损失函数,逐步减少预测误差。
1.3.1 随机森林超参数调整
在这项研究中,我们使用了scikit-learn库的RandomForestClassifier来构建随机森林模型,由于随机森林模型需要构建多棵决策树,那么树的数量和特征的最大数量也需要在构建模型时进行选择,此时我们需要对随机森林模型超参数进行优化。
本研究使用粒子群优化算法优化随机森林,以此来对随机森林模型进行超参数调整,找到最佳参数组合使其达到最佳的性能。
粒子群优化(PSO)是一种基于群体智能的元启发式算法,模拟鸟群或鱼群的社会行为,通过个体(粒子)间的信息共享与协作,在解空间中寻找最优解。
1.4 模型评估
使用准确度、精确度、召回率、F1分数和ROC-AUC评估性能。SHAP和LIME提供了模型的可解释性,揭示了特征的重要性。
1.5 方法论
本研究引入了一种混合方法,使用三种不同的算法在心脏病数据集上进行预测,并使用优化算法提升准确度,完成模型的评估。除了提高预测准确性外,本研究还使用SHAP and LIME分析,解决了机器学习的黑箱特性在临床应用的限制问题,使临床专业人员更容易理解和信任模型输出,从而促进了其在临床实践中的采用。机器学习的优势在于其高效处理数据的能力。模型较大规模的数据集中自动发现关系并分类,而不依赖于人类的参与。在这项研究中,我们采用随机森林、SVM、XGBoost模型来解决多类分类挑战,通过粒子群优化随机森林性能和稳定性。
2 结果
2.1 模型评估
图4 模型性能评估折线图
图4通过直观的折线图显示出PSO算法优化的随机森林模型与SVM、XGBoost模型的性能对比,其中包括在测试集上的准确度、精确度、回归分数、F1分数和ROC。
2.2 特征重要性分析
根据SHAP分析结果分析:
| 特征 | 临床意义解释 |
|---|---|
| thalach | 最大心率越高,模型预测的患病风险可能越低 |
| age | 年龄对不同患者的影响差异大,可能与胆固醇等特征存在交互作用(如老年人胆固醇影响更显著) |
| chol | 血清胆固醇水平升高与更高的心脏病风险显著相关(符合医学常识) |
| trestbps | 静息血压对模型预测的直接影响较弱,可能需结合其他特征(如运动血压)综合判断 |
| cp | 不同胸痛类型对风险预测的影响复杂:
• 典型心绞痛(如cp=1)可能关联高风险 • 无症状胸痛(cp=4)可能无显著影响 |
本研究使用LIME来评估每个特征对特定样本的贡献,旨在提高模型预测的可解释性。
3 讨论
3.1 主要发现
通过三种模型预测性能的对比,PSO优化的随机森林模型在测试集上达到87%的准确性和97%的召回率,在本研究所构建的三个模型中,性能最优。并通过SHAP和LIME进行特征分析,保证了模型的可解释性,为模型的临床应用提供了方便。
3.2 创新点
本文采用先进的数据预处理技术,使用SMOTE过采样技术,解决了数据类别不平衡的问题,同时,将数据集扩展到一个相对多的水平(820),有利于保证模型的稳定性。
本研究使用SHAP和LIME帮助我们理解了随机森林模型是如何做出决策的。该研究通过识别这些关键因素,弥补了机器学习预测与实际临床见解之间的差距。
本研究使用先进的超参数调整方法,使用PSO对随机森林模型进行超参数优化,得到参数最优组合。
本研究对比XGBoost、SVM和随机森林模型,对模型的性能进行评估,并最终得出预测性能最优的随机森林模型。
3.3 研究意义
构建了PSO优化下的随机森林模型,在数据集上展现出高预测精度,实现了人工智能完成心脏病分类诊断。推动人工智能模型在临床医学中的应用。
对于特征对分类结果的影响进行解释,解决了人工智能的不透明决策问题,保证了临床应用的可信度。
证实了胆固醇水平(chol)和最大心率(丘脑)等特征对于心脏病发病的影响,同时可将其应用于其他特征分析预测疾病的场景,为这些场景提供了一个准确的可解释的人工智能预测模型。
3.4 未来研究方向
PSO优化的随机森林模型虽然在测试集上达到了较高的精度(87%),但我们仍需要提高其预测精度以保证临床测试结果的严谨性和可信度。
PSO优化的随机森林模型具有优秀的预测性能和可解释性,未来可将其应用于其他医疗场景例如乳腺癌预测等。
XGBoost是一个梯度提升算法,在本研究中取得83%的准确度,我们可以通过增加迭代次数提升其预测准确性,并将优化后的算法应用于其他医疗场景。
本研究所使用的为公开数据集,我们在训练模型时,希望得到更多更全面的数据集来训练模型,因此需要扩展数据集。
在临床应用中,我们需要一个鲁棒性极高的模型,因此要排除异常值对模型智能分类结果的影响。
4 结论
本研究我们成功地使用三种不同的算法搭建了心脏病预测模型,并通过模型评估选择PSO优化后的随机森林进行模型构建,在测试集上达到了87%的准确性和97%AUC,可以用于预测心脏病的风险。此外,我们使用SHAP和LIME方法,确保了模型分类过程的透明度,提升了模型的可解释性。这些研究提供了将该模型用于临床环境中的可行选择,并且可以作为早期心脏病检测和个性化治疗计划的有价值和可解释的工具。在未来,研究重点将放在提升模型的准确性和鲁棒性,扩大多模态数据集,并使用不同的特征训练模型,使模型能够广泛地应用于除心脏病以外的其他疾病。
参考文献:
- [1] Janosi A,Steinbrunn W,Pfisterer M,et al.Heart Disease.UCI Machine Learning Repository[EB/OL].(1988-06-30)[2025-05-14].https://doi.org/10.24432/C52P4X.
- [2] 彭志杭,杨丽黎.临床决策支持系统在心血管疾病防治中的应用进展[J].护理与康复,2023,22(03):92-95.
- [3] 肖文铉,赵珅,江一舟.肿瘤大数据与人工智能在肿瘤诊疗中的应用现状、挑战与未来展望[J].中国科学基金,2025,39(01):153-161.
- [4] Mohammadi A ,Shokohyar S .Applications of Artificial Intelligence in Personalized Cardiac Care [J].Digital Chinese Medicine,2025,8(01):28-35.
- [5] Nouman A,Muneer S.A systematic literature review on heart disease prediction using blockchain and machine learning techniques[J].Int J Comput Innovative Sci,2022,1(04):1-6.
- [6] 张蕊,郑黎强,潘国伟.疾病发病风险预测模型的应用与建立[J].中国卫生统计,2015,32(04):724-726.
