当前位置: 首页 > news >正文

第R3周:RNN-心脏病预测

  • 🍨 本文为🔗365天深度学习训练营 中的学习记录博客
  • 🍖 原作者:K同学啊

    文章目录

    • 一、前言
    • 二、代码流程
      • 1、导入包,设置GPU
      • 2、导入数据
      • 3、数据处理
      • 4、构建RNN模型
      • 5、编译模型
      • 6、模型训练
      • 7、模型评估

电脑环境:
语言环境:Python 3.8.0
深度学习环境:tensorflow 2.17.0

一、前言

传统神经网络的结构都比较简单:输入层-隐藏层-输出层
在这里插入图片描述
RNN和传统神经网络最大的区别在于每次都会将前一次的输出结果,带到下一次的隐藏层中,一起训练。如下图:
在这里插入图片描述

二、代码流程

1、导入包,设置GPU

import tensorflow as tfgpus = tf.config.list_physical_devices("GPU")if gpus:gpu0 = gpus[0]tf.config.experimental.set_memory_growth(gpu0, True)tf.config.experimental.set_visible_devices([gpu0], "GPU")gpus

2、导入数据

数据介绍:

  • age: 年龄
  • sex: 性别
  • cp:胸痛类型 (4 values)
  • trestbps: 静息血压
  • chol:血清胆甾醇 (mg/ dl
  • fbs:空腹血糖 >120 mg/dl
  • restecg:静息心电图结果(值 0,1,2)
  • thalach:达到的最大心率
  • exang:运动诱发的心绞痛
  • oldpeak:相对于静止状态,运动引起的ST段压低
  • slope: 运动峰值 ST 段的斜率
  • ca:荧光透视着色的主要血管数量(0-3)
  • thal:0=正常;1=固定缺陷;2=可逆转的缺陷
  • target:0=心脏病发作的几率较小1=心脏病发作的几率更大
import pandas as pd
import numpy as npdf = pd.read_csv("heart.csv")
df.head()

在这里插入图片描述

3、数据处理

from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScalerX = df.drop("target", axis=1)
y = df["target"]X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.1, random_state=0)

标准化

scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)X_train = X_train.reshape(X_train.shape[0], X_train.shape[1], 1)
X_test = X_test.reshape(X_test.shape[0], X_test.shape[1], 1)

4、构建RNN模型

import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import LSTM, Dense, SimpleRNN, Dropoutmodel = Sequential()
model.add(SimpleRNN(200, input_shape=(13, 1), activation="relu"))
model.add(Dense(100, activation="relu"))
model.add(Dense(1, activation='sigmoid'))model.summary()

5、编译模型

opt = tf.keras.optimizers.Adam(learning_rate=1e-4)
model.compile(optimizer=opt, loss="binary_crossentropy", metrics=["accuracy"])

6、模型训练

epochs = 100history = model.fit(X_train, y_train, epochs=epochs, batch_size=128,validation_data=(X_test, y_test),verbose=1)
Epoch 1/100
3/3 ━━━━━━━━━━━━━━━━━━━━ 3s 503ms/step - accuracy: 0.5104 - loss: 0.6909 - val_accuracy: 0.6129 - val_loss: 0.6858
..............................................................................................................
Epoch 100/100
3/3 ━━━━━━━━━━━━━━━━━━━━ 0s 15ms/step - accuracy: 0.8956 - loss: 0.2431 - val_accuracy: 0.8710 - val_loss: 0.4132

7、模型评估

import matplotlib.pyplot as pltacc = history.history['accuracy']
val_acc = history.history['val_accuracy']loss = history.history['loss']
val_loss = history.history['val_loss']epochs_range = range(epochs)plt.figure(figsize=(14, 4))plt.subplot(1, 2, 1)
plt.plot(epochs_range, acc, label='Training Accuracy')
plt.plot(epochs_range, val_acc, label='Validation Accuracy')
plt.legend(loc='lower right')
plt.title('Training and Validation Accuracy')plt.subplot(1, 2, 2)
plt.plot(epochs_range, loss, label='Training Loss')
plt.plot(epochs_range, val_loss, label='Validation Loss')
plt.legend(loc='upper right')
plt.title('Training and Validation Loss')
plt.show()

在这里插入图片描述

相关文章:

第R3周:RNN-心脏病预测

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 文章目录 一、前言二、代码流程1、导入包,设置GPU2、导入数据3、数据处理4、构建RNN模型5、编译模型6、模型训练7、模型评估 电脑环境:…...

clickhouse Cannot execute replicated DDL query, maximum retries exceeded报错解决

