摘要
冠状动脉疾病(CAD)是由于脂肪物质堆积导致心脏无法获得足够富氧血液的一种疾病,是全球死亡的主要原因。由于其症状可能在心脏病发作前无法被识别,早期诊断至关重要。在本文中,我们介绍了SHAP优化包装器(SHOW)特征选择算法,该算法分两步工作。首先,使用XGBoost、随机森林(RF)和支持向量机(SVM)分类器开发SHapley可加性解释(SHAP)方法,基于诊断重要性对特征进行排序。其次,采用优化的顺序前向选择包装技术,评估排序后的特征以选择最优子集。为验证该算法,我们将其用于七个分类器来分类三个公开的CAD数据集。这些分类器包括XGBoost、RF、SVM、决策树(DT)、逻辑回归(LR)、K近邻(KNN)和多层感知器(MLP)。数据集包括Z-Alizadeh Sani、Cleveland和Statlog。通过分层10折交叉验证和细致的超参数调优,结果表明SHOW算法在准确率和所选特征数量方面显著优于14种最先进的竞争算法,同时在临床相关指标如敏感性、特异性、AUC和F1分数上表现优异。例如,使用XGBoost分类器,该算法从Z-Alizadeh Sani数据集中选择14个特征(共55个),达到93.79%的准确率、93.98%的敏感性、89.81%的特异性、0.97的AUC和93.98%的F1分数;从Cleveland数据集中选择5个特征(共13个),达到86.52%的准确率、88.55%的敏感性、85%的特异性和84.84%的F1分数;从Statlog数据集中选择5个特征(共13个),达到87.78%的准确率、80%的敏感性、92.67%的特异性和85.18%的F1分数。这些数据是14种竞争算法中没有任何一种能够匹敌的。
引言
心血管疾病(CVDs)是一类影响心脏和血管的疾病。它们包括冠状动脉疾病(CAD)、脑血管疾病(中风)、外周血管疾病、心力衰竭、风湿性心脏病(RHD)、先天性心脏病和心肌病。CVDs是全球死亡的主要原因。世界卫生组织(WHO)在2021年的一份报告中指出,2019年约有1790万人死于CVDs。这一数字占全球死亡人数的32%,其中85%由心脏病发作和中风导致。此外,在2019年全球十大死亡原因中,CAD(也称为缺血性心脏病)是死亡的首要原因。WHO还估计,到2030年,CAD将导致约2360万人死亡。
CAD是一种影响向心脏供血的血管的疾病。当斑块积聚使冠状动脉变窄或阻塞,导致动脉壁阻塞(称为动脉粥样硬化)时,就会发生这种情况。由于症状可能在心脏发作后才能被识别,早期诊断和治疗对于降低死亡率至关重要。
CAD的诊断需要专业设备和训练有素的医疗专业人员。常见的诊断方法包括血液测试、血管造影和心电图(ECG)。尽管这些方法各有优缺点,但通常成本高昂并可能导致一些不良副作用。令人担忧的是,超过75%的CAD病例报告来自中低收入国家,这使得CAD检测阶段在经济上不可行。因此,许多人因为未能及时进行诊断而在相对年轻的年龄死于CAD。
过去几十年,人们在开发医疗保健领域的计算机辅助系统方面做出了重大努力。沿着这一方向,可以开发经济有效的方法来检查一些物理和生化指标以诊断CAD。特别是随着信息技术的不断发展,通过检查某些参数而不是依赖昂贵医疗设备的结果来诊断CAD已成为可能。正如最近的一项综述所强调的,有149项研究专注于使用机器学习(ML)技术诊断CAD。除了传统ML方法外,基于集成的ML方法通过结合多个学习器来提高稳健性和诊断性能,在疾病诊断任务中表现出强大的有效性。最近,深度学习方法也被研究用于CVDs诊断。在一项研究中,将集成变换器编码器与残差卷积网络相结合的混合框架被用于对来自心音图记录的心音信号进行分类,在多种分类场景中表现出良好的性能。
医疗数据集通常包含大量无关或/和冗余特征。包含这些特征会导致分类任务中的三个主要问题:减慢学习过程、增加过拟合风险以及降低模型性能。因此,降维(DR)至关重要,因为它在分类过程中作为预处理步骤发挥着关键作用。
DR技术通常分为特征提取和特征选择方法。在特征提取方法中,目标是从原始数据中捕获最相关信息并将其表示在低维空间中。常用的特征提取技术包括主成分分析(PCA)、t分布随机邻域嵌入(t-SNE)、线性判别分析(LDA)和典型相关分析(CCA)。在特征选择方法中,通过移除不必要的或冗余特征来减少特征空间的维度,同时保持模型的预测性能。最近出现了几种特征选择方法,通常分为四类:过滤、包装、嵌入和混合。
过滤方法以其可扩展性而闻名,独立于ML算法运行。它们通过基于统计度量评估数据的内在属性来选择最相关的特征。尽管它们能提高预测准确率,但与包装和嵌入方法相比表现较差。一些常用的统计度量包括信息增益(IG)、最小冗余最大相关性(mRMR)、Relief-F、基于相关性的特征选择(CFS)、卡方(X²)和对称不确定性(SU)。包装方法通过评估ML模型的性能来评估各种特征子集。虽然它们通常能给出更好的结果,但需要大量的计算资源。此外,它们仅给出最优特征集,而不阐明这些特征对模型行为的贡献。前向特征选择(FFS)、后向特征消除(BFE)和递归特征消除(RFE)是最常用的包装方法。
前向特征选择 一种迭代方法,从空模型开始。最初,使用每个特征单独训练模型,并选择导致最高分类准确率的特征。接下来,使用所选特征和剩余集合中一个额外特征的组合训练模型,选择实现最佳分类准确率的特征对。此迭代过程继续,直到找到相对于所有其他评估子集具有更优分类准确率的特征子集。
后向特征消除 一种从包含所有可用特征的模型开始的方法。然后,在每次迭代中,根据特定评估标准确定的最不重要特征被消除。此过程重复,直到特征移除不再提高性能。
递归特征消除 一种应用后向选择过程以识别最优特征集的方法,其中首先使用所有特征构建模型,并计算其重要性分数。接下来,对特征进行排序,并根据某些模型评估指标迭代移除较不重要或冗余的特征,直到模型仅包含所需数量的特征。
嵌入方法结合了过滤和包装方法的优点。它们由拥有内置特征选择方法的ML算法实现,通常仅揭示特征重要性的大小,而不解释其对模型的具体影响。最广泛使用的嵌入方法包括岭回归和最小绝对收缩和选择算子(LASSO)。除了传统的特征选择方法外,可解释人工智能(XAI)已成为选择相关特征的有力工具。
XAI旨在通过提供使ML模型决策过程对人类可理解的方法来增强模型的可解释性。XAI中的常见技术是识别特征归因—量化每个输入特征对模型输出贡献的分数。具有低归因分数的特征被认为影响最小,因此可以在不影响模型性能的情况下移除。XAI方法不属于传统的特征选择类别,而是代表一类单独的方法,通常称为基于可解释性的方法,并与嵌入方法有一些相似之处,其中特征重要性来自训练的ML模型。此外,XAI方法考虑特征交互、时间依赖性以及特征影响模型的方式。一些广泛使用的XAI方法包括SHAP、置换特征重要性(PFI)和局部可解释模型无关解释(LIME)。由于每种特征评估方法都有其优缺点,混合方法集成了各种类型的特征选择方法以利用它们的互补优势。在许多情况下,这些混合方法优于独立方法。在本研究中,我们提出了一种名为SHOW的混合特征选择方法。
本研究的主要目标是开发一种用于CAD诊断的高效特征选择方法,该方法在多个CAD数据集上使用最少数量的特征实现高诊断准确率。这是通过将基于集成的SHAP特征排序方法与优化的顺序前向选择包装技术相结合来实现的。
本研究的主要贡献总结如下:
- 提出了一种名为SHOW的新型两阶段混合特征选择算法。在第一阶段,将SHAP可解释AI技术应用于三种精心选择的分类器—根据最近研究因其在CAD诊断中的证明有效性而选择—根据其诊断重要性对特征进行排序。获得的基于SHAP的排序通过集成策略进行聚合,以产生更稳定和可靠的特征排序,同时减轻特定于分类器的偏差。在第二阶段,应用由基于SHAP的特征排序指导的优化顺序前向选择包装技术。与传统顺序前向选择不同,后者在每次迭代中穷举评估所有剩余候选特征,所提出的优化策略仅考虑下一个排名最高的特征。仅当包含候选特征能提高分类性能时才保留它;否则将其丢弃。该策略显著减少了冗余评估和计算开销,同时保持了诊断性能。
- 据我们所知,本研究是首批明确将SHAP用作CAD诊断的基于集成的特征排序工具的研究之一。
文章其余部分组织如下。第2节回顾了最近的相关工作。第3节描述了所提出的CAD诊断系统。第4节详细说明了实验条件、获得的结果以及与其他最先进的研究的比较。最后,第5节总结了文章并讨论了未来研究方向。
相关工作
近年来,针对所提出系统的每个组件进行了大量研究。关于ML模型,许多研究已经解决了它们在诊断CVDs方面的应用。在一项研究中,作者对各种ML算法进行了全面调查,用于高效预测、诊断和治疗各种心脏病,重点介绍了十种算法:多层感知器(MLP)、随机森林(RF)、K近邻(KNN)、J48、人工神经网络(ANN)、支持向量机(SVM)、朴素贝叶斯(NB)、逻辑回归(LR)、决策树(DT)和C4.5。他们得出结论,预测准确率最高的ML模型是ANN、J48和RF,而预测准确率最低的模型是KNN、C4.5、DT和MLP。
在另一项研究中,比较了五种ML模型的性能,即CART、NB、RF、Bagged Trees和AdaBoost。结果表明RF在预测CVDs风险方面取得了最佳结果。关于RF优越性的类似观点在另一研究中也有报告,作者使用四种监督ML算法训练和测试模型来预测CVDs状态,将传统LR作为基准模型。他们的结果显示,RF在性能指标方面显著优于其他ML算法和LR。另一项研究提出了不同观点,作者报告称极端梯度提升(XGBoost)模型在他们比较XGBoost、RF、LR和轻量级梯度提升机(LightGBM)的实验中表现出优越性能。在一项研究中,作者使用由基础学习器和元学习器组成的两级堆叠框架开发了CVDs预测模型。基础级别包括十种不同的分类器,如基于实例的(例如KNN)、集成的(例如GBM和XGBoost)和概率模型(例如NB),以利用它们的互补优势。使用MLP作为元学习器,堆叠分类器比传统ML分类器表现出更优越的性能。
在CAD诊断的ML相关研究中也有其他相关研究。在一项研究中,使用了六种ML分类算法,即SVM、LR、LightGBM、XGBoost、高斯朴素贝叶斯(GNB)和RF算法,用于开发CAD风险预测模型。实验结果表明,RF算法提供了更好的准确率,其次是SVM和LR。在另一项研究中,LASSO LR和RF被应用于开发早发CAD的风险预测模型,结果表明RF模型具有更好的预测性能,适合临床实践。
在一项研究中,使用一些ML算法,包括MLP、SVM、LR、J48、RF、KNN和NB,为CAD提供诊断模型。基于比较的性能指标,他们证明SVM和RF是最有效的ML算法,但在这些算法中,KNN效率最低。这一观点在另一研究中有所不同,该研究利用SVM和XGBoost算法训练和测试模型。他们报告了XGBoost分类器准确率百分比有4.92%的显著差异,突出其作为CAD诊断的优越和高效选择。这一观点也在另一研究中得到支持,作者对六种ML算法—LR、SVM、DT、XGBoost、Bagging和LightGBM—进行了比较分析,并得出结论XGBoost是表现最好的模型,强调其能够显著提高心肌梗死的预测准确率。
在一项研究中,应用包括SVM、KNN、随机树(RT)、NB、GBM和LR的ML算法来构建CAD诊断的预测模型。结果表明,RF模型实现了最高的准确率和AUC-ROC,NB模型实现了最高的特异性,而SVM模型实现了最高的敏感性。在另一项研究中,在十个分类模型上评估了CAD数据集,即DT、XGBoost、RF、条件随机森林(Cforest)、LR、SVM、ANN、KNN、LDA和NB,作者发现SVM模型最适合预测CAD患者的健康状况。在一项研究中,评估了用于CAD预测的集成ML模型的性能,研究结果表明它优于单独方法,并强调其作为早期诊断和治疗的宝贵工具的潜力。
从上述研究中可以清楚地看出,对于哪种ML模型在CAD诊断中表现最佳尚无共识。性能在很大程度上取决于几个因素,包括用于训练的数据集、所选特征和参数设置。
认识到特征选择在增强模型性能中的关键作用,研究人员已将相当多的注意力投入到这一方面。在一项研究中,引入了一种先进的混合集成增益比特征选择(AHEG-FS)模型,该模型集成了四种技术,即集成特征选择、BFE、增益比特征选择和曲线下面积(AUC)。除了准确率外,AUC还被用作所提出的特征减少方法的评估指标。前两种技术产生高度显著和顶级排名特征的子集,随后使用九种ML算法对其进行评估—AdaBoost、KNN、LR、SVM、分类-聚类、提升回归树(BRT)、随机梯度提升(SGB)、RF和NB。在第三和第四种技术中,评估ML算法的AUC值,并应用BFE消除冗余特征。在四个心脏病数据集上的实验表明,所提出的模型实现了明显优越的性能。
在一项研究中,作者首先将十种传统ML算法应用于Z-Alizadeh Sani数据集,然后选择表现最好的三个模型(nuSVM、nu-SVC和LinSVM)。为进一步提高其性能,设计了一种名为新2级遗传优化器(N2Genetic optimizer)的新遗传训练技术,该技术将交叉验证与遗传算法(GA)和粒子群优化(PSO)相结合,用于参数优化和特征选择。研究结果表明,N2Genetic-nuSVM算法在CAD诊断中明显优于其他算法。在一项研究中,作者引入了一种名为异质混合特征选择(2HFS)的混合特征选择算法。他们将所提出的算法应用于四个CAD数据集,并使用RF、DT、XGBoost和GNB作为分类器。实验结果证明了所提出算法的效率。
在一项研究中,作者提出了一种使用ML的集成方法,并利用各种ML方法,包括RTs、C5.0的DT、SVM和卡方自动交互检测(CHAID)的DT进行建模。通过这些方法,根据优先级顺序选择预测特征。作者得出结论,RT模型优于其他模型。在一项研究中,作者提出了与传统PSO技术混合的情绪神经网络(EmNNs)ML模型用于CAD诊断。此外,他们实现了四种特征选择方法,即Fisher、Relief-F、mRMR和SVM加权(WBSVM),以增强所提出模型的功能。作者报告称,与基于PSO的自适应神经模糊推理系统(PSO-ANFIS)相比,所提出的称为PSO-EmNN的模型实现了最佳性能。
在一项研究中,引入了一种名为QBSO-FS的混合特征选择方法,该方法将蜂群优化(BSO)方法与Q学习相结合,以优化CAD预测的特征选择。使用各种分类器在Z-Alizadeh Sani、Cleveland和Statlog数据集上评估模型。实验结果表明,所提出的方法产生了最优特征子集,并在SVM模型上实现了最高的分类性能。在一项研究中,作者提出了一种利用关键临床特征的有效CAD诊断方法。他们的方法在Z-Alizadeh Sani数据集上应用了八种搜索策略—进化、贪婪逐步、最佳优先、排名、PSO、和谐、遗传和多目标进化搜索—进行特征选择,同时应用PCA进行特征提取,并使用AdaBoostM1进行分类。进行的实验证明了他们方法的有效性,并突显了其作为医疗从业者在CAD诊断中具有成本效益的决策支持工具的潜力。
在一项研究中,作者分析了使用贝叶斯网络、NB、RF、C4.5、MLP、投影自适应谐振理论(PART)以及集成ML算法如bagging、boosting、stacking和多数投票预测CAD的准确性。实验在Cleveland数据集上进行。结果比较表明,多数投票在准确率方面实现了最高的改进,当应用穷举特征选择方法时,其性能进一步提高。在一项研究中,提出了随机森林-特征敏感性和特征相关性(RF-FSFC)技术,其中基于敏感性的特征选择过程根据其在评估CAD风险中的价值对特征进行排序,特征相关性分析阶段检测特征之间的相似性。所提出的方法应用于Cleveland数据集。实验结果表明,与不使用集成特征选择策略的其他方法相比,RF-FSFC方法显著提高了预测准确率。
在一项研究中,研究了特征选择在优化ML算法用于CAD预测中的作用。该研究使用Cleveland数据集并应用十六种特征选择技术,分为三类:过滤、包装和进化方法。随后,使用七种ML算法—贝叶斯网络、NB、MLP、SVM、RF、LogitBoost和J48—识别最有效的模型。研究结果表明,使用CFS/IG/SU过滤方法的SVM模型实现了最高的准确率。这三种过滤器选择了相同的十个特征。在一项研究中,作者提出了一种多级集成(MTE)模型,该模型结合了基于RF的特征选择以增强心脏病诊断。该框架由三层组成,分别采用bagging、boosting和stacking集成技术。为评估模型,使用了三个数据集,即Cleveland、Statlog以及整合五个知名数据集(Cleveland、Statlog、Long Beach VA、Switzerland和Hungarian)的复合数据集。实验结果表明,所提出的模型优于其他模型。在一项研究中,作者提出了一种用于CAD预测的混合特征选择技术HRFLC(RF + AdaBoost + Pearson系数)。所提出的方法应用于不同的ML技术,并在UCI ML Repository的数据集上进行测试。作者得出结论,HRFLC技术有助于非常高效地预测疾病,并提高预测的准确率水平。
在一项研究中,评估了几种用于CAD诊断的特征选择技术,包括X²、增益比、IG、Relief-F、条件互信息最大化(CMIM)、SVM、BSO和基于领域知识(DK)的方法。作者提出了两种基于集成的方法:穷举集成特征选择(EEFS)方法和概率集成特征选择(PEFS)方法。前者在三个CAD数据集—Cleveland、Statlog和Z-Alizadeh Sani—上进行测试,而后者仅应用于Z-Alizadeh Sani数据集。两种方法均使用六种分类算法和四种集成投票算法进行评估。结果表明,MLP分类器在两种方法下在所有三个数据集上始终实现最高性能。
在一项研究中,作者提出了一种具有八种不同V形和S形传递函数的新型二进制人工原生动物优化器(bAPO)算法,该算法在十四个著名的生物数据集上进行了评估。结果表明,V形变体通常实现更高的适应度值但选择更多特征,而S形变体在保持一致分类准确率的同时提供更好的降维。在一项研究中,作者开发了一种软路径特征选择(SPFS)算法,该算法专注于积累软路径成本以识别早期冠心病(CHD)检测的关键诊断指标。该算法在最小化冗余的同时强调特征交互。在四个数据集上测试时,它表现出强大的性能,特别是在大型和不平衡数据集上,有效解决了许多现有方法难以应对的挑战。
再次,上述研究表明,没有任何特征选择方法可以在所有情况下都被认为是最好的。表1总结了本节中回顾的使用特征选择方法进行CAD诊断的现有研究,突出了主要贡献、优势、使用的数据集和局限性。
所提出的研究所设计的目的是通过共同考虑综合评估指标、评估训练和测试时间、使用多个基准数据集、解决类别不平衡以及在不损害诊断性能的情况下有效减少特征来缓解这些局限性。
关于使用XAI方法,特别是SHAP作为特征选择技术,已在多个领域进行了一些研究,尤其是在医疗领域,但用于诊断除CAD以外的疾病。在一项研究中,作者使用SHAP值对与帕金森病相关的医疗数据集执行特征选择。他们将SHAP值与四种分类器结合,即RF、LightGBM、深度森林(gcForest)和XGBoost。实验结果表明,使用SHAP特征选择的四种模型在准确诊断帕金森病方面优于使用F分数、方差分析(ANOVA)和互信息(MI)方法的模型。在另一项研究中,作者使用LASSO以及SHAP特征选择方法来识别与乳腺癌检测相关的特征,并通过广泛的性能规定对其进行分析。他们得出结论,SHAP特征选择在此分析中表现出最佳性能。SHAP也被作者应用于确定预测痴呆患者死亡率的有效特征。
基于回顾的文献,可以明显看出,尽管它们为CAD诊断提供了有价值的见解和重要基础,但由于数据集中特征类型和数量、样本大小和患者种族等多个影响因素,其报告的性能差异很大。因此,尚未建立国际公认的CAD诊断标准方法。为解决这一差距,本研究提出了一种通用CAD诊断系统,能够在不同数据集上有效工作。
材料和方法
本节描述了所提出的CAD诊断系统的概念架构,如图1所示。该系统由三个顺序阶段组成:数据准备、特征排序和优化特征选择与分类。这些阶段的详细信息如下所述。
数据准备
数据准备阶段在确保数据质量和为构建ML模型做准备方面发挥着至关重要的作用,最终提高模型的准确性和效率。此阶段涉及以下四个过程:
缺失数据处理
从数据集中排除具有缺失值的案例,而不是用合成数据进行插补。处理缺失值非常重要,因为大多数ML算法不支持缺失值,这可能会损害模型的准确性和可靠性。
分类数据编码
对数据集中的每个分类特征值,使用标签编码将其转换为数值格式。许多ML算法需要数值输入数据,编码有助于在不损害信息完整性的情况下将分类数据纳入建模过程。
不平衡数据处理
为解决数据集中类别不平衡的问题,应用了合成少数类过采样技术(SMOTE)。该方法通过在现有案例及其最近邻居之间插值来生成少数类的合成案例。在此过程中,它通过不简单复制现有案例来改善少数类的表示,从而提高模型性能。为避免数据泄漏,SMOTE在交叉验证分割后应用,并且仅应用于每次迭代中的训练折叠。
数据归一化
使用Min-Max技术对特征X的每个值x进行归一化。因此,特征X的每个值x被缩放到区间[0, 1]内的新值x_scaled,如公式(1)所示。
x_scaled = (x - min(X)) / (max(X) - min(X))
其中min(X)和max(X)分别是特征X的最小值和最大值。
SHOW算法
SHOW特征选择算法旨在通过将SHAP技术与优化包装方法相结合来增强CAD诊断的有效性。该算法在两个关键阶段运行:
特征排序
特征排序阶段旨在根据特征的重要性对其优先排序,同时确保透明度和可解释性。为此,采用基于SHAP的特征排序方法。特征排序过程的总体工作流程如图2所示。首先,使用完整的M个特征训练三个独立的分类器:XGBoost、RF和SVM。在训练每个分类器后,计算SHAP值以量化每个特征对模型预测的贡献。对XGBoost和RF模型应用TreeSHAP,而对SVM模型应用KernelSHAP。
对于每个分类器,计算数据集中所有实例上所有特征的SHAP值。然后通过在所有实例上平均绝对SHAP值获得每个特征的全局重要性。根据这些重要性分数,特征按降序排序并分配排名,其中排名1对应于最具影响力的特征。此过程产生三个独立的排名特征列表。最后,为获得稳健可靠的特征排名,使用集成策略通过计算每个特征的平均排名来组合三个独立排名。通过根据平均排名以升序对特征进行排序获得最终排名特征集,并用于后续分析。
分类器选择
在特征排序过程中,采用了三种分类器—XGBoost、RF和SVM—每种使用不同的分配机制:提升、bagging和超平面决策边界。这些分类器因其在CAD诊断中的卓越效率而被选中,如第2节中回顾的近期研究所强调的。为简便起见,基于SHAP的排序方法分别表示为SHAP-XGBoost、SHAP-RF和SHAP-SVM。
SHapley可加性解释(SHAP)
SHAP由Lundberg和Lee提出,已成为为任何ML模型提供解释的流行方法。其最重要的贡献之一是能够解释个体预测。SHAP分配Shapley值,这些值源自合作博弈论原理,表示每个参与者对最终结果的概率贡献。通过将特征表述为联盟博弈中的参与者,计算Shapley值以公平分配收益。在此背景下,参与者代表预测模型中使用的特征。特征之间的交互被视为特征"团队",其中每个特征充当为最终预测做出贡献的团队成员。因此,Shapley值被采用并定义为实例中特征在所有可能的特征组合(联盟)中的平均边际贡献。
SHAP使用简化且局部准确的模型提供解释,该模型表示为二进制变量的线性函数。此解释模型可定义如下:
g(x') = φ₀ + Σφᵢx'ᵢ
在此公式中,g是解释模型,x'⊂{0,1}^M是联盟向量。M是原始实例向量x中输入特征的数量。换句话说,M是最大联盟大小。联盟向量x'以二进制格式表示每个特征的存在或不存在:值1表示相应特征对解释有贡献,而值0表示该特征不贡献。φ₀是一个常数,指代基础值,即原始预测模型f在所有可能实例上的平均预测。项φᵢ∈ℝ表示给定实例中第i个特征的特征归因(SHAP值)。换句话说,φᵢ表示第i个特征对该实例模型预测的贡献。
SHAP为每个特征分配归因效应φᵢ,以反映其对特定预测的重要性。如图3所示,这些效应的总和g(x')近似原始预测模型f(x)的输出;因此,f(x)≅g(x')。
SHAP提供了估计每个特征归因效应φᵢ的方法。如公式(3)所示,特征xᵢ的SHAP值是添加xᵢ的增益,对所有xᵢ不存在的特征子集S加权求和。简而言之,SHAP值可以被视为xᵢ对实际预测(包含xᵢ)和平均预测(排除xᵢ)之间差异的贡献。
φᵢ = (1/M!) Σ|S|!(M - |S| - 1)!
其中f是原始预测模型,x是实例向量,M是x中输入特征的总数,φᵢ是对应于特征xᵢ的SHAP值,F表示模型中使用的所有特征的集合,S表示F的子集且不包含特征xᵢ,|S|表示子集S中的特征数量。|S|!表示S中特征的可能排列总数。(M-|S|-1)!表示剩余特征的可能排列数—即不在S中且排除xᵢ的特征。一起,乘积|S|!(M-|S|-1)!表示F中S中特征的可能排列数。M!指的是F中所有特征的可能排列数。
对于每个子集S,公式计算两个预测之间的差异:f(S∪{xᵢ})和f(S)。这里,f(S∪{xᵢ})表示当xᵢ与S中的特征一起包含时模型的预测,而f(S)表示仅基于S中特征的预测。项[f(S∪{xᵢ})-f(S)]表示xᵢ对添加到S的预测的边际贡献。因此,公式可以重写为以下形式:
φᵢ = (1/所有特征的总排列数) Σ[联盟排除xᵢ的权重×[xᵢ对联盟的边际贡献]]
在SHAP中,全局特征重要性可按如下方式评估:在计算所有实例的SHAP值后,这些值在整个数据集上聚合,以获得每个特征的平均绝对SHAP值。平均SHAP值反映了每个特征对模型预测的全局影响,而平均绝对SHAP值表示全局特征重要性,无论其正向或负向方向如何。通过根据其重要性分数按降序对特征排序,具有最高重要性分数的特征对模型预测的影响最大。第i个特征的全局特征重要性,记为Iᵢ,可使用以下公式计算:
Iᵢ = (1/n) Σ|φᵢ⁽ʲ⁾|
其中n是实例数量或样本大小,φᵢ⁽ʲ⁾是第j个实例中第i个特征的SHAP值。
SHAP提供了称为KernelSHAP的模型无关解释器,以及几种模型特定解释器,包括用于树模型的TreeSHAP、用于线性模型的LinearSHAP和用于深度学习模型的DeepSHAP。
在本研究中,SHAP被用作特征排序工具,使用三种不同的分类器,产生三种基于SHAP的特征排序方法:SHAP-XGBoost、SHAP-RF和SHAP-SVM。
- SHAP-XGBoost 对于XGBoost分类器,使用TreeSHAP计算特征归因。TreeSHAP是为树集成模型优化的模型特定解释器,通过利用树结构实现SHAP值的精确高效计算。这使其特别适合XGBoost模型,计算复杂度降低。
- SHAP-RF 同样,将TreeSHAP应用于RF分类器。由于RF也是基于树的集成模型,TreeSHAP通过聚合森林中所有树的SHAP值提供快速准确的特征贡献估计。
- SHAP-SVM 对于SVM分类器,使用KernelSHAP作为模型无关解释器。KernelSHAP通过采样特征联盟并拟合局部加权线性模型来近似SHAP值。虽然计算上比TreeSHAP更昂贵,但KernelSHAP适用于缺乏固有树结构的SVM模型。
每种基于SHAP的方法为所考虑的数据集产生单独的特征重要性分数列表。在每个列表中,特征根据其重要性分数排序,排名1表示最具影响力的特征。为获得单个稳健的特征排名,通过计算每个特征的平均排名来聚合来自SHAP-XGBoost、SHAP-RF和SHAP-SVM的独立排名,如下所述。
集成特征排序
为提高特征排序过程的稳健性和可靠性,采用集成方法而不是依赖单一排序方法。该方法结合了来自三种基于SHAP的特征排序方法的排名,利用它们的互补优势。集成过程包括三个关键步骤:
- 创建具有M行和四列的特征排名表(FRT),其中M表示数据集特征的数量。第一列列出特征名称,其余三列包含三种基于SHAP的排序方法分配的排名。
- 构建具有五列的平均排名表(ART)。第一列包含特征名称,接下来的三列存储每个特征的排名。然后计算每个特征的平均排名(AR)并记录在第五列(称为平均值)中。
- ART根据平均值列按升序排序。这确保最重要的特征出现在顶部,而最不重要的特征放在底部。
优化特征选择与分类
一旦特征按重要性从高到低排序,应用特征选择程序。整个优化特征选择和分类过程如图4所示。
优化特征选择
特征选择是ML的关键方面,因为包含无关或冗余特征会显著降低分类器性能。从数据集中选择最相关的特征有助于减少训练时间,最小化过拟合,并提高整体模型性能。此外,使用更有信息量的特征有助于促进早期诊断。如第1节所述,有四种主要的特征选择方法:过滤、包装、嵌入和混合方法,以及称为基于可解释性方法的基于XAI的方法。
在本研究中,提出了一种优化的顺序前向选择包装技术来发现最优特征子集,其中"优化"一词表示对传统顺序前向选择包装技术的指导和改进版本。在此方法中,特征选择过程从将排名最高的特征添加到空子集开始,然后使用此子集构建模型并评估其性能。随后,进行一系列迭代步骤。在每次迭代中,将下一个排名最高的特征添加到现有子集,构建模型并评估其性能。如果包含新特征提高了模型性能,则将其保留在子集中;否则将其移除。在迭代过程结束时,子集中剩余的特征是那些已证明能够提高诊断准确率的特征。为避免由初始化顺序引起的偏差,通过检查从最终选定特征子集中移除它对排名最高特征的重要性进行验证。
分类
分类技术用于将数据实例分配给预定义的类别集合。原则上,任何ML分类器都可用于CAD诊断,但在我们的实验中,我们专注于七种分类器,即XGBoost、RF、SVM、DT、LR、KNN和MLP。选择这些分类器是由关于CAD诊断的近期文献所推动的,如第2节所述。
- 极端梯度提升(XGBoost)
XGBoost是一种基于决策树的集成学习算法,应用梯度提升方法。梯度提升决策树(GBDT)方法的基本原理是生成多个弱学习器,其中每个新树都经过训练以纠正前一个树所做的预测错误。通过结合这些弱学习器,获得强学习器。此外,XGBoost提供了多种优势,包括减少过拟合的机制、调整超参数的能力以及支持并行计算以加快处理速度。
- 随机森林(RF)
RF是一种属于基于决策树算法bagging类别的集成学习算法。它构建多个决策树,其中每棵树都在特征和样本的随机子集上训练。这种随机性减少了树之间的相关性,并有助于减轻过拟合。RF集成所有决策树的分类输出,并根据多数投票确定最终类别标签。
- 支持向量机(SVM)
SVM是一种广泛应用于分类和回归问题的成熟ML算法。它在M维特征空间中创建决策边界(超平面)以分离不同类别的数据点。最优超平面被定义为最大化边距的超平面—超平面与每个类别最近数据点(称为支持向量)之间的距离。这些支持向量决定超平面的位置和方向。
- 决策树(DT)
DT是一种ML算法,以树状结构构建分类或回归模型。DT模型易于理解:每个内部节点对应于对特定特征的测试,每条分支(边)表示该测试的结果,每个叶节点指示预测的类别标签。
- 逻辑回归(LR)
LR是一种广泛用于二元分类任务的ML算法。尽管其名称,LR不是为回归任务设计的,而是用于估计输入属于特定类别的可能性。通过应用sigmoid函数执行此估计,该函数将输入特征映射到0和1之间的概率值。LR以其简单性、计算效率和易于解释而著称,突显了其作为分析技术在包括医学诊断在内的多个领域的价值。LR中使用的sigmoid函数表示为:
f(z) = 1 / (1 + e^(-z))
其中z表示输入特征的线性组合,由其各自的系数加权(即z = β₀ + β₁x₁ + β₂x₂ + ... + βₘxₘ)。
- K近邻(KNN)
KNN是一种简单的监督学习算法,广泛应用于解决分类和回归问题。它通过计算新数据点与特征空间中每个训练实例之间的距离(通常使用欧几里得或曼哈顿距离)来识别其K个最近邻居。新数据点的预测类别标签通过分配分类中最常见的类别标签或回归中类别标签的平均值来确定。
- 多层感知器(MLP)
MLP是ANN的一种类型,由输入层、输出层和它们之间的多个隐藏层组成。每层由节点(人工神经元)组成,这些节点完全连接到相邻层中的神经元。MLP遵循前馈架构,这意味着数据从输入层通过隐藏层传输到输出层而不形成环路。网络中的每个节点计算其输入的加权和,将结果乘以激活函数,然后将输出发送到下一层。在训练期间,使用反向传播等优化算法调整与节点之间连接相关的权重和偏差,以最小化预测误差。MLP广泛应用于各种任务,包括分类、回归任务、模式识别、图像和语音识别以及自然语言处理(NLP)。
为实现ML模型的最佳性能,超参数调优起着至关重要的作用。在本研究中,使用网格搜索执行超参数调优,这是识别最佳超参数集的最简单技术之一。网格搜索是一种暴力方法,为每个超参数取预定义范围的值,在所有可能的组合中评估模型性能,并最终识别产生最佳性能的组合。
为保证可靠可信的发现,本研究采用分层10折交叉验证方法。数据集被分成10个大约相等的折叠,保持每个折叠中的原始类别分布。在每次迭代中,9个折叠用于训练,剩余的折叠用于测试。此过程重复10次,使得每个折叠都曾作为测试集。在每次迭代中评估模型性能,并将10个折叠的平均性能报告为最终结果。
有许多指标用于评估ML模型的性能。在本研究中,我们使用以下指标:准确率、精确率、敏感性、特异性和F1分数,定义为:
准确率 = (TP + TN) / (TP + TN + FP + FN)
精确率 = TP / (TP + FP)
敏感性(或召回率) = TP / (TP + FN)
特异性 = TN / (TN + FP)
F1分数 = 2 × (精确率 × 召回率) / (精确率 + 召回率)
其中TP(真阳性)表示具有CAD且被模型正确诊断的案例数量,FP(假阳性)指不具有CAD但被模型错误诊断的案例数量,TN(真阴性)表示不具有CAD且被模型正确诊断的案例数量,FN(假阴性)表示具有CAD但被模型错误诊断的案例数量。
算法1说明了所提出的SHOW算法的伪代码。
实验
本节报告了为验证所提出的SHOW特征选择算法而进行的广泛实验的结果。实验工作使用三个CAD数据集进行,将在后面详细讨论。所有实验均在Jupyter Notebook (Anaconda3)中使用Python 3.11.4版本和64位Windows 10操作系统(8 GB RAM和Intel® Core™ i7-4510U CPU @ 2.00 GHz 2.60 GHz)执行。
数据集
作者进行的综合回顾报告称,有70个不同的CAD数据集可用于数据挖掘(DM)和ML领域。这些数据集来自三个大洲,在特征数量、特征特性、患者种族和样本大小方面有所不同。分析表明,较大的数据集包含较少的特征,而中型和小型数据集包含更多特征,拥有少量特征或案例可能对性能产生负面影响,使结果难以泛化。因此,我们的研究使用三个常用CAD数据集评估所提出的系统:Z-Alizadeh Sani、Cleveland和Statlog。在70个回顾的数据集中,Cleveland是最常被引用的(3,770次引用),Statlog排名第三(239次引用),而Z-Alizadeh Sani排名第八(131次引用)。关于数据完整性,Z-Alizadeh Sani和Statlog都是完整的,而Cleveland包含六个缺失值。
表3总结了本研究中用于CAD诊断的三个数据集。Z-Alizadeh Sani数据集包含303个案例,包括216个CAD案例和87个正常案例,定义为冠状动脉造影中冠状动脉直径狭窄≥50%的存在或不存在。每个案例包括55个特征,分为四类:人口统计学、症状和检查、心电图以及实验室和回声。这些特征的详细信息见表4。Cleveland数据集也包含303个案例,包括139个CAD案例和164个正常案例,而Statlog数据集包含270个案例,其中120个是CAD,150个是正常。Cleveland和Statlog都包含13个特征,如表5所述。
如研究中报告的那样,分析了所使用的三个数据集,Z-Alizadeh Sani数据集与Cleveland和Statlog相比表现出更大的线性,而Cleveland表现出更多的非线性行为。就复杂性而言,Statlog被认为是最复杂的。关于类别分布,Cleveland和Statlog相对平衡,而Z-Alizadeh Sani不平衡。该研究还强调Z-Alizadeh Sani比Cleveland和Statlog更稀疏。因此,很明显,这三个数据集在特性上有所不同。
结果与讨论
采用第3节中描述的方法开发所提出的系统。预处理数据集后,将SHAP技术应用于三个分类器,以根据其重要性对特征进行排名。随后,在训练和测试七个ML分类器时,使用优化的顺序前向选择包装技术与每个分类器一起识别最优特征子集。此过程最终确定使用最少特征实现最高性能的模型。
本节介绍了特征排序过程的结果,以及使用所提出算法选定的特征子集构建的模型的分类性能。此外,还报告了使用所有特征的模型的分类性能。还分析了特征选择对训练和测试效率的影响。最后,在所选特征数量和实现的分类准确率方面,将所提出算法与十四项现有研究进行了比较。
特征排序过程结果
图5显示了三个蜂群图,每个对应一种基于SHAP的特征排序方法:SHAP-XGBoost、SHAP-RF和SHAP-SVM。每个图说明了Cleveland数据集中单个特征的SHAP值在实例上的分布。Z-Alizadeh Sani数据集和Statlog数据集的蜂群图可在补充图S1和S2中找到。
图6显示了三个条形图,每个对应一种基于SHAP的特征排序方法:SHAP-XGBoost、SHAP-RF和SHAP-SVM。每个图表可视化Cleveland数据集的特征重要性,特征根据其对模型预测的贡献进行排名。Z-Alizadeh Sani数据集和Statlog数据集的条形图可在补充图S3和S4中找到。对于Cleveland数据集,表6、7和8分别报告了SHAP-XGBoost、SHAP-RF和SHAP-SVM方法的特征分数和相应排名。分析表明,三种方法为同一特征分配不同的排名。例如,SHAP-XGBoost将'ca'识别为最重要特征,而SHAP-SVM和SHAP-RF给予'thal'最高重要性。此外,SHAP-XGBoost和SHAP-RF将'fbs'排名为最不重要特征,而SHAP-SVM将'chol'置于最低排名。在Z-Alizadeh Sani和Statlog数据集中也观察到类似变化,如补充表S1-S6所述。为解决此变化,采用第3节中概述的集成方法,基于三种基于SHAP的特征排序方法的集体观点为每个特征产生总体排名。
对于每个数据集,在使用每种三种基于SHAP的特征排序方法确定每个特征的排名后,构建特征排名表(FRT)。表9代表Cleveland数据集的FRT,而Z-Alizadeh Sani和Statlog数据集的FRT分别在补充表S7和S9中呈现。此外,创建平均排名表(ART),显示根据平均排名(AR)值从最重要到最不重要的特征排序。表10代表Cleveland数据集的ART,而Z-Alizadeh Sani和Statlog数据集的ART可在补充表S8和S10中找到。
优化特征选择与分类结果
调查了七种ML分类器用于CAD诊断,即XGBoost、RF、SVM、DT、LR、KNN和MLP。对于每个数据集,进行了多次实验以评估ML模型的性能:一次实验使用所有可用特征,而其他实验使用根据所提出方法排名的特征,以确定哪个特征子集产生最佳性能。
为评估每个ML模型的性能,采用分层10折交叉验证,其中90%的数据集案例用于训练,10%用于测试。使用公式(7-11)计算每个折叠的性能指标。每个性能指标的结果在10个折叠上取平均。使用完整特征集以及通过所提出的SHOW算法识别的子集评估的模型性能总结如下。
- 使用完整特征集的模型性能
表11报告了使用所有特征对每个数据集的七种ML分类器的性能结果。如表所示,XGBoost在Z-Alizadeh Sani、Cleveland和Statlog数据集上实现了最佳性能。最高准确率分别为Z-Alizadeh Sani、Cleveland和Statlog数据集的93.30%、86.52%和87.41%。
- 使用所提出SHOW算法选择的特征的模型性能
表12报告了使用SHOW算法获得的特征子集对每个数据集的七种ML分类器的性能,这些子集列在表13、14和15中。在Z-Alizadeh Sani、Cleveland和Statlog数据集上评估的分类器中,XGBoost始终实现了最佳性能。在Z-Alizadeh Sani数据集上,XGBoost使用14个特征达到了93.79%的准确率、94.39%的精确率、93.98%的敏感性、89.81%的特异性和93.98%的F1分数。在Cleveland数据集上,它使用仅5个特征实现了86.52%的准确率、88.55%的精确率、82.36%的敏感性和85%的特异性,F1分数为84.84%。在Statlog数据集上,该分类器也使用5个特征达到了87.78%的准确率、92.33%的精确率、80.00%的敏感性、92.67%的特异性和85.18%的F1分数。表现最佳分类器的关键超参数值在表16中提供。
表16中报告的最优超参数值为评估的分类器的行为提供了额外的见解。通常,基于树的模型如XGBoost和RF倾向于中等树深度和中等数量的估计器,表明选定的特征子集捕获了足够的判别信息,无需过于复杂的树结构。对于SVM,一致选择RBF核反映了CAD数据的非线性可分性,而调整的C和gamma值平衡了边距最大化和分类准确率。对于神经模型,MLP分类器在训练选定特征时采用更大的隐藏层大小和更高的迭代限制,这可能导致某些情况下的模型复杂性增加。总体而言,这些调整的超参数与观察到的性能和效率结果一致,证实所提出的SHOW算法能够使用减少但信息丰富的特征子集实现有效学习。
ML模型的性能还使用ROC曲线和AUC分数在三个基准数据集上对完整和选定特征集进行评估,如图7所示。曲线表明,基于集成的模型,特别是XGBoost和RF,一致实现了比其他分类器更高的AUC值,在Z-Alizadeh Sani数据集上达到最高0.97的峰值性能。使用完整特征获得的ROC曲线与基于SHOW算法选定的子集的曲线之间的明显重叠表明,所提出的方法在减少维度的同时有效保留了最具判别力的临床特征。尽管特征选择后某些分类器的AUC略有下降,但由于显著的维度减少和边际信息特征的移除,这种下降是预期的;然而,所有数据集上的AUC值保持在有竞争力的范围内,表明诊断性能和模型简单性之间存在有利的权衡。相比之下,DT等简单模型通常表现出较低的AUC分数,突显了复杂CAD诊断任务对基于集成方法的必要性。
除了分类性能外,评估特征选择对分类模型计算效率的影响对于评估其在CAD诊断系统中的实际适用性至关重要。因此,研究了基于SHOW的特征选择对训练和测试时间的影响。图8说明了在三个CAD数据集上使用完整特征集和SHOW算法选定的特征子集对所有七种分类器的训练和测试时间的比较。如图所示,使用选定的特征子集通常会导致训练和测试时间明显减少,与使用完整特征集相比。这种减少主要是由于输入特征空间维度的降低,从而降低了模型训练和评估过程中的计算负担。
然而,对于某些分类器,使用选定特征子集的训练时间高于使用完整特征集获得的训练时间。这种行为主要是由于通过网格搜索调优识别出的最优超参数配置的差异。特别是,减少的特征空间可能导致更复杂的模型结构,如更大的隐藏层或采用更复杂的核函数,这可能会增加训练时间,尽管输入特征数量减少。总体而言,结果表明,基于SHOW的特征选择有效提高了分类模型在训练和测试时间方面的计算效率,同时保持强大的诊断性能,支持其在实际CAD诊断场景中的适用性。
当分析Z-Alizadeh Sani数据集的结果时,应用所提出的SHOW算法表明,典型胸痛、年龄和地区RWMA特征在所有分类器中一致被选择,如表13所示。这些对应于补充表S8中的第一、第三和第四个特征。同样,当检查Cleveland数据集上选择的特征时,cp、ca和thal特征被所有分类器选择,如表14所示,对应于表10中的前三个特征。另一方面,fbs特征在表10中排在最后,未被任何分类器选择。对于Statlog数据集,cp、ca和thal特征也被所有分类器选择,如表15所示,并对应于补充表S10中列出的前三个特征。
与最先进算法的比较
表17提供了所提出的SHOW算法与文献中报告的十四种最先进的特征选择方法之间的比较。结果表明,SHOW在所有考虑的数据集上实现了分类准确率和所选特征数量之间的高度竞争平衡。
对于Z-Alizadeh Sani数据集,SHOW仅使用14个特征就实现了93.79%的最高报告准确率,优于N2Genetic-nuSVM方法,后者使用29个特征(几乎是两倍数量的特征)达到了93.08%的准确率。这一结果突显了SHOW在不损害预测性能的情况下有效消除冗余和无关特征的能力。在Cleveland数据集上,SHOW仅使用5个选定特征就实现了86.52%的准确率,超过了RF-FSFC方法(86.14%,8个特征)和穷举法(85.48%,9个特征)。同样,对于Statlog数据集,SHOW仅使用5个特征就提供了87.78%的最佳报告准确率,优于EEFS(85.55%,6个特征)和混合PSO-EmNN(85.20%,8个特征)等近期方法。
这些在多个数据集上的一致结果突显了所提出SHOW算法的有效性,其中基于集成的SHAP特征排序指导优化的顺序前向选择包装技术,实现了强大的诊断性能,同时避免了特征子集的穷举组合评估。
结论
在本研究中,我们提出了SHOW特征选择算法,这是一种新型两阶段方法,将SHAP技术与优化包装方法相结合,以改进CAD诊断。SHAP根据其在三个分类器中的重要性对特征进行排名。然后应用优化的顺序前向选择技术。
在三个基准数据集—Z-Alizadeh Sani、Cleveland和Statlog—上获得的广泛实验结果突显了所提出的SHOW算法在减少特征的同时提高分类准确率的有效性。具体而言,SHOW优于14种最先进的特征选择技术:N2Genetic-nuSVM、穷举法、2HFS、RTs、混合PSO-EmNN、QBSO-FS-SVM、MTE-RF、RF-FSFC、SVM-CFS/IG/SU、HRFLC、EEFS、PCA+AdaBoostM1、bAPO和SPFS。例如,使用XGBoost分类器,所提出的算法仅从Z-Alizadeh Sani数据集中选择14个特征(共55个),实现了93.79%的准确率和93.98%的敏感性;从Cleveland数据集中选择5个特征(共13个),实现86.52%的准确率和88.55%的敏感性;从Statlog数据集中选择5个特征(共13个),产生87.78%的准确率和80%的敏感性。
虽然所提出的算法展示了强大的预测性能,但其高计算成本可能会限制其在大型或高维数据集上的可扩展性。这主要归因于基于SHAP的特征排序阶段,该阶段需要在所有实例上计算特征归因,以及涉及随着特征增量添加而重复模型训练和评估的基于包装的特征选择过程。这项工作的未来扩展可能包括在更大、更多样化的CAD数据集上评估所提出的方法,以进一步增强其泛化能力和可扩展性。此外,可以探索效率改进策略,如特征预过滤,以及结合并行或分布式计算技术,以提高计算效率。
【全文结束】

