基于数据挖掘机器学习的心脏病患者分类建模与分析

这篇具有很好参考价值的文章主要介绍了基于数据挖掘机器学习的心脏病患者分类建模与分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

基于数据挖掘机器学习的心脏病患者分类建模与分析,机器学习实战,数据挖掘,分类,人工智能,心脏病,机器学习

首先,读取数据集,该数据集是UCI上的心脏病患者数据集,其中包含了 303 条患者信息,每一名患者有 13 个字段记录其基本信息(年龄、性别等)和身体健康信息(心率、血糖等),此外有一个类变量记录其是否患有心脏病。详细的字段信息可见 此处。

类别字段target有两个取值,代表预测类别,1 = 患病,2 = 不患病。

基于数据挖掘机器学习的心脏病患者分类建模与分析,机器学习实战,数据挖掘,分类,人工智能,心脏病,机器学习

 

2.训练/测试集划分

对数据集进行划分,设置划分比例为训练集 : 测试集 = 4 : 1。

由于数据集的同一类标签集中在一起,我们选择分组抽样选项,依据target字段进行分组,合理划分数据集。

基于数据挖掘机器学习的心脏病患者分类建模与分析,机器学习实战,数据挖掘,分类,人工智能,心脏病,机器学习

3.构建K近邻心脏病患者分类模型

构建K近邻分类模型,将target作为我们的标签列,其余各字段均作为模型的特征列。选择计算的邻居个数为8,权重计算方式为distance,以及设置距离计算方式为manhattan距离(街区距离)。

参数列表

参数名称 参数取值
邻居数 8
权重计算方式 distance
距离计算方式 manhattan

 

4.Z-Score标准化

agetrestbpscholthalacholdpeak进行标准化处理,将不同量级的数据转化为统一量度,提高数据可比性。

age sex cp trestbps chol fbs restecg thalach exang oldpeak slope ca thal target
1.350138 1 2 1.129702 -0.622046 0 0 0.008235 0 -0.196701 1 0 3 0
-0.174618 1 2 -0.128305 0.023539 1 0 1.004711 0 -0.890351 2 3 2 1
0.696671 1 3 0.100423 -0.204315 0 1 -0.20839 0 1.364011 1 2 2 0
-1.045907 1 1 -0.24267 1.200782 0 0 0.874736 0 -0.890351 2 0 2 1
-0.501351 1 0 0.672245 -0.8499 0 0 -1.031565 1 -0.109995 1 0 3 0
特征 均值 标准差
age 54.603306 9.1818
trestbps 132.243802 17.487967
chol 244.760331 52.665406
thalach 149.809917 23.081356
oldpeak 1.02686 1.15332

5.各字段基本统计信息

读取数据表后,对各个数据字段统计基本信息,包括样本数量、均值、标准差、最大最小值和上下四分位数等。

可以看出,读取的数据表均为数值型字段。从这里可以发现,各字段的样本数均为 303 ,说明无缺失值;此外。许多字段如sexcpfbsrestecgexangslopecathal,其上下四分位数、中位数和最大最小值的取值有很大的重复,结合数据集详情页的统计信息,说明其为离散型数值字段;其余字段如agetrestbps等为连续型变量,在后期可以进行标准化处理。

age sex cp trestbps chol fbs restecg thalach exang oldpeak slope ca thal target
样本数 303 303 303 303 303 303 303 303 303 303 303 303 303 303
均值 54.3663366337 0.6831683168 0.9669966997 131.6237623762 246.2640264026 0.1485148515 0.5280528053 149.6468646865 0.3267326733 1.0396039604 1.399339934 0.7293729373 2.3135313531 0.5445544554
标准差 9.0821009898 0.4660108233 1.0320524895 17.5381428135 51.8307509879 0.3561978749 0.5258595964 22.9051611149 0.4697944645 1.1610750221 0.6162261453 1.022606365 0.6122765073 0.4988347842
最小值 29 0 0 94 126 0 0 71 0 0 0 0 0 0
下四分位数 47.5 0 0 120 211 0 0 133.5 0 0 1 0 2 0
中位数 55 1 1 130 240 0 1 153 0 0.8 1 0 2 1
上四分位数 61 1 2 140 274.5 0 1 166 1 1.6 2 1 3 1
最大值 77 1 3 200 564 1 2 202 1 6.2 2 4 3 1

6.年龄分布直方图

选取age字段画出直方图。可以看出,大多数患者年龄在38岁以上,说明心脏病的主要患病人群是中老年人。

基于数据挖掘机器学习的心脏病患者分类建模与分析,机器学习实战,数据挖掘,分类,人工智能,心脏病,机器学习

基于数据挖掘机器学习的心脏病患者分类建模与分析,机器学习实战,数据挖掘,分类,人工智能,心脏病,机器学习 

选取target字段画出饼图,可以看出,该数据集中患有心脏病的人群比例较高,但两个类别的样本数量相差不大。

基于数据挖掘机器学习的心脏病患者分类建模与分析,机器学习实战,数据挖掘,分类,人工智能,心脏病,机器学习 

对K近邻模型进行评估。使用的方法主要为分类报告、混淆矩阵和ROC曲线。

可以看到,我们构建的K近邻模型的分类性能较为良好,总体分类正确率(accuracy)达到0.87,macor avg F1-score能达到0.87,正类样本的召回率(Recall)能达到0.94,ROC_AUC值为0.88。

