基于Hadoop的医疗数据挖掘系统的设计与实现

摘要:我国医疗技术经过几千年的历史沉淀,在历代医疗理论和临床实践中积累了大量的经验和数据。其中,病案数据是医疗理论和临床实践的重要组成部分。病案是医务人员在治疗过程中对患者的详细记录,包括患者的基本信息、病史、病情分析、治疗过程和效果等详细内容。通过对病案的分析和研究,可以挖掘其中蕴含的模式和规律,为医疗理论和临床实践提供科学依据。然而,传统的医疗病案管理方式存在许多问题。首先,传统的病案管理方式采用人工方式管理,数据量庞大、种类繁多,难以实现快速的数据处理和查询。其次,在传统的病案管理方式下,难以发现其中蕴含的模式和规律。因此,如何对医疗病案数据进行挖掘和分析,成为了当前医疗学界研究的热点和难点之一。针对上述问题,本课题将研究基于Hadoop的医疗病案数据挖掘系统,该系统采用分布式存储和计算技术,能够实现对大规模医疗病案数据的快速处理和查询,并通过数据挖掘和分析技术,发现其中蕴含的有用信息,为医疗理论和临床实践提供科学依据。

本课题旨在设计和实现基于Hadoop的医疗病案数据挖掘系统,通过医疗数据挖掘系统中数据挖掘模块对疾病进行科学的分析,并提取出疾病的主要症状,对疾病进行科学的分析,以此探究出症状中病因的演变规律、疾病症状与关联用药的联系,为医务人员提供科学、合理的诊治策略,为医学科提供坚实的支持。

关键词:Hadoop;Hive; Flask;医疗数据

Design and implementation of medical data mining system based on Hadoop

Abstract: After thousands of years of historical precipitation, China's medical technology has accumulated a lot of experience and data in the medical theory and clinical practice in successive dynasties. Among them, medical record data is an important part of medical theory and clinical practice. Medical records are detailed records of patients by medical staff in the course of treatment, including the basic information of patients, medical history, disease analysis, treatment process and effect. Through the analysis and research of medical records, we can dig out the patterns and laws contained in them, and provide scientific basis for medical theory and clinical practice. However, there are many problems in the traditional medical record management. First of all, the traditional medical record management method adopts manual management, the data is huge and diverse, and it is difficult to realize fast data processing and query. Secondly, it is difficult to find the pattern and law in the traditional medical record management. Therefore, how to mine and analyze medical record data has become one of the hot spots and difficulties in the current medical research. In view of the above problems, this topic will study the medical record data mining system based on Hadoop, which adopts distributed storage and computing technology to realize rapid processing and query of large-scale medical record data, and discover useful information contained in it through data mining and analysis technology to provide scientific basis for medical theory and clinical practice.

This project aims to design and implement a medical record data mining system based on Hadoop. Through the data mining module in the medical data mining system, scientific analysis of the disease is carried out, and the main symptoms of the disease are extracted for scientific analysis of the disease, so as to explore the evolution rule of the cause of the symptoms and the relationship between the disease symptoms and associated drugs. To provide scientific and reasonable diagnosis and treatment strategies for medical staff, and to provide solid support for medical disciplines.

Key words: Hadoop; Hive; Flask; Medical data

1 绪论

1.1研究背景与现状

我国医疗技术经过几千年的历史沉淀,在历代医疗理论和临床实践中积累了大量的经验和数据。其中,病案数据是医疗理论和临床实践的重要组成部分。病案是医务人员在治疗过程中对患者的详细记录,包括患者的基本信息、病史、病情分析、治疗过程和效果等详细内容。通过对病案的分析和研究,可以挖掘其中蕴含的模式和规律,为医疗理论和临床实践提供科学依据。然而,传统的医疗病案管理方式存在许多问题。首先,传统的病案管理方式采用人工方式管理,数据量庞大、种类繁多,难以实现快速的数据处理和查询。其次,在传统的病案管理方式下,难以发现其中蕴含的模式和规律。因此,如何对医疗病案数据进行挖掘和分析,成为了当前医疗学界研究的热点和难点之一。针对上述问题,本课题将研究基于Hadoop的医疗病案数据挖掘系统,该系统采用分布式存储和计算技术,能够实现对大规模医疗病案数据的快速处理和查询,并通过数据挖掘和分析技术,发现其中蕴含的有用信息,为医疗理论和临床实践提供科学依据。

