数据可视化与机器学习建模:心力衰竭预测_企业科研_论文科研_毕业设计

图片

数据分析与可视化

心力衰竭或心血管疾病 (CVD) 是全球第一大死因,每年夺去大约1790 万人的生命,占全球所有死亡人数的 31%。   

大多数心血管疾病可以通过使用全民策略解决烟草使用、不健康饮食和肥胖、缺乏身体活动和有害使用酒精等行为风险因素来预防。

患有心血管疾病或处于高心血管风险(由于存在一种或多种风险因素,如高血压、糖尿病、高脂血症或已经确定的疾病)的人需要早期检测和管理,其中机器学习模型可以提供很大帮助。  

数据可视化

介绍

为了更好地理解数据集,我们以图形格式表示它。这有助于我们解释数据并识别模式。由于人脑处理信息的方式,使用图表或图形可视化大量复杂数据比仔细研究电子表格或报告更容易。

预处理:

首先,我们首先检查数据集中是否存在 NaN 值。这有助于我们验证数据的完整性。如下图所示,不存在 NaN 值,这意味着这是一个完整的数据集。

图片

接下来,我们获得数据集的摘要以更好地理解数据集。这将为我们提供有关数据列数、数据类型和条目数的信息。

图片

从上图可以看出,数据集有 13 列,299 个数据条目,数据为数字格式。

接下来,我们重命名数据集及其数据入口点以更好地表达它们的含义。我们将数据集中的 1 和 0 更改为它们的代表字符串,并重命名列名以获得更清晰和更好的外观。最终,我们 得到如下所示的数据集:

图片

目标数据:患者状态

患者状态:如果患者在随访期间死亡(布尔值)

该数据集的目标是预测患者是否会心脏病发作。我们首先检查我们是否有一个平衡的目标变量。因此,我们绘制了目标变量的饼图。

如上所示,目标变量仅占数据集的 32.1%。这意味着数据集是高度不平衡的。但就我们任务的性质而言,不平衡的数据集不是问题。由于工作的性质,大多数患者可能不易患心脏病。

年龄和心力衰竭

年龄:代表患者的年龄。(整数)

我们首先在直方图中绘制关于“患者状态”的第一个特征变量“年龄”。“年龄”的范围是40-95。

  • 70 岁以上的患者中有 49.35% 患有心脏病。(77 之 38)

  • 26.13% 的 70 岁以下患者心脏病发作。(222 人中有 58 人)

性和心力衰竭

性别:代表患者的性别。(布尔值)

接下来我们绘制“性别”和“患者状态”。如下图所示,男性占整个数据集的 64.9%。

  • 31% 的男性患者心脏病发作。

  • 32% 的女性患者心脏病发作。

糖尿病和心力衰竭

糖尿病:表示患者是否患有糖尿病。(布尔值)

接下来我们绘制“糖尿病”和“患者状态”。如下图所示,糖尿病患者占整个数据集的 41.8%。这个功能比较平衡。

  • 60 岁是糖尿病患者的平均年龄,而非糖尿病患者心脏病发作的平均年龄是 68.5 岁。

  • 从上图可以看出,有一群糖尿病患者在 59-60 岁之间患有心脏病。

  • 总的来说,非糖尿病患者的寿命往往比糖尿病患者长。

吸烟与心力衰竭

吸烟:代表一个人是否吸烟。(布尔值)

进一步绘制吸烟患者,他们占数据集的 32.1%。 因此,该特征在数据集中不平衡,导致结果出现偏差。

  • 50% 的吸烟者在 60-72 岁之间患有心脏病。

  • 而 25% 的非吸烟者在 60-75 岁之间心脏病发作。

高血压和心力衰竭

高血压:代表一个人是否患有高血压或高血压。(布尔值)

同样,我们绘制患有高血压(高血压)的患者。如下所示,占数据集的 35.1%。

  • 50% 的高血压患者在 50-75 岁之间心脏病发作。

射血分数和心力衰竭

射血分数(EF):每次收缩时离开心脏的血液百分比。(整数)

正常心脏的射血分数可能在 50% 到 70% 之间。射血分数测量值低于 40% 可能是心力衰竭的证据。

41% 到 49% 的 EF 可能被认为是“临界值”。它并不总是表明一个人正在发展为心力衰竭。相反,它可能表示损伤,可能来自之前的心脏病发作。

  • 33.8% 的射血功能低下的患者心脏病发作。

  • 19% 的射血分数正常的患者心脏病发作。

  • 可以看出,对于具有高射血分数水平的患者而言,数据太小而无法做出有根据的推断。