分类报告(classification report)

标签 精确率(Precision) 召回率(Recall) F1值(F1-score)
0 0.92 0.79 0.85
1 0.84 0.94 0.89
accuracy 0.87 0.87 0.87
macro avg 0.88 0.86 0.87
weighted avg 0.87 0.87 0.87

混淆矩阵(confusion matrix)

基于数据挖掘机器学习的心脏病患者分类建模与分析,机器学习实战,数据挖掘,分类,人工智能,心脏病,机器学习

 

基于数据挖掘机器学习的心脏病患者分类建模与分析,机器学习实战,数据挖掘,分类,人工智能,心脏病,机器学习 文章来源地址https://www.toymoban.com/news/detail-803911.html

到了这里,关于基于数据挖掘机器学习的心脏病患者分类建模与分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据挖掘与机器学习

    1. 有监督的机器学习 :         分类 :                  KNN 最近邻                  逻辑回归 - 朴素贝叶斯估计                  SVM 线性 或 非线性 优化模型                  决策树模型 - 随机森林 - 其它集成模型                  lig

    2024年04月29日
    浏览(25)
  • Python数据挖掘与机器学习

    近年来,Python编程语言受到越来越多科研人员的喜爱,在多个编程语言排行榜中持续夺冠。同时,伴随着深度学习的快速发展,人工智能技术在各个领域中的应用越来越广泛。机器学习是人工智能的基础,因此,掌握常用机器学习算法的工作原理,并能够熟练运用Python建立实

    2024年02月11日
    浏览(29)
  • ElasticSearch的数据挖掘与机器学习

    ElasticSearch是一个开源的搜索和分析引擎,它基于Lucene库构建,具有高性能、易用性和扩展性。ElasticSearch可以用于实时搜索、数据分析和机器学习等应用场景。本文将涵盖ElasticSearch的数据挖掘与机器学习方面的核心概念、算法原理、最佳实践以及实际应用场景。 在ElasticSear

    2024年02月22日
    浏览(31)
  • 数据挖掘与机器学习:Apripori算法

    目录 第一关:候选生成  任务描述: 相关知识: 一、Apripori算法候选生成: 二、Apripori算法候选生成代码实现: 编程要求: 测试说明: 第二关:候选剪枝 任务描述: 相关知识: Apripori算法候选剪枝: Apripori算法候选剪枝代码实现: 编程要求: 测试说明: 第三关:基于遍

    2024年02月07日
    浏览(52)
  • 【Python】数据挖掘与机器学习(一)

    大家好 我是寸铁👊 总结了一篇【Python】数据挖掘与机器学习(一)sparkles: 喜欢的小伙伴可以点点关注 💝 问题描述 请从一份数据中预测鲍鱼的年龄,数据集在abalone.cvs中,数据集一共有4177 个样本,每个样本有9个特征。其中rings为鲍鱼环数,鲍鱼每一年长一环,类似树轮,是

    2024年04月12日
    浏览(27)
  • 机器学习——数据仓库与数据挖掘——期末复习(简答题)

    1 、试述真正例率(TPR)、假正例率(FPR)与查准率(P)、查全率(R)之间的联系。 查全率: 真实正例被预测为正例的比例 真正例率: 真实正例被预测为正例的比例 查全率与真正例率是相等的。 查准率:预测为正例的实例中真实正例的比例 假正例率: 真实反例被预测为正例的

    2024年02月10日
    浏览(32)
  • Python 数据挖掘与机器学习教程

    详情点击链接:Python 数据挖掘与机器学习 一: Python编程 Python编程入门 1、Python环境搭建( 下载、安装与版本选择)。 2、如何选择Python编辑器?(IDLE、Notepad++、PyCharm、Jupyter…) 3、Python基础(数据类型和变量、字符串和编码、list和tuple、条件判断、循环、函数的定义与调

    2024年02月16日
    浏览(30)
  • 机器学习和数据挖掘01- lasso regularization

    Lasso正则化是一种线性回归中的正则化技术,旨在减少模型的复杂性并防止过拟合。Lasso(Least Absolute Shrinkage and Selection Operator)通过在损失函数中添加正则项,促使模型的系数变得稀疏,即某些系数会被压缩到零,从而实现特征选择。 在Lasso正则化中,我们引入了一个惩罚项

    2024年02月09日
    浏览(26)
  • 机器学习算法在数据挖掘中的应用

    在数据挖掘的实践中,各种机器学习算法都扮演着重要的角色,它们能够从数据中学习规律和模式,并用于预测、分类、聚类等任务。以下是几种常见的机器学习算法以及它们在数据挖掘任务中的应用场景和优缺点。 1. 决策树(Decision Trees):    - 应用场景:决策树广泛应

    2024年03月17日
    浏览(32)
  • 机器学习——数据仓库与数据挖掘复习(选择题、判断题)

    1. 以下不是分类问题的是(  B )。 A. 用户流失模型 B. 身高和体重关系 C. 信用评分 D. 营销响应 2. 对于回归分析,下列说法错误的是( D ) A. 在回归分析中,变量间的关系若是非确定关系,那么因变量不能由自变量唯一确定 B. 线性相关系数可以是正的,也可以是负的 C. 回归

    2024年02月06日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包