该系统具有以下几方面的意义:

1.促进医疗学的发展。通过建立基于Hadoop的医疗病案数据挖掘系统,可以有效地挖掘医疗病案中蕴含的模式和规律,为医疗学的发展提供科学依据。

2.提高医疗临床实践水平。通过数据挖掘和分析技术,可以发现患者病情的关联性和病情演变规律,为医疗临床实践提供更科学、更有效的治疗方案。

3.丰富医学科研手段。医疗病案数据挖掘系统采用大数据处理和分析技术,可以更好地挖掘医疗病案数据中蕴含的信息,为医学科研提供更为丰富的研究手段。

1.2国内外研究现状

1.2.1国内研究现状

  目前,国内关于基于Hadoop的医疗数据挖掘系统的研究主要集中在以下几个方面:

医疗数据挖掘算法与模型:国内研究者在医疗数据挖掘领域探索了基于Hadoop的大数据处理平台上的各种数据挖掘算法和模型,如基于MapReduce的并行算法、大规模机器学习算法在医疗数据挖掘中的应用等。

医疗数据隐私与安全:由于医疗数据的敏感性,国内研究者也关注基于Hadoop的医疗数据隐私保护和安全性方面的研究,包括匿名化技术、数据加密技术等,以确保医疗数据在挖掘过程中的安全性。

医疗数据可视化与决策支持:除了数据挖掘技术,国内研究也将重点放在基于Hadoop的医疗数据可视化和决策支持系统的研究上,通过大数据技术实现对医疗数据的直观展示和辅助医疗决策。

云计算与医疗大数据:随着云计算技术的发展,国内研究者还关注基于Hadoop的医疗大数据在云环境下的存储、管理和分析,探索医疗数据在云平台上的高效处理和利用。

医疗信息系统集成:一些研究还致力于将基于Hadoop的医疗数据挖掘系统与医疗信息系统进行集成,以实现医疗数据的全面管理和应用。

总体来说,国内关于基于Hadoop的医疗数据挖掘系统的研究还处于不断探索和完善阶段,涉及到算法、隐私安全、可视化、云计算以及信息系统集成等多个方面。随着大数据和人工智能技术的不断发展,相信相关领域的研究会取得更多的突破和进展。

1.2.2国外研究现状

国外关于基于Hadoop的医疗数据挖掘系统的研究也在不断发展,并且取得了一些重要进展。以下是一些国外的研究现状:

大数据技术在医疗领域的应用:国外研究者将Hadoop等大数据技术应用于医疗领域,以处理和分析医疗数据。他们探索了如何有效地利用大数据技术来挖掘医疗数据中的模式、趋势和关联性,从而提高医疗诊断、预测和治疗的准确性和效率。

医疗数据隐私与安全保护:类似于国内的情况,国外的研究也关注医疗数据的隐私保护和安全性。他们研究如何在使用Hadoop进行医疗数据挖掘时确保患者数据的隐私不被泄露,并采取相应的加密和数据匿名化技术。

跨机构医疗数据集成与共享:在一些国外研究中,人们致力于建立基于Hadoop的跨机构医疗数据集成与共享平台,使不同医疗机构之间能够共享医疗数据并进行联合分析,从而提高医疗决策的准确性和效率。

智能医疗决策支持系统:国外的一些研究还着眼于开发基于Hadoop的智能医疗决策支持系统,通过数据挖掘技术和机器学习算法,为医生提供个性化的诊断、治疗建议和预测模型,帮助改善医疗服务质量。

总体来说,国外关于基于Hadoop的医疗数据挖掘系统的研究也涉及到数据处理、隐私保护、数据共享、决策支持等多个方面,并且在医疗领域的数据挖掘和应用方面取得了一些积极成果。这些研究成果有助于提升医疗领域的数据管理和应用水平,推动医疗信息化和智能化发展。

1.3论文主要研究工作

1.医疗病案数据预处理。该部分主要是对采集到的医疗病案数据进行清洗和预处理,包括缺失值填充、异常值处理、数据标准化等操作。

2.医疗病案数据存储和管理。采用Hadoop分布式文件系统HDFS进行数据存储和管理,将数据存储在多个节点上,提高数据读写速度和可用性。

3.医疗病案数据挖掘和分析。基于Hadoop平台,采用MapReduce和Hive等技术,对医疗病案数据进行挖掘和分析,发现其中患者病情的关联性和病情演变规律。

4.系统界面设计和实现。采用编程语言,设计和实现系统的图形界面,简化系统的操作流程,提高系统的易用性。

2 技术总述

2.1 基于Scrapy的网络爬虫技术

Scrapy是目前较为成熟的爬虫技术框架,一般采用Python语言开发程序,Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。

在本设计中,由于需要使用到医疗网站的原始数据,因此需要开发相应的网

络爬虫程序完成对医疗原始数据的采集,图2-1为爬取医疗网站网站的医疗

数据的原理流程图。

图2-1 医疗网站网站爬重原理流程图

2.2 Hive技术

Hadoop是一个由Apache基金会所开发的分布式系统基础架构,主要解决海量数据的存储和海量数据的分析计算问题,广义上来说,HADOOP通常是指一个更广泛的概念,即HADOOP生态圈。

Hive是一个构建在Hadoop上的数据仓库框架。最初,Hive是由Facebook开发,后来移交由Apache软件基金会开发,并作为一个Apache开源项目。

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。

其本质是将SQL转换为MapReduce的任务进行运算,底层由HDFS来提供数据的存储,说白了hive可以理解为一个将SQL转换为MapReduce的任务的工具,甚至更进一步可以说hive就是一个MapReduce的客户端。

图2-2 Hive原理图

2.3 Flask技术

Flask是一个基于Python语言编写的轻量级Web应用框架,其核心理念是简单而灵活。Flask提供了基础的Web应用组件(如路由、请求和响应管理等),并可与其他第三方库集成,以实现更高级别的Web应用开发。

以下是Flask的主要特点:

轻量级和灵活性:Flask设计的目的是提供一种简单而灵活的方式来构建Web应用,因此它只提供了基础的Web应用组件,可以根据需求进行自定义扩展。

易学易用:Flask的API非常简洁易懂,上手难度较低,开发者可以很快地了解其基本使用方法,并开始进行Web应用的开发。

可扩展性:Flask可以集成许多第三方库,如SQLAlchemy、WTForms等,以实现更高级别的Web应用开发。

RESTful支持:Flask可以方便地实现RESTful API,使得开发者能够快速构建RESTful服务。

单元测试支持:Flask内置支持Python标准库unittest,使得开发者可以方便地进行单元测试。

Jinja2模板引擎:Flask默认使用Jinja2模板引擎,该模板引擎具有良好的模板继承和自定义过滤器等功能,可以快速构建出美观且高效的用户界面。

总体而言,Flask是一个轻量级、易学易用、可扩展性强的Web框架,适用于构建中小型Web应用。它的灵活性使得开发者可以根据需求进行自定义扩展,同时其集成了许多有用的第三方库,使得开发者可以快速地构建出有用的Web应用。

2.4 数据挖掘技术

文本挖掘是一种通过自动化地发现、提取和分析大量文本数据中的有趣模式、关联和知识的技术。以下是一些常用的文本挖掘方法:

1. 文本预处理:首先对文本数据进行清洗和预处理,如去除停用词(如“的”、“是”等常用词)、标点符号和特殊字符,并进行词干化或词形还原等操作,以减少数据噪声和提取更有意义的特征。

2. 词频统计:统计文本中每个词的出现频率,以确定常见词和关键词。常见的方法包括词袋模型(bag of words)和TF-IDF(词频-逆文档频率)。

3. 文本分类:将文本数据分为不同的类别或标签。常用的分类方法包括朴素贝叶斯分类器、支持向量机(SVM)和深度学习模型(如卷积神经网络、循环神经网络)。

4. 文本聚类:将文本数据按照相似性进行分组,形成聚类。常见的聚类算法包括K均值聚类、层次聚类和DBSCAN等。

5. 关系抽取:从文本中提取实体之间的关系。常用的方法包括基于规则的关系抽取和基于机器学习的关系抽取。

6. 情感分析:判断文本中的情感倾向,如正面、负面或中性。情感分析可以使用词典方法、机器学习方法或深度学习方法。

7. 主题模型:从文本数据中提取潜在的主题或话题。常用的主题模型包括隐含狄利克雷分布(LDA)和隐含语义分析(LSA)。

8. 文本生成:使用统计模型或深度学习模型生成新的文本,如机器翻译、文本摘要和对话系统等。

这些方法可以单独使用,也可以组合使用,以从文本数据中挖掘出更多有用的信息和知识。

2.5 本章小结

本章主要分析了系统开发过程中使用到的技术点和框架,通过研究这些技术的原理后,在本设计中加以应用,包括医疗数据采集的爬虫技术,数据持久化存储技术,Hive分析,以及基于Flask框架的系统后台技术,通过预研上述技术点并加以应用从而开发出基于大数据分析平台的医疗数据挖掘系统。

3 医疗数据大数据分析系统实现

3.1系统功能

通过前面的功能分析可以将基于大数据医疗数据挖掘平台的研究与实现的功能主要包括用户登录医疗问答数据分析等内容。后台管理是针对已登录的用户看到满意的医疗数据挖掘而设计的。

3.2可行性研究

通过对系统研究目标及内容的分析审察后,提出可行性方案,并对其进行论述。主要从技术可行性出发,再进一步分析经济可行性和操作可行性等方面。

3.2.1 经济可行性

开发系统所涉及到的资料,一般是在图书馆查阅,或是在网上进行查找收集。所需要的一些应用软件也都是在网上可以免费下载的,因此,开发成本是几乎为零。但是开发出来的系统,还是具有高效率,低成本,较高质量的。所以,从经济可行性的角度,该系统符合标准。

3.2.2 技术可行性

技术可行性是考虑在现有的技术条件下,能否顺利完成开发任务。以及判断现有的软硬件配置是否能满足开发的需求。而本系统采用的是Hadoop开发框架,并非十分困难,所以在技术上是绝对可行的。此外,计算机硬件配置是完全符合发展的需要。

3.2.3 运行可行性

当前计算机信息化的知识已经十分普及了,现在的操作人员也都是对系统环境有很强的适应性,各类操作人员大都是有过培训补充的,因此完全不影响组织结构,所以在运行上也是可行的。

3.2.4 时间可行性

从时间上看,在大四的最后一个学期,在实习工作与完成毕设两件大事相交叉的时间里,结合之前学习的相关知识,并开发系统,时间上是有点紧,但是也不是完全没可能实现,通过这段时间的努力功能基本实现。

3.3 系统实现流程

基于Hadoop的医疗数据挖掘系统的实现流程可以大致分为以下几个步骤:

收集医疗数据,包括患者病历、诊断报告、医疗影像等多种类型数据。

对收集到的数据进行清洗和预处理,包括去除重复数据、处理缺失值、标准化数据格式等操作。将清洗后的数据存储到Hadoop分布式文件系统(HDFS)中,以便后续的分布式处理和分析。

使用Hadoop生态工具如Hive、HBase等进行数据管理和查询。根据需求选择合适的数据挖掘算法,如分类、聚类、关联规则挖掘等。在Hadoop平台上实现选择的算法,利用MapReduce等并行计算框架进行分布式数据挖掘。

利用医疗数据集对选定的数据挖掘算法进行训练,生成模型对模型进行评估,验证其在医疗数据集上的准确性和效果。将数据挖掘的结果进行可视化展示,例如生成统计图表、报告等。

结合医疗信息系统,将挖掘的知识应用于医疗决策支持、病例诊断等方面。针对系统性能进行优化,如调整Hadoop集群配置、算法优化等。根据需求不断扩展系统功能,引入新的医疗数据挖掘技术和应用场景。