报错信息 在clickhouse中执行DDL命令对表进行改动时,出现报错Cannot execute replicated DDL query, maximum retries exceeded 解决方案 一、官方解决方案 官方说这是一个特定版本的bug,但是实际我自己用的22.9.34版本,也存在这个问题&a…...

【时时三省】(C语言基础)常见的动态内存错误

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 对NULL指针的解引用操作 示例: malloc申请空间的时候它可能会失败 比如我申请一块非常大的空间 那么空间可能就会开辟失败 正常的话要写一个if(p=&#x…...

【JVM】总结篇-字节码篇

字节码篇 Java虚拟机的生命周期 JVM的组成 Java虚拟机的体系结构 什么是Java虚拟机 虚拟机:指以软件的方式模拟具有完整硬件系统功能、运行在一个完全隔离环境中的完整计算机系统 ,是物理机的软件实现。常用的虚拟机有VMWare,Visual Box&…...

二十三种设计模式-抽象工厂模式

抽象工厂模式(Abstract Factory Pattern)是一种创建型设计模式,它提供了一种方式,用于创建一系列相关或相互依赖的对象,而不需要指定它们具体的类。这种模式主要用于系统需要独立于其产品的创建逻辑时,并且…...

【docker】Dockerfile 中使用宿主机代理的方式

在Dockerfile中配置代理主要有这几种方式,让我系统地整理一下: 构建参数方式(BUILD ARG) # 方式1:在Dockerfile顶部定义 ARG HTTP_PROXYhttp://proxy:7890 ARG HTTPS_PROXYhttp://proxy:7890# 方式2:在构…...

现代无线通信接收机架构:超外差、零中频与低中频的比较分析

写在前面:本博客是对三种接收机架构的学习笔记,仅供个人学习记录使用。内容主要是上网查阅的资料,以及个人的一些理解。如有错误的地方请指出! 文章目录 一、通信机基本架构 1、射频发射级的基本组成及完成功能2、射频接收级的基…...

CSS 图片廊:网页设计的艺术与技巧

CSS 图片廊:网页设计的艺术与技巧 引言 在网页设计中,图片廊是一个重要的组成部分,它能够以视觉吸引的方式展示图片集合,增强用户的浏览体验。CSS(层叠样式表)作为网页设计的主要语言之一,提供…...

Gemini和ChatGPT全面对比分析,有什么区别和优势?

当 AI 聊天机器人首次出现时,每个人都在竞相发布自己的足够好的第一版 AI 聊天机器人,很容易在 Gemini 与 ChatGPT 等应用程序之间进行比较。但随着 Google 和 OpenAI 不断添加新功能、模型和访问其聊天机器人的方式,差异变得不那么明显。 现…...

Ansys Discovery 中的网格划分方法:探索模式

本篇博客文章将介绍 Ansys Discovery 中可用于在探索模式下进行分析的网格划分方法。我们将在下一篇博客中介绍 Refine 模式下的网格划分技术。 了解 Discovery Explore 模式下的网格划分 网格划分是将几何模型划分为小单元以模拟系统在不同条件下的行为的过程。这是通过创建…...

前 5 名 IPhone 解锁工具/软件

设备已禁用并且您无法访问它?如果您无法通过密码解锁,尝试 iPhone 解锁软件可能是最好的解决方案。 虽然市场上有很多免费或付费的 iPhone 解锁工具,但您可能不知道它们之间的区别以及如何选择最适合您的工具。 本文将介绍 5 款iPhone 解锁…...

富士通 自动进纸 扫描仪 scan 按钮 触发设置

附赠光盘里的驱动和软件都先装好,然后3步, 1,控制面板,对着设备右键,详细设置,触发对应,选择stream capture软件。(差不多就这意思,懂的自然懂) 2&#xff…...

SpringCloud系列教程:微服务的未来 (五)枚举处理器、JSON处理器、分页插件实现

在现代 Java 开发中,我们常常需要处理各种通用的功能和需求,诸如枚举的处理、JSON 数据处理,以及分页查询等。这些功能虽然看似简单,但在实际开发中往往涉及到许多细节和优化。为了提高开发效率、减少重复代码的编写,我…...

dos2unix: command not found

如果你在终端或命令行界面中遇到了“dos2unix: command not found”的错误,这意味着你的系统中没有安装dos2unix工具。dos2unix是一个用于将文本文件中的DOS/Mac格式的行结束符转换为Unix/Linux格式的行结束符的工具。 以下是一些解决方法: 安装dos2un…...

使用 Docker 查看 Elasticsearch 错误日志

在使用 Elasticsearch(简称 ES)的过程中,我们可能会遇到各种问题。为了快速定位和解决这些问题,查看错误日志是关键。本文将介绍如何使用 Docker 查看 Elasticsearch 的错误日志,并提供一些实用技巧。 1. 安装 Docker…...

Scala 访问修饰符

Scala 访问修饰符 在编程语言中,访问修饰符是一种重要的语法元素,它用于控制类、对象、特质、接口、方法和变量的访问级别。Scala作为一种多范式编程语言,也提供了丰富的访问修饰符,以实现封装和隐藏内部实现细节。本文将详细介绍…...

VisualRules规则引擎语法介绍

VisualRules规则引擎是一款用于处理复杂业务规则的引擎,广泛应用于金融、保险、医疗等领域。它通过将业务逻辑从代码中分离出来,以可配置的方式管理和执行规则。以下是VisualRules规则引擎的基本语法和使用方法: 1. 规则定义 规则通常由 条件…...

UDP_TCP

目录 1. 回顾端口号2. UDP协议2.1 理解报头2.2 UDP的特点2.3 UDP的缓冲区及注意事项 3. TCP协议3.1 报头3.2 流量控制2.3 数据发送模式3.4 捎带应答3.5 URG && 紧急指针3.6 PSH3.7 RES 1. 回顾端口号 在 TCP/IP 协议中,用 “源IP”, “源端口号”…...

web端显示spine动画

一、说明 (1)这边使用的spine版本是3.8.99 spine包含3个部分,可以将三个文件上传到cdn,三个文件放在相同的目录中 test.atlas 、 test.json 、test.png (2)pixi.js - v7.0.4 https://github.com/pixijs/pixijs &…...

【74HC192减法24/20/72进制】2022-5-17

缘由用74ls192设计一个72进制的减法计数器,需要有逻辑电路图-硬件开发-CSDN问答...

前端安全措施:接口签名、RSA加密、反调试、反反调试、CAPTCHA验证

文章目录 引言I 设置防爬虫功能使用robots.txt文件通过配置HTTP头部中的X-Robots-TagII 禁止打开开发者工具反复清空控制台无限debugger反调试检查是否按下了F12或其他调试快捷键禁用右键监听调试快捷键例子III 屏蔽粘贴/复制/剪切/选中IV 知识扩展: javascript内置命令调试分…...

算法攻略:顺序表的进阶之路——移除元素

题目如下: 思路: 双指针法 nums[src] val,srcnums[src] ! val,src的值赋值给dst,src和dst都 注: 1)双指针法:只是抽象出了两个指向数组的变量,并不是真的指针。 2&#…...

