本技术提供了一种基于特征组合和集成学习的心脏病预测方法,包括数据集预处理、特征组合、基础分类器训练和集成预测四个阶段。数据预处理阶段对公开心脏病数据集进行量纲统一和缺失值的处理,并将处理好的数据集利用设计的特征组合算法进行特征间的组合,生成新的特征矩阵,并采用多样性增强算法对新特征矩阵进行处理,最终生成不同的子特征矩阵作为多个基础分类器的输入进行训练,将每个基础分类器的预测结果进行集成,实现最终分类预测。
背景技术
根据中国心血管健康与疾病报告2020概要显示,2018年,在我国城乡居民总死亡原因中,心血管疾病是导致死亡的首要因素。由心血管疾病导致死亡数占城乡居民总死亡数的比例,农村是46.66%,城市是43.81%,远高于其他疾病,因此它在预后方面出现的问题也越来越突出。我们可以基于已有的医疗数据来构建心脏病预测模型,为心脏病的提前防治,对潜在发病人群做出正确的检查治疗提供帮助。常见的预测算法有朴素贝叶斯算法、决策树算法和随机森林算法等。这些算法模型都具备优秀的预测功能,但是它们也有各自的局限性。朴素贝叶斯算法要求数据集中特征取离散值并且特征之间相互独立,这使得它只适用于业务背景简单,不同特征之间关联性较低的场景;决策树算法能够生成清晰的树状结构,明确每个特征对预测结果的影响,但这也造成了它的不稳定性,当特征数据有轻微变化时,所产生的决策树可能与之前完全不同,因此它更多情况下是作为其他算法的基石;随机森林算法对高维稀疏数据不擅长,在高维稀疏数据上的性能可能较差。
利用集成学习进行心脏病预测可以解决上述问题。集成学习通过构建并结合多个学习器来完成学习任务。该算法可以融合单一机器学习算法的优势,提高分类准确率和泛化能力。欲得到泛化性能强的集成,集成中的个体学习器应尽可能相互独立;虽然“独立”在现实任务中无法做到,但可以设法使基学习器尽可能具有较大的差异。此外,现有基于公开的心脏病数据集训练的心脏病预测模型往往未能考虑到医学特征之间的相关性,例如:年龄和血压之间并不是互相独立的,往往年龄大者血压较之年轻人更高;年龄和心率等个人体征也存在着相关性。所以,在对心脏疾病进行预测时,通过考虑心脏病特征之间的相关性,设计特征组合算法以将这种关联具象化很有必要且对于提升心脏病预测模型的训练效果很有帮助。
实现思路