以上是基于Hadoop的医疗数据挖掘系统的实现流程,具体的实施过程会根据项目需求和数据特点进行调整和细化。

3.4 医疗数据爬虫设计

这个项目我们的主要目的是爬取医疗网站网的医疗数据信息,包括症状、成因和描述等具体详情信息,下面描述本文爬虫工程主要设计步骤。

(1)创建项目

打开一个终端输入:scrapy startproiect python_medical _data,Scrapy框架将会在指定目录下生成整个工程框架。系统生成的目录如下图3-2所示:

图3-2爬虫框架目录结构

(2)修改setting文件

如图3-1所示为修改后的setting文件主要内容,本设计主要修改三项内容,

第一个是不遵循机器人协议,第二个是下载间隙,由于下面的程序要下载多个页

面,所以需要给一个间隙(不给也可以,只是很容易被侦测到),第三个是请求

头,添加一个User-Agent。

表3-1 爬虫setting文件主要配置

BOT_NAME = 'python_city_data'

SPIDER_MODULES = ['python_city_data.spiders']
NEWSPIDER_MODULE = 'python_city_data.spiders'
# Crawl responsibly by identifying yourself (and your website) on the user-agent
#USER_AGENT = 'python_city_data (+http://www.yourdomain.com)'
#换伪造请求头
USER_AGENT = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36"
# Obey robots.txt rules
ROBOTSTXT_OBEY = False

(3)确认要提取的数据,item 项

item定义你要提取的内容(定义数据结构),比如我提取的内容为医疗数据的所在城市和企业医疗详情,于是需要在items类中新建对应的实体类,并需要设置相应的字段取出对应的数据。Field 方法实际上的做法是创建一个字典,给字典添加一个建,暂时不赋值,等待提取数据后再赋值。

(4)开发爬虫程序,访问下载网页,使用Xpath语法提取内容

3.5 Hive程序设计

原始的医疗数据数据一般信息较为冗杂,且很难看出规律,因此我们需要将

数据存储在HDFS上,数据在多台机器上保存了n份,保证了原始数据的高可用。

然后通过Hive框架开发程序,将海量的原始数据计算过程分成一个个的

job提交到yarn上管理执行。

表3-2 医疗数据Hive分析代码

-SELECT diagnosis, COUNT(DISTINCT patient_id) AS patient_countFROM medical_data_tableGROUP BY diagnosis;

SELECT treatment, AVG(cost) AS avg_costFROM medical_data_tableGROUP BY treatment;

SELECT patient_id, patient_name, MAX(cost) AS max_costFROM medical_data_tableGROUP BY patient_id, patient_nameORDER BY max_cost DESC

LIMIT 1;

3.6 文本挖掘程序设计

表3-2 文本数据挖掘代码

from sklearn.decomposition import LatentDirichletAllocation

from sklearn.feature_extraction.text import TfidfVectorizer

# 假设已有文本数据存在列表text_data中

# 创建TF-IDF向量化器

vectorizer = TfidfVectorizer()

# 将文本数据向量化

X = vectorizer.fit_transform(text_data)

# 使用LDA进行主题建模

lda = LatentDirichletAllocation(n_components=5).fit(X)

# 输出每个主题的关键词

feature_names = vectorizer.get_feature_names()

for topic_idx, topic in enumerate(lda.components_):

    top_features = [feature_names[i] for i in topic.argsort()[:-10-1:-1]]

    print(f"主题{topic_idx+1}: 关键词{', '.join(top_features)}")

4 后台系统实现

基于大数据的医疗数据挖掘平台的基本业务功能是采用Flask框架实现的, 前端 ,页面展示使用Echarts技术数据 存储采用关系型数据库Mysql。在本文的第四章将详细介绍后台系统的实现部分,包括详细阐述了系统功能模块的具体实现,并展示说明了部分模块的功能界面。

4.1 开发环境与配置

4.1.1 开发环境

本系统设计基于B/S架构,其中服务器包括应用服务器和数据库服务器。这种架构模式,使用户只需要在有网络的地方即可通过浏览器访问,而不需要再安装客户端软件,交互性更强。基于大数据的医疗数据挖掘平台使用Pycharm集成开发工具。本系统的主要开发环境以及开发工具如表4-1所示。

