CN111553478B - 基于大数据的社区老年人心血管疾病预测系统与方法 - Google Patents
基于大数据的社区老年人心血管疾病预测系统与方法 Download PDFInfo
- Publication number
- CN111553478B CN111553478B CN202010371767.0A CN202010371767A CN111553478B CN 111553478 B CN111553478 B CN 111553478B CN 202010371767 A CN202010371767 A CN 202010371767A CN 111553478 B CN111553478 B CN 111553478B
- Authority
- CN
- China
- Prior art keywords
- data
- cardiovascular disease
- neural network
- spark
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/70—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A90/00—Technologies having an indirect contribution to adaptation to climate change
- Y02A90/10—Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Public Health (AREA)
- Biophysics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Pathology (AREA)
- Epidemiology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Primary Health Care (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Databases & Information Systems (AREA)
- Measuring And Recording Apparatus For Diagnosis (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
本发明提供了一种基于大数据的社区老年人心血管疾病预测系统与方法。预测系统包括客户端和Spark大数据平台;其中,客户端用于系统与用户之间的交互,用户通过客户端登记病理参数信息,系统通过客户端向用户呈现心血管疾病患病风险的判断结果以及健康建议;Spark大数据平台,包括数据预处理模块,预测模型预测模块,数据管理模块;用于对待训练的数据集进行预处理;对客户端登记的病理参数信息基于BP神经网络进行分析,判断用户的心血管疾病患病风险;并对从多个社区医院客户端接收的病理参数信息进行统一管理和存储。
Description
技术领域
本发明涉及大数据、深度学习领域,特别是关于一种基于大数据的社区老年人心血管疾病预测系统与方法。
背景技术
目前,随着我国基础医疗建设的不断完善,健康医疗大数据已经取得了快速的发展。在2018年4月,国务院发布了《关于促进“互联网+医疗健康”的发展意见》,在该意见中提到了要加强大数据技术在医疗领域的应用。目前,全国已经基本形成了以北京为国家级健康医疗大数据中心,同时以山东、贵州、福建、江苏和安徽为区域健康医疗大数据中心的格局。通过全国范围内的“1+5+X”部署方式,基本能够为全国大部分区域提供健康医疗大数据的服务。
心血管疾病是一种常见的老年人病症,随着近些年来我国老年人口的不断增加,老年人群体中突发心血管疾病的患者数目也在不断的变多。众所周知,心血管疾病突发后的十分钟内是最佳的抢救时间,如果在这十分钟内得不到及时的治疗,那么患者就会有很大的死亡风险。对于心血管疾病而言,虽然其潜伏期很长,但有经验的医生往往可以通过患者的运动负荷试验、Holter检测、血压测量等方式在患者发病早期就及时的发现,并给予相应治疗,从而降低患者突发心血管疾病的可能性。
然而,目前我国的社区医疗条件还存在一定的局限性,并非所有的社区老年群体都可以进行长期的心血管疾病风险排查,并且由于大多数科研人员对疾病预测领域的研究工作主要使用采集的电子病历样本,但是部分医院获取的病理参数信息并不太容易在社区进行采集,所以样本不具有针对性。另外,由于社区的医疗信息化程度不高,导致了社区老年人群体的医疗数据利用率不高。所以本发明针对以上问题提出了一种基于大数据的社区老年人心血管疾病预测系统与方法,来提高社区医疗数据的利用率以及降低心血管疾病给老年群体的健康带来的危害。
发明内容
为了更好的保障老年人的身体健康以及提高医疗数据的利用率,本发明提出了一种基于大数据的社区老年人心血管疾病预测系统与方法。
一种基于大数据的社区老年人心血管疾病预测系统,包括:
客户端,用于系统与用户之间的交互,用户通过客户端登记老年人的病理参数信息,系统通过客户端向用户呈现老年人心血管疾病的患病风险概率以及健康建议;
Spark大数据平台,包括:
数据预处理模块,对用于训练BP神经网络的数据集中的病理参数信息进行预处理;
预测模型预测模块,使用预处理后的数据集训练BP神经网络,并基于BP神经网络,结合通过客户端登记的老年人病理参数信息对老年人心血管疾病患病风险进行判断;
数据管理模块,基于Spark SQL组件,包括HIVE数据仓库、Spark计算引擎和HDFS存储单元,用于对从多个社区医院客户端接收的病理参数信息进行数据查询、存储和统一管理。
数据预处理模块,用于对数据集中的病理参数信息进行预处理,步骤为:
分别计算数据集中不同特征数据的平均值和标准差;
异常数据的筛选,使用3δ原则对异常点进行筛选,根据公式
Pr(μ-3δ≤X≤μ+3δ)≈0.9973
得知每一维特征中99.7%的数据都集中在了[μ-3δ,μ+3δ]的区间范围内,可以认为特征数据值在这范围之外的都为异常数据点;其中,X表示正态分布的观察值,μ表示分布的平均值,δ表示正态分布的标准差;
异常数据的处理,采用中值法来代替离散数据的异常点和缺失值,采用均值法来处理连续型数据中的异常点和缺失值;
数据的标准化,采用Z-score标准化方式将数据集中不同量级的特征转化为统一度量的分值,提高每种特征之间的可比性。
所述数据集中包括从开源数据集中提取出来的十四种特征,分别是年龄、性别、胸部疼痛类型、静息血压、胆固醇、空腹血糖、静息心电图结果、最大心率值、运动是否引发心绞痛、运动引起的ST波的斜率变化、运动高峰期ST波的斜率、透视中被染色的血管数目、是否地中海贫血以及心血管疾病的诊断类型。
预测模型预测模块的BP神经网络的训练过程为:系统首先通过BP神经网络的网络层数、每层所含神经元的个数以及激活函数三个参数来进行网络的初始化,对每个神经元的权值和阈值也进行初始化;对预处理后的数据集进行是否有患病风险的标注,对标注进行独热编码,将其作为输入,以损失函数的值作为导向,对每个神经元的权值参数和偏置参数进行调整,直至完成网络训练,输出训练后的神经网络参数集。
BP神经网络有3层,且每一层网络分别拥有8个、4个、2个神经元,确定初始化每一个神经元的阈值和权重参数都为0,并且设置梯度下降的学习率为0.001。
系统对老年人患病风险的具体判断步骤为:当系统输入老年人的病理参数数据时,对每一位新添加的老年人用户设置一个参数,该参数用来记录老年人用户在一个月内进行有效心血管疾病病理参数登记的次数信息,当该参数高于预先设定好的阈值时,将老年人用户的病理参数信息输入训练后的BP神经网络,进行心血管疾病患病风险的判断,当有患病风险时,系统通过客户端进行报警并对参数清零。
HIVE数据仓库包括JDBC组件、Thrift Server组件、Driver组件、Meta Store组件;其中Driver组件将SQL语句通过其内部集成的编译器、优化器、执行器转化为Spark计算引擎能够识别的Spark任务;Meta Store组件储存着HIVE数据表以及表的列和分区信息。
HIVE数据表,包括:
基本信息表,存放用户的基本信息情况,用于系统对管理员用户、医生用户以及老年人用户进行区分;
老年人用户的病理参数基本信息表,存储老年人用户不经常发生变化的病理参数信息,包括老年人用户的手术史、糖尿病史、心脏病史以及高血压史的信息情况;
心血管疾病病理参数检查指标表,存储每次对社区老年人进行心血管疾病体征参数登记的数据。
使用基于混淆矩阵计算的准确率ACC来评价系统的患病风险判断的准确性;
准确率ACC的定义为:
TP(False Positive)表示模型认为真正Positive标签的数量;FP(FalsePositive)表示模型认为错误且标注为Positive标签的数量;FN(False Negative)表示模型认为错误且标注为Negative标签的数量;TN(True Negative)表示模型认为正确标注为Negative标签的数量;
准确率指标的意义在于展示模型判断正确的数量占总观测数据集的一个比重。
一种基于大数据的社区老年人心血管疾病预测方法:
基于Spark SQL组件构建一个心血管疾病病理参数信息的数据管理模块,并且利用该数据管理模块对从多个社区医院客户端接收的老年人病理参数信息进行统一管理、存储和查询;在预测模型预测模块,用经过预处理的数据集训练BP神经网络,基于训练好的BP神经网络,结合客户端输入的病理参数信息对老年人心血管疾病患病风险进行判断;将判断结果在客户端呈现给用户。
本发明的有益效果在于:
1.心血管疾病预测系统需要进行大量的数据操作来实现心血管疾病的预测工作,所以对于系统数据处理速度方面有一定的要求,相对于Hadoop大数据框架,基于内存的弹性分布式数据集的Spark大数据框架在进行数据计算时,不需要将中间结果存放会硬盘中,所以其计算速度更快,并且随着计算机内存条的价格的降低,搭建Spark大数据平台并不会增加太多的经济成本。
2.基于大数据平台对社区老年人的心血管疾病病理参数信息进行存储和管理,降低了收集社区老年群体病理参数采集的成本,同时也提升了病理参数信息的利用率。
3.采用机器学习算法判断老年人的心血管疾病患病风险,可以更好的保障老年人的身体健康,同时降低了社区医生的工作负担。
附图说明
图1为预测系统整体框架图;
图2为数据管理模块的框架图;
图3为Spark SQL的逻辑框架图;
图4为Spark SQL的执行过程图;
图5为BP神经网络结构图;
具体实施方式
下面结合附图和优选实施例对本发明展开更进一步的描述,参见图1—图5。
实施例一:
本实施例提供一种基于大数据的社区老年人心血管疾病预测系统,其整体框架如图1所示,包括:客户端,用于系统与用户之间的交互,用户通过客户端登记老年人的病理参数信息,系统通过客户端向用户呈现老年人心血管疾病的患病风险概率以及健康建议;Spark大数据平台包括数据预处理模块,对用于训练BP神经网络的数据集中的病理参数信息进行预处理;预测模型预测模块,使用预处理后的数据集训练BP神经网络,并基于BP神经网络,结合用户登记的老年人病理参数信息对老年人心血管疾病患病风险进行判断;数据管理模块,基于Spark SQL组件,包括HIVE数据仓库、Spark计算引擎和HDFS存储单元,用于对从多个社区医院客户端接收的病理参数信息进行数据查询、存储和统一管理。
下面结合系统整体框架图对系统的功能进行介绍。
心血管疾病病理参数的采集。心血管疾病预测系统通过多个社区医院对老年人进行心血管疾病病理参数的数据采集。并且,社区医院需要将每一名老年人用户的病理参数信息通过客户端提交到Spark大数据平台当中。
人机交互界面。系统通过客户端的交互界面达到与用户进行信息交互的目的。用户可以通过客户端更改自己账号密码信息,也可以通过客户端交互界面进行心血管疾病的请求申请。客户端会根据系统后台的预测结果信息以弹窗的方式呈现给用户,实现人机交互的目的。
老年人心血管疾病病理参数信息储存。HIVE数据仓库中包含元数据,系统以HIVEon Spark的方式对从多个社区医院客户端接收的用户的病理参数信息进行存储和统一管理,为后期对社区老年人的病理参数信息进行分析时提供平台支持。
Hadoop作为大数据生态圈最早期的主流平台,已经在各个领域得到了广泛的应用,但Hadoop存在运行效率低、不适合流计算等缺点。Spark是在Hadoop的基础上改进的一个大数据框架,比较两个大数据框架,可以发现Hadoop大数据框架更倾向于大数据的存储功能,在执行计算任务时速度相对较慢;Spark大数据框架则更倾向于需要大量数据计算的应用场景,其计算速度相对较快。而本发明所述的预测系统需要进行大量的数据操作,来实现心血管疾病的预测工作,所以对于系统数据处理速度方面有一定的要求。另外,随着DDR内存计算的发展,计算机内存条的价格也大幅降低,所以搭建Spark大数据平台并不会增加太多的经济成本。综上所述,Spark大数据平台更适合老年人心血管疾病预测系统的搭建工作。
该预测系统基于Spark大数据框架,系统采用HIVE on Spark的方式进行数据的存储,数据管理模块的框架如图2所示。
该系统只使用了Spark生态中四个关键组件中的Spark SQL组件,Spark SQL是Spark框架中非常重要的一部分,它是按照SQL数据库的操作方法来操作和管理大数据。在使用Spark来管理大数据时,工程师除了直接在Spark计算引擎上使用RDD编程直接操作数据之外,还可以直接使用类似SQL语法的语言来对数据进行操作,而跳过了RDD编程的环节,这样操作数据的方式就需要通过Spark SQL组件作为中间媒介。使用Spark SQL组件来管理数据大大降低了工程师操作大数据的门槛,让一部分不熟悉Scala和JAVA的工程师也可以灵活的使用Spark SQL来管理和操作大数据。Spark SQL的具体的逻辑框架如图3所示。
Spark SQL对外提供服务的方式有三种,分别是Spark SQL CLI(命令行)、SparkSQL服务和API编程接口。这些操作方式的多样性,让Spark SQL能够适合于不同的应用场景。本实施例使用了JAVA API接口实现了对存储在Spark大数据框架中的老年人心血管疾病体征参数进行了管理。Spark SQL逻辑框架中Spark SQL内核起到了一个承上启下的作用,可以将外部不同服务执行的任务解析成Spark计算引擎能够识别的Spark任务。SparkSQL还包括Spark计算引擎模块,用于执行HIVE中Driver组件分解出来的计算任务;采用HDFS分布式文件系统对数据进行有效的存储。HDFS分布式文件系统有着高容错性的特点,其主从备份的性质,使其在较为低廉的机器上面同样也可以保证数据的安全性和稳定性。这个特点对于降低社区医疗硬件成本将有非常大的帮助。
Spark SQL是衔接Spark引擎与应用层的重要组件,并且Spark SQL的核心是一个SQL解析器,其主要工作是将一条完整的SQL语句解析成一个个子任务,并且在解析过程中使用优化规则集对整个解析过程进行优化,达到降低子任务复杂度的目的。Spark SQL内核的SQL执行过程如图4所示。
Spark SQL引擎将一条SQL语句转化为一系列Spark能够识别的Spark RDD任务需要四步,分别是:解析、绑定、优化、执行。
解析阶段:由于Spark SQL内核已经定义好了完善的逻辑计划(Logical Plan)操作算子,所以通过Hive SQL解析器后,可将SQL映射成SQL内核的逻辑计划树。
绑定阶段:在解析后的逻辑计划树中加入数据表中的元数据信息,其中包括获取数据表对应的列名及其数据类型等。
优化阶段:Spark内核采用系统内部的优化规则对逻辑计划树进行优化,目的是提高后期执行阶段的运行速度。目前,Spark SQL内核的优化规则中,优化的条目规则有限,但整体设计的框架非常简洁,便于后期加入更多新的优化策略。
执行阶段:经过优化阶段后的逻辑计划树,称之为物理计划树(Physical Plan),其最终将被提交给Spark计算引擎进行相应的数据运算。
Spark SQL是Spark社区中非常重要的一个组件,其除了提供较完备的SQL语句查询之外,Spark SQL还提供了非常强大的JAVA/Python API(接口)服务。实施例中的心血管疾病预测系统中使用Spark SQL对社区老年人的心血管疾病相关病理参数进行存储和统一管理,使得系统具有存储PB级别数据的能力,并且能够保证数据的安全性和系统的扩展性。
HIVE数据仓库是基于Spark SQL组件的,其操作可以使用SQL语句,大大降低了操作大数据的使用门槛,使得部分不熟悉编程的科研人员和医护人员也能够方便的使用存储的心血管疾病病理参数数据。
HIVE数据仓库包括:
JDBC(Java Database Connectivity)组件:JDBC为HIVE数据仓库提供了可以使用JAVA语言访问的数据库接口。系统在后台服务器代码中利用JDBC接口实现对HIVE数据仓库的访问,然后将数据呈现在UI界面当中。
Thrift Server组件:该组件是Facebook开发的一个软件框架,目的是提供一种跨语言和平台的服务开发,系统设计HVIE数据仓库适应该组件进行JAVA语言到HIVE数据接口的翻译工作。
Driver组件:该组件提供了一个SQL计算引擎的功能,其作用是将SQL语句通过Driver组件内部集成的编译器(Compiler)、优化器(Optimizer)、执行器(Executor)三个部分转化为Spark计算引擎能够识别的Spark任务。
Meta Store组件:该组件储存着HIVE数据仓库中的元数据。其中元数据信息包括了在本节上设计的三张数据表,以及表的列,分区信息等。
其中,三张数据表分别是:
基本信息表,主要用于存放用户的基本信息情况。用于系统对管理员用户、医生用户以及老年人用户进行区别。表中包含6个字段,其中uno字段表示用户的唯一编号,该字段也作为表的主键,不能为空且自增;第二个字段是用户的姓名;第三个字段为用户的性别;第四个字段为用户的年龄;第五个字段为用户的类别,我们利用该字段来区别医生用户、老年人用户以及管理员用户;第六个字段为用户密码字段,用户可以使用账号编号加密码进行账户的登入。
老年人用户的病理参数基本信息表,主要存储老年人用户大的手术史、糖尿病史、心脏病史以及高血压史的情况。设计该表的目的是用来存储部分老年人用户不经常发生变化的病理参数信息。系统将这部分信息单独存储的目的是减少每次进行老年人用户病理参数录入时的数据操作。该表包含6个字段分别是账号编号,该字段是用户的唯一编号、另外还有用户姓名字段、手术史字段、糖尿病史、心脏病史以及高血压史。
心血管疾病病理参数检查指标表。存储每次对社区老年人进行心血管疾病体征参数登记的数据。该表一共有7段数据,包括账户编号字段、用户姓名字段、检查时间字段、血压值字段、峰值心率字段、ST波斜率字段以及脂蛋白字段。
至此,完成Spark大数据平台搭建。
老年人心血管疾病患病风险预测:
实施例通过Tensorflow搭建BP神经网络,首先对网络层数、激活函数以及每层所含神经元的数目这三个参数进行模型的初始化,并且设置每一个神经元的权值和阈值。然后,输入训练数据集数据对网络进行训练。最后,系统输入老年人的心血管疾病病理参数信息,经过BP神经网络的分析运算,将判断结果反馈给客户端交互界面。
首先通过数据预处理模块对待训练数据进行处理。
本实施例采用UCI开源的心血管疾病数据集对BP神经网络进行训练。该数据集包含76个属性,从该开源的数据集中选取出其中十四个特征,分别是:分别是年龄(age)、性别(sex)、胸部疼痛类型(cp)、静息血压(trestbps)、胆固醇(chol)、空腹血糖(fps)、静息心电图结果(ecg)、最大心率值(hr)、运动是否引发心绞痛(exang)、运动引起的ST波的斜率变化(oldpeak)、运动高峰期ST波的斜率(slope)、透视中被染色的血管数目(ca)、是否地中海贫血(thal)以及心血管疾病的诊断类型(num)。
数据预处理模块,用于对数据集中的病理参数信息进行预处理,步骤为:
分别计算数据集中不同特征数据的平均值和标准差;
异常数据的筛选。使用3δ原则对异常点进行筛选,假设数据集中的数据是符合正态分布的,则通过如下的公式可知:
Pr(μ-3δ≤X≤μ+3δ)≈0.9973
其中,X表示正态分布的观察值,μ表示分布的平均值,δ表示正态分布的标准差。
几乎所有的数据都会在平均值的3个标准差范围之内。因此,可以认为在数据的平均值的3个标准差范围之外的数据都是异常点数据。根据这样的标准,就可以选择出数据集数据的异常点。由于考虑到数据性质的问题,实施例只对age、bps、chl、hr、oldpeak这五个特征的数据异常点进行处理。通过计算数据集中五种特征的平均值μ以及标准差δ,可以准确的筛选出五种特征里包含的异常点。另外对于类似性别这类属性,由于取值只有0和1两种选择,而对于异常点,数据集已经将其取值标定为-1,所以较为容易可以筛选出这类数据的异常点。
异常数据的处理。通过上述步骤,可以确定出数据集中的异常值与缺失值,其中包括了离散型数据和连续型数据。采用了中值法的方式来代替离散数据的异常点和缺失值,目的是为了不破坏离散数据的取值特性,而对于连续型数据,采用均值法来处理其中的异常点和缺失值。
数据的标准化。由于数据存在不同的单位和量纲,其属性差异会影响到预测系统的判断结果以及网络模型的收敛情况,所以采用Z-score标准化方式将数据集中不同量级的特征转化为统一度量的值,提高每一种特征之间的可比性,Z-score标准化的公式如下所示:
其中,μ表示数据集的平均值,δ表示数据集的标准差,x*则表示数据Z-score标准化后的数值。
至此,完成用于训练BP神经网络的数据集中的病理参数信息的预处理。
BP神经网络是一种多层前馈神经网络,其结构图如图5所示,其学习过程是一个将信号正向传播以及误差反向传播的过程;在BP神经网络的正向传播过程中,将信号通过由输入层输入,然后经过隐层处理,最后传输到输出层;比较实际输出值与期望输出值,将得到的误差反向传递给隐层、输入层。
系统首先对BP神经网络的网络层数、每层所含神经元的个数以及激活函数三个参数来进行网络的初始化,对每个神经元的权值和阈值也进行初始化;对预处理后的数据集进行是否有患病风险的标注,对标注进行独热编码,将其作为输入,并且以减小误差作为调整网络参数的依据,对网络中每个神经元的阈值和权重进行调整。选用梯度下降法,设定学习率来优化损失函数,寻找到最优的参数,使得损失函数的值最小。
实施例中BP神经网络有3层,且每一层网络分别拥有8个、4个、2个神经元,确定初始化每一个神经元的阈值和权重参数都为0,并且设置梯度下降的学习率为0.001。由于需要对网络模型预测的准确性进行判断,且确保网络模型没有出现过拟合的现象。系统需要保留一部分没有参与训练的数据集来判断网络模型预测的准确性。所以系统将提取出来的包括十四种特征的数据集分割成7:3的比例,其中70%训练网络模型时使用,另外30%对系统进行测试评价时使用。
网络模型在损失函数的引导下,不断的将误差向上一层网络进行传递,达到调整每一个神经元阈值和权重的目的。每一次完整的传递称为一次迭代,实施例共设计了100次迭代。
在完成100次迭代之后,使用测试数据集进行模型准确性的测试。在达到准确性要求之后,输入老年人心血管疾病病理参数数据,对老年人心血管疾病的患病风险做一个准确的判断,并将最终的预测结果以客户端弹窗的方式告知用户。
系统对用户患病风险的具体判断步骤为:当系统输入老年人的病理参数数据时,对每一位新添加的老年人用户设置一个参数,该参数用来记录老年人用户在一个月内进行有效心血管疾病病理参数登记的次数信息,当该参数高于预先设定好的阈值时,实施例中阈值为5,将老年人用户的病理参数数据输入训练后的BP神经网络,进行心血管疾病患病风险判断,当有患病风险时,系统通过客户端进行报警并对参数清零。
系统测试评价。系统的测试评价主要通过以下两个方面进行。一方面是用户的直观使用情况;另一方面是系统对疾病的预测准确度的测试评价。系统通过BP神经网络的准确率、精确率、召回率以及F1值四个指标来判断该模型的预测准确性。
为了更好的分析出心血管疾病系统的预测效果,实施例使用了4种评估指标来评价模型的预测准确性。分别是准确率Accuracy、精确率Precision、召回率Recall和F1值。这四个评价指标的评价是基于混淆矩阵来计算的。混淆矩阵是监督学习中的一种可视化工具,主要作用是用来比较分类结果和实例的真实信息。矩阵中每一行代表样本的预测类别,每一列代表样本的真实类别;
在混淆矩阵中我们可以得到四个基础的指标,分别是TP、FP、FN、TN,TP(FalsePositive)表示模型认为真正Positive标签的数量;FP(False Positive)表示模型认为错误且标注为Positive标签的数量;FN(False Negative)表示模型认为错误且标注为Negative标签的数量;TN(True Negative)表示模型认为正确标注为Negative标签的数量。
准确率ACC定义如下:
准确率指标的意义在于展示模型判断正确的数量占总观测数据集的一个比重。
精确率PPV定义如下:
精确率的意义,在呈现所有Positive标签的结果中,判断正确占的比重。
召回率TPR的定义如下:
召回率的意义,在呈现所有真实Positive标签中,判断正确所占的比重。
F1_Score的定义如下:
其中P表示精确率,R表示召回率。F1_Score指数在数值上综合了精确率和召回率两个指标,且当F1_Score=1时表示模型的预测准确度最好,当F1_Score=0时表示模型的预测的准确度最差。
通过对训练模型进行不同迭代次数的对比,能够得出BP神经网络的预测模型随着训练次数的增加,每一个神经元的权重以及神经元之间的阈值都得到了不断的优化,从而使得BP神经网络的预测精度不断提高。在迭代次数达到100次时预测的准确率ACC最高可以达到0.9016。
将通过社区医院客户端登记的老年人病理参数信息送至训练后的网络模型进行患病风险的判断。
至此,完成BP神经网络的训练与患病风险的判断。
基于Spark大数据框架的老年人心血管疾病预测系统是一个在传统的C/S架构上搭建的疾病预测系统,其服务器包含Web服务器、客户端服务器和大数据集群服务器。关于存储数据的大数据集群服务器,实施例采用Standalone的模式来部署。同时,本系统的开发也离不开硬件支持,由于系统需要进行大量的矩阵运算来对BP神经网络模型进行训练。所以系统对于GPU的性能有一定的要求。另外,由于Spark中的RDD是基于内存的计算的模型,所以系统对于计算机内存大小也有一定的要求。
根据以上需求,在实施例中,系统采用的硬件为:处理器Intel(R)Core(TM)i5-7300HQ CPU@2.5GHZ;内存16GB;显卡NVIDIAGTX1050Ti。开发软件环境:Linux ubuntu4.13.0-16-generic。集群节点数:1个。
实施例二:
本实施例提供一种基于大数据的社区老年人心血管疾病预测方法:
基于Spark SQL组件构建一个心血管疾病病理参数信息的数据管理模块,利用该数据管理模块对从多个社区医院客户端接收的病理参数信息进行统一管理、存储和查询,为后期社区老年人群体的数据分析提供平台支持。
多个社区医院对老年人心血管疾病病理参数进行数据采集,并且将老年人的病理参数信息通过客户端提交到数据管理模块中。
在预测模型预测模块,用经过预处理的数据集训练BP神经网络,基于训练好的BP神经网络,结合客户端输入的老年人病理参数信息对老年人用户心血管疾病患病风险进行判断;
将判断结果以及相关健康建议在客户端以弹窗的方式呈现给用户,用户也可以在客户端更改账号密码信息,并提交进行心血管疾病预测的请求申请,实现人机交互的目的。
以上所述旨在让相关技术领域人员更好的理解本发明,并不用于限制本发明。
Claims (10)
1.一种基于大数据的社区老年人心血管疾病预测系统,其特征在于,该系统包括:
客户端,用于系统与用户之间的交互,用户通过客户端登记老年人的病理参数信息,系统通过客户端向用户呈现老年人心血管疾病的患病风险概率以及健康建议;
Spark大数据平台,包括:
数据预处理模块,对用于训练BP神经网络的数据集中的病理参数信息进行预处理;
预测模型预测模块,使用预处理后的数据集训练BP神经网络,并基于BP神经网络,结合通过客户端登记的老年人病理参数信息对老年人心血管疾病患病风险进行判断;
数据管理模块,基于Spark SQL组件,包括HIVE数据仓库、Spark计算引擎和HDFS存储单元,用于对从多个社区医院客户端接收的病理参数信息进行数据查询、存储和统一管理。
2.如权利要求1所述的系统,其特征在于,数据预处理模块,用于对数据集中的病理参数信息进行预处理,步骤为:
分别计算数据集中不同特征数据的平均值和标准差;
异常数据的筛选,使用3δ原则对异常点进行筛选,根据公式
Pr(μ-3δ≤X≤μ+3δ)≈0.9973
每一维特征中99.7%的数据都集中在了[μ-3δ,μ+3δ]的区间范围内,特征数据值在这范围之外的都为异常数据点;其中,X表示正态分布的观察值,μ表示分布的平均值,δ表示正态分布的标准差;
异常数据的处理,采用中值法来代替离散数据的异常点和缺失值,采用均值法来处理连续型数据中的异常点和缺失值;
数据的标准化,采用Z-score标准化方式将数据集中不同量级的特征转化为统一度量的分值,提高每种特征之间的可比性。
3.如权利要求1所述的系统,其特征在于,所述数据集中包括从开源数据集中提取出来的十四种特征,分别是年龄、性别、胸部疼痛类型、静息血压、胆固醇、空腹血糖、静息心电图结果、最大心率值、运动是否引发心绞痛、运动引起的ST波的斜率变化、运动高峰期ST波的斜率、透视中被染色的血管数目、是否地中海贫血以及心血管疾病的诊断类型。
4.如权利要求1所述的系统,其特征在于,所述预测模型预测模块的BP神经网络的训练过程为:系统首先对BP神经网络的网络层数、每层所含神经元的个数以及激活函数三个参数来进行网络的初始化,对每个神经元的权值和阈值也进行初始化;对预处理后的数据集进行是否有患病风险的标注,对标注进行独热编码,将其作为输入,以损失函数的值为导向,对每个神经元的权值参数和偏置参数进行调整,直至完成网络训练,输出训练后的神经网络参数集。
5.如权利要求1所述的系统,其特征在于,所述BP神经网络有3层,且每一层网络分别拥有8个、4个、2个神经元,确定初始化每一个神经元的阈值和权重参数都为0,并且设置梯度下降的学习率为0.001。
6.如权利要求1所述的系统,其特征在于,系统对老年人患病风险的具体判断步骤为:当系统输入老年人的病理参数数据时,对每一位新添加的老年人用户设置一个参数,该参数用来记录老年人用户在一个月内进行有效心血管疾病病理参数登记的次数信息,当该参数高于预先设定好的阈值时,将老年人用户的病理参数信息输入训练后的BP神经网络,进行心血管疾病患病风险的判断,当有患病风险时,系统通过客户端进行报警并对参数清零。
7.如权利要求1所述的系统,其特征在于,所述HIVE数据仓库包括JDBC组件、ThriftServer组件、Driver组件、Meta Store组件;其中,Driver组件将SQL语句通过其内部集成的编译器、优化器、执行器转化为Spark计算引擎能够识别的Spark任务;Meta Store组件储存着HIVE数据表以及表的列和分区信息。
8.如权利要求7所述的系统,其特征在于,所述HIVE数据表,包括:
基本信息表,存放用户的基本信息情况,用于系统对管理员用户、医生用户以及老年人用户进行区分;
老年人用户的病理参数基本信息表,存储老年人用户不经常发生变化的病理参数信息,包括老年人用户的手术史、糖尿病史、心脏病史以及高血压史的信息情况;
心血管疾病病理参数检查指标表,存储每次对社区老年人进行心血管疾病体征参数登记的数据。
9.如权利要求1所述的系统,其特征在于,使用基于混淆矩阵计算的准确率ACC来评价系统患病风险判断的准确性;其中,准确率ACC的定义为:
TP(False Positive)表示模型认为真正Positive标签的数量;FP(False Positive)表示模型认为错误且标注为Positive标签的数量;FN(False Negative)表示模型认为错误且标注为Negative标签的数量;TN(True Negative)表示模型认为正确且标注为Negative标签的数量;
准确率指标的意义在于展示模型判断正确的数量占总观测数据集的一个比重。
10.一种基于大数据的社区老年人心血管疾病预测方法,其特征在于,基于Spark SQL组件构建一个心血管疾病病理参数信息的数据管理模块,并且利用该数据管理模块对从多个社区医院客户端接收的老年人病理参数信息进行统一管理、存储和查询;在预测模型预测模块,用经过预处理的数据集训练BP神经网络,基于训练好的BP神经网络,结合客户端输入的病理参数信息对老年人心血管疾病患病风险进行判断;将判断结果在客户端呈现给用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010371767.0A CN111553478B (zh) | 2020-05-06 | 2020-05-06 | 基于大数据的社区老年人心血管疾病预测系统与方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010371767.0A CN111553478B (zh) | 2020-05-06 | 2020-05-06 | 基于大数据的社区老年人心血管疾病预测系统与方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111553478A CN111553478A (zh) | 2020-08-18 |
CN111553478B true CN111553478B (zh) | 2023-08-04 |
Family
ID=72007963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010371767.0A Active CN111553478B (zh) | 2020-05-06 | 2020-05-06 | 基于大数据的社区老年人心血管疾病预测系统与方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111553478B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112331348B (zh) * | 2020-10-21 | 2021-06-25 | 北京医准智能科技有限公司 | 集标注、数据、项目管理和无编程化建模的分析方法和系统 |
CN113764105A (zh) * | 2021-10-21 | 2021-12-07 | 南方医科大学南方医院 | 一种中老年心血管数据预测方法 |
CN114300132A (zh) * | 2021-12-01 | 2022-04-08 | 万达信息股份有限公司 | 基于大数据算法的疾病风险预测模型生成系统 |
CN116230250B (zh) * | 2023-02-01 | 2023-09-29 | 郑州大学 | 一种基于大数据的疾病预测方法及系统 |
TWI854592B (zh) * | 2023-04-12 | 2024-09-01 | 臺北榮民總醫院 | 用於預測心血管疾病的風險之方法及系統 |
CN116543909A (zh) * | 2023-06-27 | 2023-08-04 | 东莞理工学院 | 医疗监护系统、方法、设备和存储介质 |
CN118737501A (zh) * | 2024-07-16 | 2024-10-01 | 云南医无界医疗网络科技有限公司 | 一种利用人工智能辅助诊断的远程会诊平台 |
CN118522463B (zh) * | 2024-07-23 | 2024-09-27 | 中国人民解放军总医院第二医学中心 | 基于大数据分析的老年人心血管疾病预测系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU1837495A (en) * | 1994-10-13 | 1996-05-06 | Horus Therapeutics, Inc. | Computer assisted methods for diagnosing diseases |
SG183435A1 (en) * | 2010-03-15 | 2012-09-27 | Singapore Health Serv Pte Ltd | Method of predicting the survivability of a patient |
CN104504297A (zh) * | 2015-01-21 | 2015-04-08 | 甘肃百合物联科技信息有限公司 | 一种利用神经网络的高血压预测方法 |
US11138201B2 (en) * | 2017-11-29 | 2021-10-05 | Omics Data Automation, Inc. | System and method for integrating data for precision medicine |
-
2020
- 2020-05-06 CN CN202010371767.0A patent/CN111553478B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111553478A (zh) | 2020-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111553478B (zh) | 基于大数据的社区老年人心血管疾病预测系统与方法 | |
US11714837B2 (en) | Synonym discovery | |
Huang et al. | A regularized deep learning approach for clinical risk prediction of acute coronary syndrome using electronic health records | |
US8554580B2 (en) | Automated management of medical data using expert knowledge and applied complexity science for risk assessment and diagnoses | |
CN112786131B (zh) | 识别就诊信息的方法及装置、电子设备和存储介质 | |
CN112397159A (zh) | 临床试验报告自动录入方法及装置、电子设备、存储介质 | |
CN108231146A (zh) | 一种基于深度学习的医疗记录模型构建方法、系统及装置 | |
CN112967803A (zh) | 基于集成模型的急诊患者早期死亡率预测方法及系统 | |
Mandava | MDensNet201-IDRSRNet: Efficient cardiovascular disease prediction system using hybrid deep learning | |
Chen et al. | A Novel Method of Heart Failure Prediction Based on DPCNN-XGBOOST Model. | |
RU2752792C1 (ru) | Система для поддержки принятия врачебных решений | |
Mainenti et al. | Machine Learning Approaches for Diabetes Classification: Perspectives to Artificial Intelligence Methods Updating. | |
Uddin et al. | A Voice assistive mobile application tool to detect cardiovascular disease using machine learning approach | |
KR20230068717A (ko) | 입원 환자의 퇴원 예측을 위한 장치 및 방법 | |
CN118762826A (zh) | 基于冠脉诊疗大数据进行冠脉狭窄及ffr预测的方法 | |
CN118760973A (zh) | 一种基于多模态融合的脑出血患者重症监护需求预测方法 | |
CN118553435A (zh) | 一种医疗临床数据处理方法、系统、设备及存储介质 | |
CN112652400A (zh) | 基于专病视图相似分析病情参考方法、系统、设备和介质 | |
Sinha et al. | CARDPSoML: Comparative approach to analyze and predict cardiovascular disease based on medical report data and feature fusion approach | |
US20240266062A1 (en) | Disease risk evaluation method, disease risk evaluation system, and health information processing device | |
Bamidele et al. | Survival model for diabetes mellitus patients’ using support vector machine | |
CN112820368A (zh) | 重症患者数据集的构建方法、系统、设备和存储介质 | |
Alaria et al. | Design Simulation and Assessment of Prediction of Mortality in Intensive Care Unit Using Intelligent Algorithms | |
EP4503051A1 (en) | Apparatus and method for determining a patient survival profile using artificial intelligence-enabled electrocardiogram (ecg) | |
Nagappan et al. | Heart Disease Prediction Using Data Mining Technique |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |