Python实现深度神经网络RNN-LSTM分类模型(医学疾病诊断)

简介: Python实现深度神经网络RNN-LSTM分类模型(医学疾病诊断)

说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取。

image.png

image.png


1.项目背景

随着互联网+的不断深入,我们已步入人工智能时代,机器学习作为人工智能的一个分支越来越多地被应用于各行各业,其中在临床医学检测中也得到了越来越多的应用。基于临床医学越来越多的检测数据,通过建立一个机器学习模型来进行更加智能地预测已成为当今时代的使命。本模型也是基于一些历史的疾病数据进行建模、预测。

2.收集数据

本数据是模拟数据,分为两部分数据:

训练数据集:data.csv

测试数据集:test.csv

在实际应用中,根据自己的数据进行替换即可。

特征数据:age、gender、body_mass_index、heart_failure hypertension、 chronic_obstructic_pulmonary_disease、 chronic_liver_disease、……renal_toxic_drug  

标签数据:acute_kidney_disease

3.数据预处理

1)原始数据描述:

image.png

2)数据完整性、数据类型查看:

image.png
  image.png

3)数据缺失值个数:

image.png

image.png

可以看到数据不存在缺失值。

 

4.探索性数据分析

1)显示age特征的分布情况:

image.png

2)显示gender特征的分布情况:

image.png

 

3)显示heart_failure特征的分布情况:

image.png

剩下的其它特征,可以自行分析。

 

4)相关性分析

image.png

image.png

说明:正值是正相关、负值时负相关,值越大变量之间的相关性越强。

5.特征工程

1)特征数据和标签数据拆分,acute_kidney_disease为标签数据,除acute_kidney_disease之外的为特征数据;

image.png

2)数据集拆分,分为训练集和尝试集

image.png

image.png

数据集已提前分好,直接读取即可。

6.LSTM建模  

1)神经网路LSTM简单介绍:

LSTM网络是RNN的一个变体,也是目前更加通用的循环神经网络结构,全程为Long Short-Term Memory,翻译成中文叫作”长 ‘短记忆’”网络。读的时候,”长”后面要稍作停顿,不要读成”长短”记忆网络,因为那样的话,就不知道记忆到底是长还是短。本质上,它还是短记忆网络,只是用某种方法把”短记忆”尽可能延长了一些。

简而言之,LSTM就是携带一条记忆轨道的循环神经网络,是专门针对梯度消失问题所做的改进。它增加的记忆轨道是一种携带信息跨越多个时间步的方法。可以先想象有一条平行于时间序列处理过程的传送带,序列中的信息可以在任意位置”跳”上传送带,然后被传送到更晚的时间步,并在需要时原封不动地”跳”过去,接受处理。这就是LSTM原理:就像大脑中的记忆存储器,保存信息以便后面使用,我们回忆过去,较早期的信息就又浮现在脑海中,不会随着时间的流逝而消失得无影无踪。

这个思路和残差连接非常相似,其区别在于,残差连接解决的是层与层之间得梯度消失问题,而LSTM解决的是循环层与神经元层内循环处理过程中的消息消失问题。

简单来说,C轨道将携带着跨越时间步的信息。它在不同的时间步的值为Ct,这些信息将与输入连接和循环连接进行运算(即与权重矩阵进行点积,然后加上一个偏置,以及加一个激活过程),从而影响传递到下一个时间步的状态如右图所示。

image.png

LSTM-增加了一条记忆轨道,携带序列中较早的信息

 

2) 建立LSTM分类模型,模型参数如下:

 

 

编号

参数

1

loss='binary_crossentropy'

2

optimizer='adam'

3

metrics=['acc']

 

其它参数根据具体数据,具体设置。

 

3)神经网络结构及概要

神经网络结构图: 

image.png

 

神经网络概要:

image.png

可以看到每层网络的类型、形状和参数。

 

7.模型评估

1)评估指标主要采用查准率、查全率、F1

 

编号

评估指标名称

评估指标值

1

查准率

98.74%

2

查全率

100.00%

3

F1

99.37%

 

通过上述表格可以看出,此模型效果良好。

 