表4-1 系统开发环境和工具

项目

系统环境及版本

硬件环境

Windows 64 位操作系统

Python版本

3.5

数据库

MySql

开发工具

Pycharm

项目架构

Hive+Flask+Scrapy

4.1.2 框架配置介绍 

表4-2 系统配置代码

from flask import Flask

app = Flask(__name__)

# 配置对象class Config:

    DEBUG = False

    SECRET_KEY = 'your_secret_key'

    DATABASE_URI = 'your_database_uri'

# 加载配置

app.config.from_object(Config)

# 路由和视图函数@app.route('/')def index():

    return 'Medical!'

if __name__ == '__main__':

    app.run()

上述代码中,我们首先定义了一个名为Config的配置对象,其中包含了一些常用的配置项。你可以根据自己的需求添加、修改或删除配置项。在这个示例中,我们添加了DEBUG、SECRET_KEY和DATABASE_URI三个配置项。

接着,我们使用app.config.from_object(Config)方法加载配置对象,将其应用到Flask程序中。

然后,我们定义了一个名为index的路由和视图函数,用于处理根路径的请求。在这个示例中,当用户访问根路径时,浏览器将显示Hello, World!消息。

最后,通过app.run()方法启动Flask应用程序。

你可以根据自己的需求,添加更多的路由和视图函数,并在配置对象中定义适当的配置项。例如,你可以添加数据库连接信息、日志配置、文件上传限制等。需要注意的是,SECRET_KEY是用于加密session数据的密钥,你应该使用一个随机的、安全的字符串来设置它。

另外,你还可以将配置信息存储在独立的配置文件中,并使用app.config.from_pyfile('your_config_file.py')方法加载配置文件。这样可以将配置与代码分离,方便在不同环境下进行配置切换。

4.2 数据库的设计

数据库设计是系统设计中特别重要的一部分。数据库的好坏决定着整个系统的好坏,并且,在之后对数据库的系统维护、更新等功能中,数据库的设计对整个程序有着很大的影响。

根据功能模块的划分结果可知,本系统的用户由于使用账号和密码进行登录,因此在本系统中需要分别进行数据记录。首先根据如下6个数据实体:用户、医疗数据等数据库表。

用户的属性包括用户编号、用户名、密码和性别、注册账号的时间。用户实体属性图如图4-2所示:

图4-2 用户实体属性图

根据以上分析,各个实体之间有一定的关系,使实体与实体可以联系起来,建立成整个系统的逻辑结构,本系统中,普通用户通过对医疗数据的管理,使医疗数据与用户实体存在对应关系。

表4-3 医疗类建表语句代码

  1. 患者信息表(patients):

sql

CREATE TABLE patients (

    patient_id INT PRIMARY KEY,

    patient_name VARCHAR(50),

    age INT,

    gender VARCHAR(10),

    address VARCHAR(100)

);

  1. 诊断信息表(diagnosis):

sql

CREATE TABLE diagnosis (

    diagnosis_id INT PRIMARY KEY,

    patient_id INT,

    diagnosis_date DATE,

    diagnosis_description VARCHAR(255),

    FOREIGN KEY (patient_id) REFERENCES patients(patient_id)

);

  1. 治疗记录表(treatments):

sql

CREATE TABLE treatments (

    treatment_id INT PRIMARY KEY,

    patient_id INT,

    treatment_date DATE,

    treatment_description VARCHAR(255),

    cost DECIMAL(10, 2),

    FOREIGN KEY (patient_id) REFERENCES patients(patient_id)

);

  1. 药物处方表(prescriptions):

sql

CREATE TABLE prescriptions (

    prescription_id INT PRIMARY KEY,

    patient_id INT,

    prescription_date DATE,

    drug_name VARCHAR(50),

    dosage VARCHAR(20),

    FOREIGN KEY (patient_id) REFERENCES patients(patient_id)

);

4.3 系统功能模块实现

4.3.1登录认证