zookeeper+kafka

一、zookeeper 1.概述 zoo: 开源的分布式框架协调服务 zookeeper的工作机制:基于观察者模式设计的分布式结构,负责存储和管理架构当中的元信息,架构当中的应用接受观察者的监控,一旦数据有变化,通知对应的zookeeper&a…...

大循环引起CPU负载过高

一、问题背景 环境:jdk1.8 tomcat7 在一次发布时,cpu出现负载过高,其负载突破200%,并且响应时间也大幅度超时。 二、问题分析 【1】发布前做过压测,并没有发现cpu异常升高的现象,所以其可能与生产环境的请…...

xdoj ROT13加密

标题 ROT13加密 问题描述 ROT13是一种古典加密方法,其加密原理是把一个字母用字母表位置相距13的字母来进行 替换,例如字母‘a’用字母‘n’来替换,字母‘z’用字母‘m’来替换。 输入一段字符串,然后把其中的大小写字母按照上…...

图数据库 | 17、高可用分布式设计(上)

我们在前面的文章中,探索了多种可能的系统扩展方式,以及每种扩展方式的优劣。 本篇文章将通过具体的架构设计方案来对每一种方案的设计、投入产出比、各项指标与功能,以及孰优孰劣等进行评价。 在设计高性能、高可用图数据库的时候&#xf…...

五类推理(逻辑推理、概率推理、图推理、基于深度学习的推理)的开源库 (一)

在开发中,有一些开源库可以实现不同类型的推理,包括逻辑推理、概率推理、图推理、基于深度学习的推理等。以下是五类推理(逻辑推理、概率推理、图推理、基于深度学习的推理)的现成开源库,它们各自的功能、特点和适用场…...

java Redisson 实现限流每秒/分钟/小时限制N个

1.引入maven包: <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency><groupId>org.redisson</groupId><artifactId>red…...

麒麟操作系统服务架构保姆级教程(八)数据库拆分静态业务拆分和负载均衡

当我们网站的访问量提升上来了&#xff0c;平均每分钟上千条访问量&#xff0c;但是服务器的性能是有限的&#xff0c;所以就需要将单台的架构进行拆分了&#xff0c;但是web服务器的内容不同怎么办&#xff0c;就会用到咱们的共享存储&#xff0c;两台web服务器今天咱们将LNMP…...

LQ24fresh

目录 C. 录入成绩 D. 标记名字 E. 奖杯排列 C. 录入成绩 &#xff08;1&#xff09;以国特 G 为切入点&#xff0c;枚举每一个 G 单独时是否为合法字符串&#xff0c;若合法 G1 有多少个 &#xff08;2&#xff09;用到的两个 string 函数&#xff1a; s.erase( i, a ) &…...

Postman[8] 断言

1.常见的断言类型 status code: code is 200 //检查返回的状态码是否为200 Response body&#xff1a; contain string //检查响应中包含指定字符串包含指定的值 response body:json value check/ /检查响应中其中json的值 Response body&#xff1a; is equal to string …...

YOLOv8/YOLOv11改进 添加CBAM、GAM、SimAM、EMA、CAA、ECA、CA等多种注意力机制

目录 前言 CBAM GAM SimAM EMA CAA ECA CA 添加方法 YAML文件添加 使用改进训练 前言 本篇文章将为大家介绍Ultralytics/YOLOv8/YOLOv11中常用注意力机制的添加&#xff0c;可以满足一些简单的涨点需求。本文仅写方法&#xff0c;原理不多讲解&#xff0c;需要可跳…...

C语言return与 ? :

上次讲解过一次函数&#xff0c;函数要配合return返回东西&#xff0c;但是在编写一些程序的时候我发现了很多冷门逻辑语法还没有掌握&#xff0c;当时讲课也是看一眼就过去了&#xff08;死去的记忆开始攻击我&#xff09; Return&#xff0c;爽&#xff01; 现在有一个小问…...

持续大额亏损,销量增幅有限,北汽蓝谷依旧黯然神伤

撰稿 | 行星 来源 | 贝多财经 “起了个大早&#xff0c;赶了个晚集”&#xff0c;用在如今的北汽蓝谷身上再合适不过。 2025年的第一个工作日&#xff0c;北汽蓝谷新能源科技股份有限公司&#xff08;SH:600733&#xff0c;简称“北汽蓝谷”&#xff09;对外披露了子公司北京…...

(五)开机自启动以及scp工具文件传输小问题

文章目录 程序开机自启动先制作一个可执行程序第一种 通过命令行实现程序开机自启动第二种 通过 Linux 系统镜像实现程序开机自启动 scp工具文件传输小问题 程序开机自启动 原因&#xff1a;做成产品后&#xff0c;用户直接开机使用&#xff0c;总不能在开机执行程序后才可以使…...

数据挖掘——支持向量机分类器

数据挖掘——支持向量机分类器 支持向量机最小间隔面推导基于软间隔的C-SVM非线性SVM与核变换常用核函数 支持向量机 根据统计学习理论&#xff0c;学习机器的实际风险由经验风险值和置信范围值两部分组成。而基于经验风险最小化准则的学习方法只强调了训练样本的经验风险最小…...

自动化办公 | 根据成绩进行自动评级

今天我们将介绍一个常见的自动化办公需求&#xff1a;根据成绩自动评级。通过这篇文章&#xff0c;我们将介绍如何利用Python进行自动化办公&#xff0c;将表格中的成绩根据预定的规则进行评级&#xff0c;并生成一个新的带评级信息的表格。 需求背景 我们有一个表格&#xf…...

Java强引用、软引用、弱引用、虚引用的区别?

大家好&#xff0c;我是锋哥。今天分享关于【Java强引用、软引用、弱引用、虚引用的区别&#xff1f;】面试题。希望对大家有帮助&#xff1b; Java强引用、软引用、弱引用、虚引用的区别&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在Java中&#…...

pikachu靶场--目录遍历和敏感信息泄露

pikachu靶场—目录遍历和敏感信息泄露 目录遍历 概述 在web功能设计中,很多时候我们会要将需要访问的文件定义成变量&#xff0c;从而让前端的功能便的更加灵活。 当用户发起一个前端的请求时&#xff0c;便会将请求的这个文件的值(比如文件名称)传递到后台&#xff0c;后台再…...

【Unity3D】UGUI Canvas画布渲染流程