2)损失和准确率图

image.png

3)ROC曲线绘制

训练集ROC曲线图:

image.png

测试集ROC曲线图:

image.png

8.临床应用

根据测试集的特征数据,来预测这些患者是否会有相关疾病;根据预测结果:针对将来可能会患有此种疾病的人员,提前进行预防。

预测结果如下:

image.png

# 本次机器学习项目实战所需的资料,项目资源如下:
 
# 项目说明:
 
# 获取方式一:
 
# 项目实战合集导航:
 
https://docs.qq.com/sheet/DTVd0Y2NNQUlWcmd6?tab=BB08J2
 
# 获取方式二:
 
链接:https://pan.baidu.com/s/1PE58j5RizuobkojAsSFwGg 
提取码:5gnl
相关实践学习
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
机器学习/深度学习 算法 量子技术
GQNN框架:让Python开发者轻松构建量子神经网络
为降低量子神经网络的研发门槛并提升其实用性,本文介绍一个名为GQNN(Generalized Quantum Neural Network)的Python开发框架。
411 4
GQNN框架:让Python开发者轻松构建量子神经网络
|
运维 监控 数据可视化
Python 网络请求架构——统一 SOCKS5 接入与配置管理
通过统一接入端点与标准化认证,集中管理配置、连接策略及监控,实现跨技术栈的一致性网络出口,提升系统稳定性、可维护性与可观测性。
|
机器学习/深度学习 数据采集 数据挖掘
基于 GARCH -LSTM 模型的混合方法进行时间序列预测研究(Python代码实现)
基于 GARCH -LSTM 模型的混合方法进行时间序列预测研究(Python代码实现)
510 2
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的青少年网络使用情况分析及预测系统
本研究基于Python大数据技术,构建青少年网络行为分析系统,旨在破解现有防沉迷模式下用户画像模糊、预警滞后等难题。通过整合多平台亿级数据,运用机器学习实现精准行为预测与实时干预,推动数字治理向“数据驱动”转型,为家庭、学校及政府提供科学决策支持,助力青少年健康上网。
|
机器学习/深度学习 算法 安全
【PSO-LSTM】基于PSO优化LSTM网络的电力负荷预测(Python代码实现)
【PSO-LSTM】基于PSO优化LSTM网络的电力负荷预测(Python代码实现)
570 0
|
机器学习/深度学习 算法 数据安全/隐私保护
基于PSO粒子群优化TCN-LSTM时间卷积神经网络时间序列预测算法matlab仿真
本内容展示了一种基于粒子群优化(PSO)与时间卷积神经网络(TCN)的时间序列预测方法。通过 MATLAB2022a 实现,完整程序运行无水印,核心代码附详细中文注释及操作视频。算法利用 PSO 优化 TCN 的超参数(如卷积核大小、层数等),提升非线性时间序列预测性能。TCN 结构包含因果卷积层与残差连接,结合 LSTM 构建混合模型,经多次迭代选择最优超参数,最终实现更准确可靠的预测效果,适用于金融、气象等领域。
|
JSON 网络安全 数据格式
Python网络请求库requests使用详述
总结来说,`requests`库非常适用于需要快速、简易、可靠进行HTTP请求的应用场景,它的简洁性让开发者避免繁琐的网络代码而专注于交互逻辑本身。通过上述方式,你可以利用 `requests`处理大部分常见的HTTP请求需求。
1024 51
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
835 18
基于python的网络课程在线学习交流系统
本研究聚焦网络课程在线学习交流系统,从社会、技术、教育三方面探讨其发展背景与意义。系统借助Java、Spring Boot、MySQL、Vue等技术实现,融合云计算、大数据与人工智能,推动教育公平与教学模式创新,具有重要理论价值与实践意义。
|
机器学习/深度学习 数据采集 并行计算
多步预测系列 | LSTM、CNN、Transformer、TCN、串行、并行模型集合研究(Python代码实现)
多步预测系列 | LSTM、CNN、Transformer、TCN、串行、并行模型集合研究(Python代码实现)
1204 2

热门文章

最新文章

推荐镜像

更多