基于机器学习的心脏病预测方法
文章平均质量分 89
专栏以心脏病预测为中心,以患者的医疗数据为基础,将其与先进的计算机技术结合,正确的判断患者在心脏方面的多种情况,辅助医生更好判断患者是否患有心脏病,并且更可以帮助判断属于心脏病的何种等级,提高了实用性。
wendy_ya
控制类专业在读研究生
展开
-
【拓展】基于机器学习的心脏病预测方法(14)——心脏病数据集补充
在实际研究过程中,前文所述数据集由于尺寸过小(仅有303份数据和13个属性信息)或数据集单一(仅有一个数据集,不具备普适性),因此本文在此基础上再引入三个数据集。)的未整理版本,共含有920个数据,属性与UCI数据集属性相同。示例如下:与整理后的数据集相比,该数据集增加了id和dataset(研究地点)。将target属性名称修改为num,内容均相同。(0代表患病,1代表不患病)2020年CDC年度调查数据。变量“HeartDisease”视为二进制(“Yes”-受访者有心脏病;原创 2023-02-15 14:42:37 · 1102 阅读 · 1 评论 -
基于机器学习的心脏病预测方法(13)——人工神经网络(ANN)【本专栏完结】
ANN是指由大量的处理单元(神经元) 互相连接而形成的复杂网络结构,是对人脑组织结构和运行机制的某种抽象、简化和模拟。人工神经网络(Artificial Neural Network,简称ANN ),以数学模型模拟神经元活动,是基于模仿大脑神经网络结构和功能而建立的一种信息处理系统。本文介绍的是最简单的一种神经网络,仅采用全连接层组成。基于机器学习的心脏病预测方法(10)——卷积神经网络(CNN)。原创 2023-02-15 11:13:32 · 1978 阅读 · 2 评论 -
基于机器学习的心脏病预测方法(12)——极端梯度提升树(eXtreme Gradient Boosting)
XGBoost是陈天奇提出的一个端对端的梯度提升树系统,该算法在GBDT的基础之上,在算法层面和系统设计层面都做了一些创新性的改进,可以把XGBoost看作是GBDT更好更快的实现。XGBoost在许多机器学习以及数据挖掘的任务中表现惊艳,2015年,kaggle竞赛平台上发布了29个挑战获胜的解决方案,其中17个解决方案用了XGBoost。由于XGBoost在实际任务中的良好表现,因此搞清XGBoost的实现细节对于在实践中应用XGBoost是非常有帮助的。原创 2023-02-15 11:19:28 · 983 阅读 · 0 评论 -
基于机器学习的心脏病预测方法(11)——梯度提升机(GBM)
GBM(Gradient Boosting Machine)算法是Boosting(提升)算法的一种。主要思想是,串行地生成多个弱学习器,每个弱学习器的目标是拟合先前累加模型的损失函数的负梯度, 使加上该弱学习器后的累积模型损失往负梯度的方向减少。且它用不同的权重将基学习器进行线性组合,使表现优秀的学习器得到重用。GBM属于加法模型,也称 MART(muliple additive regression trees)。原创 2023-02-14 18:31:00 · 1048 阅读 · 0 评论 -
基于机器学习的心脏病预测方法(10)——卷积神经网络(CNN)
目录一、卷积神经网络二、核心代码三、评价指标一、卷积神经网络卷积神经网络与普通神经网络的区别在于,卷积神经网络包含了一个由卷积层和子采样层构成的特征提取器。在卷积神经网络的卷积层中,一个神经元只与部分邻层神经元连接。在CNN的一个卷积层中,通常包含若干个特征平面(featureMap),每个特征平面由一些矩形排列的的神经元组成,同一特征平面的神经元权值共享,这里共享的权值就是卷积核。卷积核一般以随机小数矩阵的形式初始化,在网络的训练过程中卷积核将学习得到合理的权值。共享权值(卷积核)带来的直接好处是减少原创 2021-09-13 20:28:40 · 2974 阅读 · 0 评论 -
基于机器学习的心脏病预测方法(9)——支持向量机(SVM)
支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;SVM还包括核技巧,这使它成为实质上的非线性分类器。SVM的的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。SVM的的学习算法就是求解凸二次规划的最优化算法。支持向量机的准确率时: 57.38%原创 2021-09-13 19:03:54 · 3189 阅读 · 2 评论 -
基于机器学习的心脏病预测方法(8)——决策树(Decision Tree)
决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。在机器学习中,决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系。Entropy = 系统的凌乱程度,使用算法ID3, C4.5和C5.0生成树算法使用熵。这一度量是基于信息学理论中熵的概念。原创 2021-09-11 19:58:26 · 2329 阅读 · 0 评论 -
基于机器学习的心脏病预测方法(7)——K最近邻算法(KNN)
可以发现,当k=8时,测试集准确率最高,达到68.85%。KNN算法的准确率是: 68.85%原创 2021-09-11 19:16:21 · 3241 阅读 · 0 评论 -
基于机器学习的心脏病预测方法(6)——朴素贝叶斯(Naive Bayes)
目录一、朴素贝叶斯1.1 朴素贝叶斯介绍1.2 高斯朴素贝叶斯二、核心代码三、评价指标3.1 混淆矩阵3.2 预测分数3.3 召回率3.4 F分数3.5 FN(false negative)一、朴素贝叶斯1.1 朴素贝叶斯介绍贝叶斯定理表述为:P(h∣d)=(P(d∣h)∗P(h))/P(d)P\left( h|d \right) =\left( P\left( d|h \right) *P\left( h \right) \right) /P\left( d \right) P(h∣d)=(P原创 2021-09-11 18:56:46 · 1942 阅读 · 0 评论 -
基于机器学习的心脏病预测方法(5)——随机森林(Random Forest)
目录一、随机森林1.1 随机森林介绍1.2 随机森林算法介绍1.3 随机森林预测伪代码二、核心代码三、评价指标3.1 混淆矩阵3.2 预测分数3.3 召回率3.4 F分数3.5 FN(false negative)一、随机森林1.1 随机森林介绍随机森林是一种监督学习算法。随机森林可以用于分类和回归问题,通过使用随机森林回归器,我们可以在回归问题上使用随机森林。但是我们在这个项目中使用了随机森林分类,所以我们只考虑分类部分。1.2 随机森林算法介绍从总共m个特征中随机选择k个特征(k<m)原创 2021-09-10 19:40:02 · 3206 阅读 · 0 评论 -
基于机器学习的心脏病预测方法(4)——逻辑回归(Logistic Regression)
逻辑回归是一种分类算法,用于将观察值分配给一组离散类。与输出连续数值的线性回归不同,logistic回归使用logistic sigmoid函数对其输出进行变换,以返回一个概率值,然后该概率值可以映射到两个或多个离散类。二值(是/否)多类(猫/狗/羊)Jθ1m∑i1mCosthθxiyiJθm1∑i1mCosthθxiyiCosthθxy−loghθxy1Costhθ。原创 2021-09-09 17:21:39 · 3936 阅读 · 0 评论 -
基于机器学习的心脏病预测方法(3)——数据预处理及评价指标介绍
目录一、数据预处理1.1 训练集和测试集的划分1.2二、评价指标介绍2.1 混淆矩阵2.2 预测准确率2.3 召回率2.4 F得分2.5 模型的假阴性率一、数据预处理1.1 训练集和测试集的划分从303份数据中随机抽取80%作为训练集,20%作为测试集。即242份进行训练,61份进行测试。from sklearn.model_selection import train_test_splitpredictors = data.drop("target",axis=1)target = data原创 2021-09-09 16:32:28 · 3442 阅读 · 0 评论 -
基于机器学习的心脏病预测方法(2)——Heart Disease UCI数据集可视化介绍
目录1、基础介绍2、数据集结构和描述3、检查缺失数据4、检查与目标数据的相关性5、分析taget分类是否平衡6、不同性别心脏病发病率可视化7、不同年龄段心脏病发病率可视化8、根据空腹血糖检查心脏病9、根据胸痛判断心脏病10、根据静息血压判断心脏病11、根据静息心电图判断心脏病12、分析运动性心绞痛13、分析高峰运动ST段的坡度14、分析被荧光染色的血管数量15、分析地中海贫血16、相关矩阵1、基础介绍UCI数据集包括4个数据库:匈牙利心脏病研究所。Andras Janosi博士瑞士苏黎世大学医院:原创 2021-09-09 15:39:11 · 5039 阅读 · 3 评论 -
基于机器学习的心脏病预测方法(1)——心脏病及Heart Disease UCI数据集和Kaggle数据集介绍
疾病预测研究方法,必须要在实践中检验才能更符合实际的应用。目前,预测疾病的模型很多,但是对于特定的疾病,不同的模型结构和参数选择,对预测结果的影响非常大。此外,疾病本身是一个非常复杂的现象,通常受到环境、个人、社会等多种因素的影响。对于不同的疾病,如何找到与疾病本身相适应的预测模型和方法,从而高效准确的预测发病趋势,提高诊断精度,是目前需要解决的一个问题。(1)年龄:作为影响心血管疾病发病因素,有研究报告指出,患有心血管疾病的人数大多为48至50岁,并且年纪越大的群体患心血管疾病种类更多。(2)性别。原创 2021-09-09 11:17:33 · 21969 阅读 · 3 评论