心脏病的精确诊断是医学领域的重要挑战,需要依赖先进的诊断工具和方法。本文深入研究了多种机器学习(ML)和深度学习(DL)模型在基于表格数据预测心脏病中的效果,特别是二分类任务的表现。通过广泛的预处理技术优化预测模型的质量和性能。研究涵盖了多种ML算法,包括逻辑回归(LR)、朴素贝叶斯(NB)、支持向量机(SVM)、决策树(DT)、随机森林(RF)、K近邻(KNN)、AdaBoost(AB)、梯度提升机(GBM)、轻量梯度提升机(LGBM)、CatBoost(CB)、线性判别分析(LDA)和人工神经网络(ANN),以评估这些算法在心脏病检测中的预测能力。通过对ML模型进行详尽实验,研究了不同特征缩放方法(如标准化、最小最大缩放和归一化)对其性能的影响。评估指标包括准确率(Acc)、精确率(Pre)、召回率(Rec)、F1分数(F1)、曲线下面积(AUC)、Cohen’s Kappa(CK)和对数损失(Logloss)。研究结果不仅揭示了预测心脏病的最佳缩放方法和ML模型,还提供了在医疗环境中实施这些模型的实际意义。研究旨在通过预测分析推动心脏病学领域的发展,为早期检测和诊断提供改进方案,这对于协调治疗和确保及时干预至关重要。
引言
心脏病的及时识别是预防性医疗保健的关键组成部分,它有助于实施有效的干预措施,从而显著改善患者的诊断结果。心脏病是一种复杂的临床综合征,可能由多种因素引起,例如高血压、冠状动脉疾病、心脏瓣膜病和心肌病等。这些病症会导致心脏功能受损,显著削弱心脏满足身体需求的血液循环能力。目前,心血管疾病仍是全球主要的死亡原因。世界卫生组织估计,心脏疾病每年在全球范围内导致1200万人死亡。2017年,全球新增冠心病病例达1060万例,导致890万人不幸去世,当年共有1.265亿人被诊断出患有冠心病。预计到2040年,美国因心脏病相关的医疗成本将比2010年增加41%,从1262亿美元增至1775亿美元。心脏病进展可能引发诸多并发症,包括死亡率大幅上升、反复住院和生活质量下降。由于心血管疾病的复杂性和其对全球公共健康的重大影响,迫切需要更精确和及时的检测技术。
心血管疾病继续成为全球死亡的主要原因,强调了对能够准确高效预测心脏病的先进诊断工具的需求。这种紧迫感激发了对利用机器学习(ML)和深度学习(DL)方法提高心脏病检测预测精度和效率的兴趣。ML和DL属于人工智能(AI)的范畴,为分析复杂数据集提供了强大的功能。它们能够发现人类分析师可能忽略的相关性和模式。ML算法可以分析大量患者数据,包括临床症状、病史、实验室结果和影像学研究,以达到前所未有的精确度来预测心脏病的概率,这在仅使用传统统计方法时是无法实现的。ML和DL已被应用于多个领域,包括手写数字识别、疾病诊断、抑郁检测、语言处理、目标检测和可疑活动检测等。此外,ML模型持续从新数据中学习的能力为创建动态诊断工具提供了前景,这些工具能够随着心脏病表现形式和治疗结果的变化而进步。
方法论
本任务包含几个关键阶段。完整的工作流程如图1所示。我们首先收集公开可用的基准数据集。然后检查数据集中是否存在缺失值。为了将数据集中的分类值转换为数值值,我们进行了编码。之后,对输入特征进行归一化处理。在预处理阶段结束后,使用主成分分析(PCA)提取重要特征。接着开发ML和DL模型。随后,利用训练数据训练模型,并使用测试数据对其进行测试。
数据集
本研究使用了一个公开的数据集,该数据集来自UCI数据存储库。该数据集通过合并之前单独存在的四个心脏数据集(克利夫兰、匈牙利、瑞士和VA长滩)形成,这些数据集共享14个共同特征。表1列出了数据集中的特征及其特性。
数据预处理
数据准备是创建ML模型的第一步,标志着这一过程的开始。现实世界的数据通常不完整、不一致、不准确且缺乏重要的属性值。数据准备涉及清理、组织和格式化原始数据,使其适合ML模型。在本研究中,我们采用了多种数据准备方法和MI评分,分别如图2(a)和图2(b)所示。
分类数据编码
分类数据编码是将分类变量转换为数值变量的过程,以便在ML模型中使用。分类数据包括按类别分组的变量,例如颜色、地点或项目类型,如表1所示。由于大多数ML模型依赖数学方程,因此必须将分类数据转换为数值数据以避免任何问题。我们使用sklearn包中的LabelEncoder()函数将数据集中的分类数据转换为数值值。
处理类别不平衡
SMOTE被用作纠正类别不平衡的方法。SMOTE(Synthetic Minority Oversampling Technique)是一种在监督学习领域实施的技术,用于纠正数据集中的类别不平衡。与生成重复样本不同,它通过生成合成样本来避免随机过采样带来的过拟合问题。通过将原始样本与其邻居进行线性组合生成合成样本,SMOTE生成的样本比简单复制少数类样本更具多样性。在实施SMOTE后,我们获得了每个类别样本数量相等的平衡数据集。在这项研究中,平衡数据集至关重要,因为不平衡数据集可能导致模型性能偏向多数类,常导致少数类召回率低下,这在心脏病检测中尤其成问题,因为它可能导致高风险患者的误分类。通过创建平衡数据集,我们确保模型有机会从两类中学习模式,从而实现更公平和可靠的性能指标。
表1 数据集中变量的详细信息
特征相关性分析
统计分析和数据探索的一个关键方面是对变量之间关系的理解。为此,我们使用皮尔逊相关系数,这是一种常用的技术,用于量化数据集中两个连续变量之间的线性关联。皮尔逊相关系数(r)的取值范围为-1到+1。系数的大小表示相关性的强度,而符号表示方向。皮尔逊相关方法被用来检查数据集中每对连续变量之间的关系。通过识别高度相关的变量,可以获得有关潜在模式和联系的宝贵见解,这些模式和联系可能是内在因果关系或相互依赖的指标。相关矩阵如图3所示。
特征重要性分析
特征重要性计算:在构建预测模型时,理解每个特征相对于目标变量的重要性至关重要。一种有效的方法是使用互信息(MI)评分来评估这一重要性水平。与更简单的线性度量相比,MI提供了一种更广泛的度量,可以涵盖变量之间的任何类型的关系,无论是非线性还是线性。如果两个变量是独立的,则得分为零;相反,较高的得分表示变量之间更强的相互依赖或相关性。特征相对于目标变量的MI得分表示,在特征选择的背景下,知道该特征能在多大程度上减少对目标的不确定性。特征重要性图如图2(b)所示。
特征缩放
我们研究的一个重要部分是数据准备,特别关注特征缩放。特征缩放对于ML模型至关重要,以标准化独立变量的范围,这有助于算法更快收敛并实现更高的性能。缩放我们数据集的特征确保没有一个特征因其规模而在模型中占据主导地位,考虑到数据集的异质性。我们测试了四种不同的特征缩放方法与未进行任何特征缩放的基线模型进行比较,以评估它们对ML模型预测心脏病效能的影响。标准缩放器方法通过移除均值并除以标准差来标准化特征分布,从而使特征集中在零附近且标准差为一。这种方法在特征呈正态分布时非常有效,但也可用于任何分布。标准缩放通过确保所有特征都在可比较的尺度上,有助于稳定梯度下降算法的收敛。它可以表示为:
$$z = \frac{{x - \mu }}{\sigma }$$
(1)
最小最大缩放用于将特征标准化到某个范围,通常为[0, 1]。我们通过删除每个特征的最小值并除以其范围来标准化每个特征,以确保对最终预测的平等贡献。当参数必须落在特定范围内时,此方法很有用,通常在分布为非高斯时使用。
$$x{\text{scaled}} = \frac{{x - x{\text{min}}}}{{x{\text{max}} - x{\text{min}}}}$$
(2)
归一化,特别是L2缩放,用于调整单个样本以使其范数为一。此方法在实例之间的欧几里得距离很重要时很有用。通过将每个实例的特征向量归一化为欧几里得长度为一,此缩放方法提高了使用实例间距离的算法的效率。为了评估特征缩放的固有影响,我们在未对数据集进行缩放的情况下训练模型。这种方法使我们可以直接比较,以评估每种缩放方法在提高模型性能方面的有效性。将这些特征缩放策略整合到我们的预处理工作流程中,使我们能够全面评估它们对模型正确性和收敛性的影响。我们比较了有无特征缩放的心脏病预测模型,以确定每种策略的优势并找到最佳的预处理程序。对比分析强调了特征缩放在ML管道中的重要性,并根据数据特性和模型需求提供了选择适当缩放策略的指导。表2、表3、表4和表5展示了无特征缩放、标准化、最小最大缩放和归一化条件下从ML模型获得的结果。
机器学习模型
在这项研究中,我们实施了广泛应用于各行业的ML技术,因为它们的简单性和泛化能力。本研究采用的方法如下:
逻辑回归
逻辑回归(LR)是一种预测分析算法,主要用于二分类问题。它通过使用logistic函数(介于0和1之间)来估计概率。这一特点使其成为预测事件发生概率的理想工具,例如判断电子邮件是否为垃圾邮件或肿瘤是否为恶性。逻辑回归的核心在于生成观测值的概率评分,并通过决策阈值(通常设为0.5)将其分类为两个不同类别。
朴素贝叶斯
朴素贝叶斯(NB)是一种简单而强大的ML和预测建模算法。它假设特定类别的特定特征的存在与其他特征的存在无关(因此称为“朴素”)。它基于贝叶斯定理。尽管NB简化了过程,但生成的模型可以相当准确,特别是在情感分析、垃圾邮件检测和文档分类等任务中。该算法以效率和速度著称,非常适合高维数据,经常用于涉及大型数据集的文本分类任务,其中算法的简单性可以带来显著优势。
决策树
决策树(DT)是一种非参数监督学习算法,用于分类和回归任务。本质上,决策树使用树状结构表示选择及其可能后果,包括资源成本、效用和随机事件结果。它从单一节点开始,分支出可能的结果;每个分支随后连接到更多节点,进一步分支出更多可能性。这个过程一直持续到到达叶节点,叶节点随后输出相应的输入特征的决策树输出。从根到叶的路径代表分类规则或回归路径。在每个节点,使用特定标准确定最能分离类别的属性或回归估计来进行决策。决策树的简单性使其易于理解和解释,大大增强了其在需要透明度的决策中的普及。
随机森林
随机森林(RF)算法经常被数据科学家使用,是最广为人知的算法之一。作为一种常用的监督机器学习算法,它用于解决分类和回归问题。该算法由许多决策树组成,每棵决策树分析数据集的独特子集并计算平均值以提高预测精度。EL策略中集成了多个分类器以解决复杂问题并提高模型性能。通过聚合结果,随机森林是一种集成技术,通过减少过拟合超越单一决策树。
支持向量机
支持向量机(SVM)是一种强大的监督机器学习技术,用于分类和回归任务。然而,它主要应用于分类问题。SVM通过识别最有效地将数据集分成不同组的超平面来分类数据。SVM的目标是找到优化各类间间隔的最优超平面。支持向量是距离超平面最近的数据点,对超平面的位置和方向有重大影响。SVM通过支持向量增加各类间的间隔来提高分类准确性。SVM技术具有适应性,可以使用核函数处理线性和非线性分离,适用于各种数据格式和预测问题。
K近邻
K近邻(KNN)是一种基于实例或懒惰学习的技术,通过局部近似函数并在函数评估时延迟所有计算。它是一种多功能工具,用于分类和回归问题,因其简单性和有效性而受到欢迎。K-NN算法通过计算查询与所有数据实例之间的距离,选择指定数量“K”的最近示例,然后选择最常见的标签(用于分类)或平均标签(用于回归)。选择参数K至关重要。较小的K值会增加噪声对输出的影响,而较大的值则会增加计算成本并可能包括其他类别的点。KNN直观且易于理解,但随着数据集大小的增加,其计算速度显著下降。
AdaBoost
AdaBoost(AB),也称为自适应增强,是一种主要用于二分类任务的集成学习技术。AB的基本概念是结合多个弱分类器形成一个强分类器。弱分类器是指性能略优于随机猜测的分类器。AB为每个训练实例赋予权重,并在训练过程中调整这些权重。分类器依次训练,每个新分类器专注于先前分类器错误分类的训练案例。最终预测通过加权多数投票或总计的方式结合所有分类器的预测生成。增强的适应性源于其对难分类案例的关注,以及对表现更好的分类器赋予更高权重的策略。AB增强了弱学习模型的准确性,成为提升模型性能的强大工具。
梯度提升机
梯度提升机(GBM)是一种强大的机器学习方法,通过顺序添加弱学习器来增强决策树,形成强大的预测模型。每棵新树旨在纠正前一棵树的错误。梯度提升机(GBM)采用梯度下降方法来减少序列模型中的误差。它根据先前分类调整数据点的重要性。当观察值被错误分类时,其权重增加,反之亦然。这种方法使模型能够更加关注难以分类的情况,从而提高准确性。梯度提升机(GBM)用途广泛,适用于回归和分类任务,并已证明在解决多个现实问题中行之有效。由于其处理不同类型数据并产生强大预测的能力,GBM在预测任务中表现出色,成为数据科学家的热门选择。
轻量梯度提升机
轻量梯度提升机(LGBM)类似于其他梯度提升方法,采用逐步模型构建方法。它构建一系列决策树,其中每棵后续树旨在纠正其前一棵树的错误。最终模型由这些单棵树的加权和组成,模型表示如下:
$$F(x) = \sum\limits_{{i = {\text{1}}}}^{N} {f_{i} (x)}$$
(3)
其中N表示树的数量,f i(x)表示第i棵树的预测。训练过程涉及最小化损失函数。在LightGBM中,目标函数由两部分组成:正则化项和损失函数。训练过程涉及最小化衡量预测值与实际值之间差异的损失函数。在LightGBM中,目标函数定义为:
$${\text{Objective = Loss Function + Regularization Term}}$$
(4)
在这里,损失函数确保模型的预测值与目标值紧密对齐,而正则化项则通过惩罚过于复杂的模型来防止过拟合。
CatBoost
CatBoost(CB)是一种梯度提升算法,专门设计用于高效处理分类特征。该系统集成了创新方法,以在面对不同数据类型和大型数据集时实现最佳性能和稳健性。CB通过最小化可微损失函数L(y i ,F(x i)),其中_x_ _i_是特征向量,y _i_是目标变量,F(x i)是第i个实例的预测值。为了最小化损失函数,CB以顺序方式组装决策树的集合。模型在每次迭代t时学习损失函数相对于先前预测的梯度。
线性判别分析
线性判别分析(LDA)是一种专门为分类应用设计的监督机器学习技术。它是一种用于识别最能区分数据集中不同类别的特征线性组合的方法。LDA通过将数据映射到优化不同类别之间距离的低维空间来运作。它通过识别一组线性判别式来最大化类间方差与类内方差的比率。它识别特征空间中能够最有效地区分不同数据类别的方向。LDA假设数据服从高斯分布并且各类别的协方差矩阵相同。假设数据是线性可分的,允许线性决策边界有效分类不同类别。
人工神经网络
前馈神经网络(FFN)是一种创建有向图的网络,图中有节点和边。数据沿着这些边从一个节点传输到下一个节点,而不会形成循环。人工神经网络(ANN)是一种FFN的变体,具有三层或更多层:输入层、一个或多个隐藏层和输出层。每一层包含许多神经元或单元,如数学符号所定义。为了确定ANN中的隐藏层数量,采用了超参数调优策略。信息从一层传递到下一层而不考虑先前的值,并且每一层中的所有神经元都相连。具有n个隐藏层的ANN可以用数学方式表示如下:
$$H(x) = H_{n} (H_{{n_-{1} }}(H_{{n_-{2} }}(\cdots (H_{{\text{1}}} (x)))))$$
(6)
评估
评估指标
使用多种指标来评估模型的性能,主要指标包括准确率、召回率、精确率和F1分数。准确率指标量化正确预测的比例相对于总预测数。精确率度量正确正预测的比例相对于总的正预测数。召回率可以概念化为正确正预测的比例相对于正确正预测和错误负预测的总和。F1分数是召回率和精确率的调和平均数。曲线下面积(AUC)是用于评估二分类模型性能的指标。随着AUC的增加,模型区分正例和负例的能力也随之增加。这是ML中常用的一种评估分类算法性能的指标。
结果分析
实验结果根据数据集分为两个部分。ML计算模型准确概括所得属性的能力至关重要。过度训练模型会在训练期间导致泛化能力的中断。数据分割常用于防止过度训练。分类过程涉及找到一个模型或映射函数,将数据划分为多个类别。我们测试了几种训练与测试的分割比例,以避免过拟合。训练测试分割比例设定为80%-20%。
图4、图5、图6和图7展示了无特征缩放、标准化、最小最大缩放和归一化条件下从ML模型获得的混淆矩阵。图8展示了无特征缩放、标准化、最小最大缩放和归一化条件下从ML模型获得的ROC曲线。表2、表3、表4和表5展示了无特征缩放、标准化、最小最大缩放和归一化条件下从ML模型获得的结果。首先,我们在未对特征进行任何缩放的情况下进行实验。LR和ANN的性能指标被发现是不可区分的。具体来说,LR和ANN的F1分数分别约为0.8480和0.8480。Cohen's Kappa值为0.6898,进一步验证了两个网络之间的一致性,这并非随机变化所致。它们各自的Log Loss值分别为0.3781和0.3860,表明它们在估计概率方面具有很高的准确性。NB和LGBM的准确率和召回率均为0.8824,而精确率和F1分数则略低,为0.8822。这些模型在预测中表现出相当高的准确性,Cohen's Kappa值为0.7595进一步证实了它们的稳健性。相比之下,LGBM显示出更有利的Log Loss值为0.2801,表明其在概率校准方面比NB的0.5216更为优越。SVM实现了0.8676的准确率和稍高的0.8701的精确率。F1分数为0.8662,Cohen's Kappa为0.7261,结果表明该模型在所有类别中表现出色。然而,在本次评估中,Log Loss指标对SVM并不适用。DT表现出较低的准确率和精确率(0.8039),同时F1分数和Cohen's Kappa值也相对适中,表明其预测性能较为一般。高达7.0674的Log Loss表明其预测可靠性较低。RF和ET的性能几乎相同,ET在精确率方面略微优于RF。两种模型均表现出较高的Cohen's Kappa值(超过0.73),并且Log Loss值较低,这表明它们在概率估计和数据分类方面表现出色。XGBoost在准确率和召回率方面与RF相当,但Cohen's Kappa值略高,为0.7505,Log Loss为0.3154。这些指标确立了XGBoost在预测准确性和可靠性方面的竞争地位。CB表现优异,取得了最高的准确率(0.8971)、精确率(0.8973)、Cohen's Kappa(0.7887)和Log Loss(0.2735)。这些结果突显了CB在生成既准确又可靠的概率预测方面的卓越能力。虽然KNN在准确率和召回率上达到了0.8725,但其精确率和Cohen's Kappa分数略高,分别为0.7366和1.1207。这些结果表明使用KNN进行概率估计可能存在限制。GBM在准确率、精确率和F1分数方面表现最佳,各项指标均超过0.90。此外,它表现出最高的Cohen's Kappa(0.7991),进一步突显了其在准确建模和预测二元结果方面的卓越能力和可靠性。AB、LDA、SGD和RC的表现各有不同,准确率从0.8186到0.8431不等,Cohen's Kappa值显示从中等到显著的一致性。
结论
本论文对ML方法在心脏病预测中的应用进行了详尽的研究,这是一个利用表格数据集的二元分类挑战。通过广泛的检查,本研究考察了多种预处理方法,旨在通过优化数据来提高模型的性能。此外,还利用了一系列ML模型来确定其在检测心脏病方面的有效性。评估指标是验证模型性能的基础,经过精心实施以确保对每个模型预测能力的强有力评估。我们的研究结果强调了ML在提高心脏病预测方面的巨大潜力。研究表明,特定的预处理方法,如特征选择、归一化和缺失数据管理,对模型结果有显著影响。这突显了在构建有效预测模型时认真进行数据准备的首要重要性。此外,对ML模型的比较分析揭示了不同算法的多样化表现,其中某些模型在心脏病预测方面表现出更高的准确性和可靠性。这种差异强调了根据给定数据集的具体属性和规范选择合适模型的重要性。
通过对模型使用各种指标(包括准确率、精确率、召回率和F1分数)进行全面评估,本研究发现GBM、CB和LGBM是在心脏病预测中最有效的模型,其性能取决于所应用的预处理方法。GBM在最小最大缩放下展示了最高的整体分类准确率(90.20%),凸显了其在需要高预测准确率的任务中的稳健性和适用性。CB在概率预测方面表现出色,在标准化下达到了最低的对数损失(0.2734)和高的Cohen's Kappa分数(0.7887),使其成为要求精确概率校准场景的理想选择。LGBM表现出多功能性,在所有预处理技术中始终保持强劲表现,在准确率(88.73%)和概率估计(对数损失0.2801)之间取得了显著平衡。这些发现强调了选择合适的机器学习模型和数据预处理技术组合以在心脏病预测任务中实现最佳性能的重要性。采用综合方法评估模型对于深入了解其优缺点至关重要。这一过程有助于确定哪些模型最适合心脏病检测。总之,本研究为如何有效利用ML预测心脏病提供了重要贡献。它强调了预处理在数据准备中的关键重要性,揭示了不同ML模型的性能差异,并强调了使用详尽评估指标评估模型有效性的必要性。随着医疗行业的不断发展,ML的引入为提高诊断精度和改善患者结果提供了潜在的富有成果的途径。
(全文结束)