参考文档&#xff1a;画布 - Unity 手册 Canvas组件&#xff1a;画布组件是进行 UI 布局和渲染的抽象空间。所有 UI 元素都必须是附加了画布组件的游戏对象的子对象。 参数&#xff1a; Render Mode 渲染模式&#xff1a;Screen Space - Overlay、Screen Spa…...

【办公类-47-02】20250103 课题资料快速打印(单个docx转PDF,多个pdf合并一个PDF 打印)

背景需求&#xff1a; 2023区级大课题《运用Python优化3-6岁幼儿学习活动材料的实践研究》需要做阶段资料 本来应该2024年6月就提交电子稿和打印稿。可是python学具的教学实验实在太多了&#xff0c;不断生成&#xff0c;我忙着做教学&#xff0c;都没有精力去整理。 2025年…...

ELK 使用教程采集系统日志 Elasticsearch、Logstash、Kibana

前言 你知道对于一个系统的上线考察&#xff0c;必备的几样东西是什么吗&#xff1f;其实这也是面试中考察求职者&#xff0c;是否真的做过系统开发和上线的必备问题。包括&#xff1a;服务治理(熔断/限流) (opens new window)、监控 (opens new window)和日志&#xff0c;如果…...

把vue项目或者vue组件发布成npm包或者打包成lib库文件本地使用

将vue项目发布成npm库文件&#xff0c;第三方通过npm依赖安装使用&#xff1b;使用最近公司接了一个项目&#xff0c;这个项目需要集成到第三方页面&#xff0c;在第三方页面点击项目名称&#xff0c;页面变成我们的项目页面&#xff1b;要求以npm库文件提供给他们&#xff1b;…...

遇到复杂的 递归查询sql 需要oracle 转pgsql 可以把数据表结构给ai

遇到复杂的 递归查询sql 需要oracle 转pgsql 可以把数据表结构给ai 并且 建立备份表 把需要的很少的数据放到表里面 这样 ai 可以很好的判断sql 咋写 还可以&#xff0c;让ai解释oracle sql 然后拿到描述和表和字段&#xff0c;给ai让他生成pgsql 的sql&#xff0c;亲测有效...

smell---Paddle-DI

跨模态文档智能大模型–Ernie-Layout 目标&#xff1a;提取文档中无结构或半结构化的知识 github项目地址 Paddle NLP ERNIE-Layout基于Transformer Encode架构&#xff0c;并提出以下trick&#xff1a; 1、OCR工具提取信息 借助OCR工具提取图片中的文字及文字对应的坐标信息…...

【JavaWeb后端学习笔记】MySQL的数据控制语言(Data Control Language,DCL)

MySQL DCL 1、管理用户2、控制权限 DCL英文全称是Data Control Language&#xff08;数据控制语言&#xff09;&#xff0c;用来管理数据库用户、控制数据库访问权限。 1、管理用户 管理用户的操作都需要在MySQL自带的 mysql 数据库中进行。 -- 查询用户 -- 需要先切换到MyS…...

python +tkinter绘制彩虹和云朵

python tkinter绘制彩虹和云朵 彩虹&#xff0c;简称虹&#xff0c;是气象中的一种光学现象&#xff0c;当太阳光照射到半空中的水滴&#xff0c;光线被折射及反射&#xff0c;在天空上形成拱形的七彩光谱&#xff0c;由外圈至内圈呈红、橙、黄、绿、蓝、靛、紫七种颜色。事实…...

【银河麒麟高级服务器操作系统实例】tcp半链接数溢出分析及处理全过程

了解更多银河麒麟操作系统全新产品&#xff0c;请点击访问 麒麟软件产品专区&#xff1a;https://product.kylinos.cn 开发者专区&#xff1a;https://developer.kylinos.cn 文档中心&#xff1a;https://document.kylinos.cn 服务器环境以及配置 系统环境 物理机/虚拟机/云…...

python实现,outlook每接收一封邮件运行检查逻辑,然后发送一封邮件给指定邮箱

以下是一个使用 Python 和 win32com.client 模块实现的示例代码&#xff0c;每当 Outlook 接收到一封新邮件时&#xff0c;执行检查逻辑并发送一封邮件到指定邮箱。这个代码依赖于 Windows 系统和安装了 Microsoft Outlook。 环境准备 确保安装了 pywin32 库&#xff1a;pip …...

HTML——70. 多行文本输入框

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>多行文本输入框</title></head><body><!--单行文本输入框在输入长度超过文本框长度&#xff0c;则超出部分会被隐藏掉&#xff08;即超出部分看不到&a…...