血小板

血小板:血液中的血小板 (kiloplatelets/mL)(整数)

正常的血小板计数范围为 150,000 至 350,000。

  • 30% 的血小板计数正常的患者心脏病发作。

  • 37% 的血小板计数高的患者心脏病发作。

  • 41% 的血小板计数低的患者心脏病发作。

贫血

贫血:表示患者是否患有贫血。(布尔值)

贫血患者约占数据集的 43.1%。因此,此功能似乎相当平衡。

  • 50% 的贫血患者在 58-75 岁之间心脏病发作。

肌酐磷酸激酶

肌酐磷酸激酶:血液中 CPK 酶的水平 (mcg/L)。(整数)

在 健康 成人中,血清 CK 水平 因多种因素(性别、种族和活动)而异,但 正常范围 为 22 至 198 U/L(单位/升)。

  • 32.7%的CPK值高的患者心脏病发作。

  • 24.7% 的 CPK 值正常的患者心脏病发作。

血清肌酐

血清肌酐:血液中的血清肌酐水平 (mg/dL)。(漂浮)

 血液中肌酐的正常范围可能为每分升 0.84 至 1.21 毫克(每升 74.3 至 107 微摩尔),尽管这可能因实验室、男性和女性以及年龄 而 异 

  • 25.7% 的肌酐水平正常的患者心脏病发作。

  • 52.8% 的肌酐水平高的患者心脏病发作。

血清钠

血清钠:血液中的血清钠水平 (mEq/L)(整数)

正常 血钠水平 在每升 135 到 145 毫当量 (mEq/L) 之间,尽管这可能因实验室、男性和女性以及年龄而异。

  • 32% 钠含量正常的患者心脏病发作。

  • 从上面可以看出,对于高钠水平的患者来说,数据太小而无法做出有根据的推断。


数据可视化与机器学习建模就为大家介绍到这里,欢迎大家学习《python机器学习生物信息学》了解更多相关知识。


版权声明:文章来自公众号(python生物信息学),未经许可,不得抄袭。遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/17667.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

elementUI 实现动态表单数据校验

转载http://t.csdn.cn/XuTa2 1、探讨需求 首先我们需要探讨一下需求: 表单中的部分el-form-item 的label都是从接口拿到的,需要遍历进行动态渲染。 需要给每个el-form-item加上校验至少是必填校验 有的el-form-item不需要校验,也不是从接口…

@monaco-editor/react组件CDN加载失败解决办法

monaco-editor/react引入这个cdn资源会load失败 网上很多例子都是这样写的,我这样写monaco会报错 import * as monaco from monaco-editor; import { loader } from monaco-editor/react;loader.config({ monaco });改成这样 import * as monaco from monaco-edi…

​​​amoeba实现MySQL读写分离

​​​amoeba实现MySQL读写分离 准备环境:主机A和主机B作主从配置,IP地址为192.168.131.129和192.168.131.130,主机C作为中间件,也就是作为代理服务器,IP地址为192.168.131.136。三台服务器操作系统为RHEL6.4 x86_64,为…

搞活系列-Java NIO之偏偏不用buffer.flip()会出现什么问题?

最近看博客又看到了Java NIO相关的博客,其中有讲解NIO和传统IO关于文件复制的文章,看到了如下的代码: /**** channel用例* 基于channel的文件复制*/Testpublic void fileCopyByChannel(){try {FileInputStream fileInputStream new FileInpu…

TypeScript 【type】关键字的进阶使用方式

导语: 在前面章节中,我们了解到 TS 中 type 这个关键字,常常被用作于,定义 类型别名,用来简化或复用复杂联合类型的时候使用。同时也了解到 为对象定义约束接口类型 的时候所使用的是 Interfaces。 其实对于前面&#…

iOS 应用上架流程详解

iOS 应用上架流程详解 欢迎来到我的博客,今天我将为大家分享 iOS 应用上架的详细流程。在这个数字化时代,移动应用已经成为了人们生活中不可或缺的一部分,而 iOS 平台的 App Store 则是开发者们发布应用的主要渠道之一。因此,了解…

智安网络|常见的网络安全陷阱:你是否掉入了其中?

在数字化时代,网络安全成为了一个重要的议题。随着我们越来越多地在互联网上进行各种活动,诸如在线银行交易、社交媒体分享和在线购物等,我们的个人信息也更容易受到攻击和滥用。虽然有许多关于网络安全的指导和建议,但仍然有许多…

【ChatGPT】ChatGPT是如何训练得到的?

前言 ChatGPT是一种基于语言模型的聊天机器人,它使用了GPT(Generative Pre-trained Transformer)的深度学习架构来生成与用户的对话。GPT是一种使用Transformer编码器和解码器的预训练模型,它已被广泛用于生成自然语言文本的各种…

【前端知识】React 基础巩固(四十)——Navigate导航

React 基础巩固(四十)——Navigate导航 一、Navigate的基本使用 新建Login页面,在Login中引入Navigate,实现点击登陆按钮跳转至/home路径下: import React, { PureComponent } from "react"; import { Navigate } from "reac…

HTML5 API 多端通信桥 MessageChannel 技术

这个特别有意思,可以将其理解为通信桥的概念,桥有两个端(port1,port2)只要将port1,port2指定到任意两个进程,无论是iframe-iframe,iframe-worker,parent-child-iframe&am…

【数据结构】图文并茂,通过逻辑图带你轻松拿捏链表,实现各种接口功能

君兮_的个人主页 勤时当勉励 岁月不待人 C/C 游戏开发 Hello,米娜桑们,这里是君兮_,我们接着之前讲过的顺序表来继续介绍初阶数据结构的内容,今天给大家带来的是有关链表的基本知识和各种接口功能的实现 好了,废话不多说&#x…

LeetCode 周赛上分之旅 # 36 KMP 字符串匹配殊途同归

⭐️ 本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 和 BaguTree Pro 知识星球提问。 学习数据结构与算法的关键在于掌握问题背后的算法思维框架,你的思考越抽象,它能覆盖的问题域就越广,理解难度…

day50-Insect Catch Game(捉虫游戏)

50 天学习 50 个项目 - HTMLCSS and JavaScript day50-Insect Catch Game&#xff08;捉虫游戏&#xff09; 效果 index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport"…

codeblocks编译lvgl报错

codeblocks编译lvgl报错 1.报错内容2.解决方案3.lvgl本身代码报错 1.报错内容 error: unknown type name _In_opt_ ...2.解决方案 官网下载&#xff1a; 这里的Compiler’s installation directory 选择自带的 3.lvgl本身代码报错 undefined reference to _lv_utils_bse…

面试总结-Redis篇章(九)——Redis主从复制、主从数据同步原理

Redis其他面试问题 主从复制单节点Redis的并发能力是有上限的&#xff0c;要进一步提高Redis的并发能力&#xff0c;就需要搭建主从集群&#xff0c;实现读写分离主节点主要进行客户端的写操作&#xff0c;从节点进行客户端的读操作&#xff0c;因为Redis一直都是读多写少&…

UE5.1.1 创建C++项目失败

因一直使用Unity开发环境&#xff0c;安装Unreal后&#xff0c;并未详细配置过其开发环境&#xff0c;默认创建蓝图工程无异常&#xff0c;但创建UE C项目时总共遇到两个错误&#xff1a; 错误一 Running /Epic/UE/UE_5.1/Engine/Build/BatchFiles/Build.bat -projectfiles -…

<C++>二、类和对象-构造函数

1.类的6个默认成员函数 如果一个类中什么成员都没有&#xff0c;简称为空类。 空类中真的什么都没有吗&#xff1f;并不是&#xff0c;任何类在什么都不写时&#xff0c;编译器会自动生成以下6个默认成员函数。 默认成员函数&#xff1a;用户没有显式实现&#xff0c;编译器会生…

【Linux多线程】死锁问题介绍

死锁 &#x1f96d;什么是死锁&#x1f965;死锁产生的条件&#x1f95d;如何避免死锁&#x1f345; 避免死锁算法 &#x1f96d;什么是死锁 死锁是多线程或多进程编程中的一种常见问题&#xff0c;指的是两个或多个线程&#xff08;或进程&#xff09;相互等待对方持有的资源&…

搜索二叉树_SearchBinaryTree

目录 搜索二叉树的原理 搜索二叉树的搜索时间复杂度 二叉搜索树实现_key 模型 节点 构造函数 查找 中序遍历 插入 循环 递归 删除 循环 1.删除叶子节点 2.删除有一个孩子的节点 3.左右孩子都不为空 递归 析构函数 拷贝构造 operator key_value 模型 节点 …

Mysql触发器

1.触发器 触发器是与表有关的数据库对象&#xff0c;指在 insert / update / delete 之前或之后&#xff0c;触发并执行触发器中定义的SL语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性&#xff0c;日志记录&#xff0c;数据校验等操作。 使用别名 OLD 和 …