用户登录时需要在登录界面输入用户名、密码进行身份认证,要求必须是表单认证、校验。其配置文件中配置了相应的工具类,当用户登录系统进行身份认证和权限控制时,会在该类中从数据库获取到用户信息及其具有的权限信息,并 且比较用户输入的账号是否存在或者输入的密码与数据源中的密码是否匹配。具体流程如时序图如4-2所示。

图4-2登录认证流程图

医疗数据大数据分析系统的用户登录界面如下图所4-3所示:

图4-3用户登录界面

登陆成功后,系统会成功跳转至首页,在首页中,位于上方的横栏是对本系统的基本信息的描述和欢迎登录效果,另外登录用户的用户名也会显示在首页中,可直接表明用户己成功登录。左侧则是本系统的导航菜单,可折叠展示,较为方便,右方则为欢迎页效果。医疗数据大数据分析系统的首页界面如下图所4-4所示:

图4-4医疗数据大数据系统首页界面

4.3.2医疗问答功能

医疗数据管理功能是对医疗数据进行查询,删除等操作的功能集合,医疗信

息管理功能使用到了医疗数据表t_ ob,医疗数据表t_job 的主要数据字段,结构,类型及描述如下表4-2所示。

表4-2 医疗数据表字段

字段名称

数据类型

是否允许为空

描述

id

int

不允许

自增主键,唯一ID

name

String

允许

病症名称

reason

String

允许

成因

size

String

允许

症状

education

String

允许

治疗

医疗数据大数据分析系统的医疗数据管理功能界面如下图所4-5所示:

图4-5医疗数据问答界面

医疗数据管理

功能流程功能图如图3-6所示:

图4-6 医疗数据管理功能流程图

4.3.3医疗数据大数据看板功能

数据可视化模块就是对我们采集和计算的分析结果的展示。数据分析模块的

数据进行一个精美而又直接的展示,我们采用大屏的方式进行展示,展示数据结

构分明,背景具有科技感,把相对复杂的、抽象的数据通过可视的、交互的方式

进行展示,从而形象直观地表达数据蕴含的信息和规律。医疗数据大数据看板界面如图4-7所示。

图4-7医疗数据大数据看板界面

医疗数据大数据分析可视化开发的难点并不在于图表类型的多样化,而在于如何能在简单的一页之内让用户读懂医疗数据之间的层次与关联,这就关系到布局、色彩、图表、动效的综合运用。如排版布局应服务于业务,避免为展示而展示;配色一般以深色调为主,注重整体背景和单个视觉元素背景的一致性。本文使用Echarts中地图、线条等组件,将分析结果较为直观的展示给平台用户,使得用户能够简便的获取有效的信息。

4.4 本章小结

本章主要分析了基于大数据的医疗数据挖掘系统开发过程中使用到的技术和具体的实现步骤,这其中主要介绍了基于Hive的医疗数据大数据分析系统的搭建环境和开发步骤,包括程序中的一些数据库配置等。前端页面采用的是Echarts和html实现。

5 总结与展望

5.1 系统开发遇到的问题 

由于基于大数据医疗数据挖掘平台是由本人独立开发,因此在系统设计和业务逻辑方面更多地借鉴了目前市场上较为流行的框架和技术点,包括大数据技术,很多是不熟悉没接触过的,在开发过程中不断学习新知识。另外由于本人的时间和精力的原因,在系统开发过程中有很多地方可能并不能够完全尽如人意,还有许多需要补充的功能与模块。

5.2 总结与展望 

首先,根据上述多篇文献资料我们可以知道,传统的医疗数据管理由于数据量庞大、种类繁多,其存在多个缺点特别是在面对复杂算法的时候,数据处理速度会变得十分缓慢,病案数据的质量参差不齐,有很多数据仍是不准确、不完整、不统一的,很影响系统的性能和吞吐量,而且传统的医疗数据管理下,难以发现其中蕴含的模式和规律,如不能根据数据之间的关联探究出症状中病因的演变规律、疾病症状与关联用药的联系,不能为医务人员提供科学、合理的诊治策略。因此,我们要发展基于Hadoop的医疗数据挖掘系统。 

其次,根据上段提到数据量庞大、种类繁多等急需解决的问题我们这个系统的主要方向是要做到采用分布式存储,使用HBASE等NoSQI数据库和计算技术,设计合理的处理策略,通过数据分片和索引等技术来提高数据的读写性能,实现对大规模医疗病案数据的快速处理和查询,并通过数据挖掘和分析技术,发现其中蕴含的有用信息。上述文献资料中,张宸华[7] 也阐述了数据挖掘算法的相关知识,对数据挖掘在医疗管理中的运用进行了一系列研究为管理者对医疗管理数据的深入挖掘提供了一些参考,改善数据挖掘的方法,改善新的模型。 

最后,在算法层面上尽管目前取得了一些重要的进展, 数据的关键性和准确性的提取非常重要,是关联医疗方面病症等的重要之处,在未来工作中,研究方向需要先锁定数据的关键性和准确性,从正确的来源收集数据,规范化数据存储结构和处理方式,提升数据的可靠性和可用性。在理论层面上我们可以进一步建立和完善使用以便更好的使用在各个场景,在系统的实际应用层面上,我们可以尝试采用新的研究方法和技术,以提高效率和准确性,此外,通过整合不同领域的知识和资源,推动处理大规模医疗数据,并在较短的时间内完成分析任务,并从中提取有价值的信息,为医疗理论和临床实践提供科学依据。


参考文献:

  1. 连晓丹,黄坤平,刘林.基于数据挖掘的医疗大数据可视化分析系统设计[J].自动化与仪器仪表,2023,(06):170-174.
  2. 郑经纬.基于数据挖掘的医疗分析系统研究[D].杭州电子科技大学,2022.
  3. 刘海霞.基于数据挖掘的医疗设备状态检测研究[J].自动化技术与应用,2023,42(07):39-42.
  4. 黄晞.基于数据挖掘的医疗信息管理系统设计[J].微型电脑应用,2021,37(03):35-38.
  5. 毛莹.基于医疗信息系统的数据挖掘算法研究[D].内蒙古科技大学,2019.
  6. 巫嘉陵,韩建达.医疗人工智能:知识引导与数据挖掘联合驱动[J].中国现代神经疾病杂志,2023,23(01):1-4.
  7. 张宸华.数据挖掘算法在医疗管理中的应用研究[J].软件,2023,44(06):157-159.
  8. 支建勋.基于模糊K-means聚类算法的区域数据智能分析方法[J].电子设计工程,2022,30(10):46-49+54.
  9. 龚军,孙喆,向天雨等.医疗大数据平台研究与实践[J].重庆医学,2019,48(14):2504-2507.
  10. 于国庆,沈飞.数据挖掘技术在医疗大数据分析中的应用——评《医疗大数据分析与数据挖掘处理研究》[J].中国科技论文,2022,17(07):847.
  11. 常丹.数据挖掘算法在心脏病医疗诊断系统中的应用研究[D].内蒙古财经大学,2019.
  12. 于占胜.基于Spark的实时医疗数据挖掘系统的研究与实现[D].西安电子科技大学,2020.
  13. 黄晞.基于数据挖掘的医疗信息管理系统设计[J].微型电脑应用,2021,37(03):35-38.
  14. 杨思维.医疗系统数据挖掘技术的应用与研究[D].大连交通大学,2021.
  15. 姚婕,陈荣山,吴昊.数据挖掘在医疗系统中的应用[J].电脑知识与技术,2019,15(35):8-9.
  16. 王婷婷,吴奎业,杨超.病案信息系统数据挖掘在医疗领域中的应用[J].通讯世界,2017,(08):293.

谢  辞

时光飞逝,四年的本科生生涯即将结束。在这四年的时光里,有遇到难题时的手足无措,有获得专业进步时的开心。经历了许多的事情,自己也在不知不觉中成长了很多,心中充盈最多的仍是感激。

首先感谢我的导师,她严谨的治学态度深深地影响每位同学。我要感谢我的父母,他们总是默默的付出,在生活上给与我最大的帮助,在学习上也给我很多建议。

最后,由衷的感谢各位评审老师在百忙之中抽出时间来参与我的论文评审和答辨。

  • 22
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值