数学建模-基于脑出血患者院前指标的多种机器学习预测模型构建及比较研究

本文主要是介绍数学建模-基于脑出血患者院前指标的多种机器学习预测模型构建及比较研究,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基基于脑出血患者院前指标的多种机器学习预测模型构建及比较研究

整体求解过程概述(摘要)

  卒中是全球致残率、致死率最高的疾病之一,其中脑出血(Intracerebral hemorrhage,ICH)患者仅占卒中患者的 20%,但致残、死亡人数与缺血性卒中无明显差异,由于病程短,发展迅速的特点,以农村地区为代表的经济欠发达地区,受限于交通以及基层医疗水平的欠缺,往往无法得到完整、可信的医疗检查从而不利于正确医疗干预的实施,给国家及患者家庭带来了巨大的精神与经济负担。目前 ICH 患者神经功能预后预测模型多基于传统方法如 Logistic 回归,主要关注院中指标对神经功能预后的影响,往往忽略院前指标的重要作用。ICH 患者的救治时间窗短,须在有限时间内快速制定合理、有效的治疗方案,因此利用可快速获取的院前指标建立神经功能预后模型,阐明各指标变量在疾病发展的中发挥的作用,并利用该类指标变量建立治疗方案相关指南是未来研究的重要方向。方法: 目前,国内基于有监督的机器学习方法对 ICH 患者神经功能预后分类模型相关研究较少,高性能预测模型缺乏,不利于脑出血相关临床实验的观察单位的纳入排除标准设置,极大程度阻碍了脑出血患者的前瞻性研究设计,导致相关疾病高质量循证医学证据进展迟缓。
  本文首先使用 Logistic 回归模型、Lasso 回归模型,对院前指标进行筛选,证明了院前指标相较于以往认为占据主导因素的院中指标,同样对 ICH 患者神经功能预后有重要影响,后利用多种新型机器学习方法如支持向量机、随机森林等建立神经功能预后预测模型,通过多模型间性能的比较研究,阐述了决策树类算法及其衍生算法随机森林在信息数据共享的大数据时代,在预测神经功能预后普遍不良的脑出血疾病的显著优势。

问题分析

  ICH 患者神经功能预后普遍较差,治疗方案拟定难度大,治疗效果低于预期,甚至出现不利影响,因此如何利用 ICH 患者病史资料以及入院体征,结合目前最新的机器学习分类模型构建神经功能预后预测模型是改善脑出血患者结局的重要问题。入院前指标,包含吸烟、喝酒、既往卒中史等既往病史资料等以及入院体征检查如 NIHSS、GCS 等量表评分,是制定治疗方案前 ICH 患者最易获取的指标变量,但是目前的研究者往往忽略院前指标的重要作用,故本文旨在探究 ICH患者院前指标对患者神经功能预后的影响,并尝试建立一种性能较好的预测模型,为临床治疗提供一定的指导。
  国内既往研究多采用传统的统计方法建模,不适用于复杂的临床情况以及临床需求,本文采用有监督的分类机器学习方法,希望利用院前指标建立 ICH 患者神经功能预后的相关预测模型,并且比较研究基于各种机器学习方法建立的预测模型性能、适用场景以及优化方案,机器学习方法涵盖经典决策树、条件推断树、随机森林、支持向量机等五种机器学习方法。本文技术路线如图 1 所示:
在这里插入图片描述

模型的建立与求解

  本文首先以 ICH 患者院前指标及院中指标为自变量,神经功能预后情况为结局变量,采用 Logistic 回归、lasso 回归进行变量筛选,探究各种指标对 ICH 患者神经功能预后是否有显著影响。后以 ICH 患者院前指标为自变量,神经功能预后情况为结局变量,训练支持向量机、BP 神经网络、决策树及随机森林等五个机器学习方法,以比较研究各类模型在基于院前指标预测 ICH 患者神经功能预后的性能。
  (一)影响因素筛选方法
  1.Logistic 回归(Logistic Regression)
  Logistic 回归是处理二分类资料的标准方法。属于概率型非线性回归,多用于临床医学的鉴别诊断、评价治疗策略、分析疾病预后因素等。设有一个应变量 Y 和 m 个自变量𝑋1,𝑋2,…,𝑋𝑚,应变量 Y 是个二值变量时,取值为
在这里插入图片描述
  该公式称为 logit 模型。记𝑍 = 𝛼 + 𝛽1𝑋1 + 𝛽2𝑋2 + ⋯ + 𝛽𝑚𝑋𝑚,那么 Z 和 P 之间关系的 Logistic 曲线如下图 2 所示
在这里插入图片描述

模型的建立与求解整体论文缩略图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

(代码和文档not free)

lines = ["北京协和医院~病案记录~姓名~任~发~君~2~病案号1~5~40000~2008-9-5~首次病程记录~、本例特点:~1、中年男性,急性起病,病程3月。~2、主要表现为车祸撞伤后乏力、头晕、头痛,嗅觉减退,视力下降,无意识障碍,食欲可。~28~外院检查提示低血钠,血钠最低123mmol/L,尿钠排出增多,经静脉和口服补钠后血钠有所~请~上升,目前未予特殊处理,入院查血钠128mmol/L。~勿~3、既往史、个人史、家族史无特殊。~写~4、查体:136.5℃,P66次/分,R20次/分,BP坐立卧均为130/90mmHg。皮肤不干、~过~不潮,无明显皮肤色素沉着。浅表淋巴结未触及肿大。甲状腺不大。心率66次/分,律齐。~此~双肺呼吸音清,未闻及干湿啰音。腹软,剑突下轻压痛,无反跳痛,肝脾肋下未及。双下~线~肢无水肿。~5、辅助检查:外院查查A10.7ng/ml/h(0.93~6.56),A2112.7pg/m1(55.3~115.3),ALD19.6pg/m1(65.2-295.7),GH1.21ng/m1(10.0),颅脑、胸、~上腹、腰椎、肾上腺CT示左眶内壁骨折、副鼻窦炎、左侧肋骨多发骨折,L2~椎体骨折并15水平椎管内积气,右肺下叶支气管扩张,纵隔囊肿,左侧肾上~腺外侧支增厚,双肾囊肿,颅脑MRI示脑内多发缺血灶,垂体MRI未见明显异~常。~拟诊讨论:~患者中年男性,车祸后急性起病,病程3月,主要表现为乏力、头晕、头痛、视力下~降,多次化验血钠<135mmol/L,低钠血症诊断明确。低钠血症病因方面,患者无呕吐、腹~泻,无消化道丢失证据:无大量出汗、烧伤的病史,皮肤丢失不支持;考虑肾性失钠的可~能性比较大。~肾性失钠的原因方面,无口服利尿剂史;无慢性肾脏疾病病史,肾功能正常;无肾上~腺皮质功能不全表现,外院检查血皮质醇正常;甲状腺功能正常;血钠明显降低,最低~123mmol/L,考虑抗利尿激素不适当分泌综合征(SIADH)可能。SIADH常见于(1)肺部疾~病:包括肿瘤等,肿瘤可分泌ADH,引起血钠降低,但患者外院肺部C未见明显异常不支~持。(2)神经系统疾病:头部外伤、手术、颅内出血、肿瘤等使下丘脑分泌ADH增多,引~起血钠降低,患者有车祸后头部外伤史,外院颅脑MRI示脑内多发缺血灶,垂体MRI~未见明显异常。考虑车祸后头部外伤导致STADH的可能性比较大,因此需进一步检查明~确。~诊疗计划~1、入院常规检查。~、生动限水,高钠饮食,记246出入量,监测血、尿电解质变化。~3、复查24小时UIFC、血ACH、血、甲功、血脂。~4、肿瘤标记物及影像学检查寻找有无肿瘤。~5、明确诊断后决定下一步治疗方案。~戴宝丽~2008-9-6~许岭翎主治医师、曹彩霞代主治医师首次查房记录:补充病史患者车祸初时外院查电~解质正常,车祸后头部外伤,外院影像学检查可见明确颅内血肿,后多次查电解质血钠均~低,因而有明确低钠病史3月。低钠血症可按不同的渗透压分为多种类型。内分泌方面的~病因有:1.继发于甲低的稀释性低钠血症,患者外院甲功检查正常,不支持,入院后可复~查该项指标明确;2.继发于肾上腺皮质功能不全的低血容量性低钠血症,患者往往有食欲~MR.232008.1300本B"]total_exam_result = []#用来存储所有的检查
total_sys_result = []  #用来存储所有的症状
total_test_result = []#用来存储所有的化验
for line in lines:line = line.split('。')exam_result = [""] #先将检查的列表设置为包含一个空字符串sys_result = [""] #先将症状的列表设置为包含一个空字符串test_result = [""] #先将化验的列表设置为包含一个空字符串first_result = [""]tem_result = [""]number1 = 0number2 = 0number3 = 0is_begin = Trueis_false = 0for idx, content in enumerate(line):content += "。"if "检查" in content or "查体" in content or "检~查" in content or "诊断" in content or \("患者" in content and "就诊" in content) or ("门诊" in content and "收入院" in content) or "病以来" in content \or ("乏力" in content or "头晕" in content or "头痛" in content) or "化验" in content:if "检查" in content or "查体" in content or "检~查" in content:if number1 == 0 and len(first_result) > 0 and is_begin:exam_result[-1] += first_result[-1]exam_result[-1] += contentis_begin = Falseelse:exam_result[-1] += content# if tem_result != [""]:#     exam_result[-1] += tem_result[-1]#     tem_result = [""]is_false = 1number1 += 1if "诊断" in content or ("患者" in content and "就诊" in content) or ("门诊" in content and "收入院" in content) or "病以来" in content \or ("乏力" in content or "头晕" in content or "头痛" in content):if number2 == 0 and len(first_result) > 0 and is_begin:sys_result[-1] += first_result[-1]sys_result[-1] += contentis_begin = Falseelse:sys_result[-1] += contentis_false = 2number2 += 1if "化验" in content and ("乏力" not in content or "头晕" not in content or "头痛" not in content):if number3 == 0 and len(first_result) > 0 and is_begin:test_result[-1] += first_result[-1]test_result[-1] += contentis_begin = Falseelse:test_result[-1] += contentis_false = 3number3 += 1# continueelse:number = number1 + number2 + number3if number == 0:first_result[-1] += contentelse:tem_result[-1] += contentif is_false == 1:exam_result[-1] += tem_result[-1]tem_result = [""]if is_false == 2:sys_result[-1] += tem_result[-1]tem_result = [""]if is_false == 3:test_result[-1] += tem_result[-1]tem_result = [""]total_exam_result.append(exam_result)total_sys_result.append(sys_result)total_test_result.append(test_result)
print(total_exam_result)
print(total_sys_result)
print(total_test_result)
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

这篇关于数学建模-基于脑出血患者院前指标的多种机器学习预测模型构建及比较研究的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/453886

相关文章

使用Python构建智能BAT文件生成器的完美解决方案

《使用Python构建智能BAT文件生成器的完美解决方案》这篇文章主要为大家详细介绍了如何使用wxPython构建一个智能的BAT文件生成器,它不仅能够为Python脚本生成启动脚本,还提供了完整的文... 目录引言运行效果图项目背景与需求分析核心需求技术选型核心功能实现1. 数据库设计2. 界面布局设计3

深入浅出SpringBoot WebSocket构建实时应用全面指南

《深入浅出SpringBootWebSocket构建实时应用全面指南》WebSocket是一种在单个TCP连接上进行全双工通信的协议,这篇文章主要为大家详细介绍了SpringBoot如何集成WebS... 目录前言为什么需要 WebSocketWebSocket 是什么Spring Boot 如何简化 We

电脑提示d3dx11_43.dll缺失怎么办? DLL文件丢失的多种修复教程

《电脑提示d3dx11_43.dll缺失怎么办?DLL文件丢失的多种修复教程》在使用电脑玩游戏或运行某些图形处理软件时,有时会遇到系统提示“d3dx11_43.dll缺失”的错误,下面我们就来分享超... 在计算机使用过程中,我们可能会遇到一些错误提示,其中之一就是缺失某个dll文件。其中,d3dx11_4

Spring Boot Maven 插件如何构建可执行 JAR 的核心配置

《SpringBootMaven插件如何构建可执行JAR的核心配置》SpringBoot核心Maven插件,用于生成可执行JAR/WAR,内置服务器简化部署,支持热部署、多环境配置及依赖管理... 目录前言一、插件的核心功能与目标1.1 插件的定位1.2 插件的 Goals(目标)1.3 插件定位1.4 核

MySQL中比较运算符的具体使用

《MySQL中比较运算符的具体使用》本文介绍了SQL中常用的符号类型和非符号类型运算符,符号类型运算符包括等于(=)、安全等于(=)、不等于(/!=)、大小比较(,=,,=)等,感兴趣的可以了解一下... 目录符号类型运算符1. 等于运算符=2. 安全等于运算符<=>3. 不等于运算符<>或!=4. 小于运

使用Python构建一个高效的日志处理系统

《使用Python构建一个高效的日志处理系统》这篇文章主要为大家详细讲解了如何使用Python开发一个专业的日志分析工具,能够自动化处理、分析和可视化各类日志文件,大幅提升运维效率,需要的可以了解下... 目录环境准备工具功能概述完整代码实现代码深度解析1. 类设计与初始化2. 日志解析核心逻辑3. 文件处

Nginx安全防护的多种方法

《Nginx安全防护的多种方法》在生产环境中,需要隐藏Nginx的版本号,以避免泄漏Nginx的版本,使攻击者不能针对特定版本进行攻击,下面就来介绍一下Nginx安全防护的方法,感兴趣的可以了解一下... 目录核心安全配置1.编译安装 Nginx2.隐藏版本号3.限制危险请求方法4.请求限制(CC攻击防御)

Python中将嵌套列表扁平化的多种实现方法

《Python中将嵌套列表扁平化的多种实现方法》在Python编程中,我们常常会遇到需要将嵌套列表(即列表中包含列表)转换为一个一维的扁平列表的需求,本文将给大家介绍了多种实现这一目标的方法,需要的朋... 目录python中将嵌套列表扁平化的方法技术背景实现步骤1. 使用嵌套列表推导式2. 使用itert

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

C#读写文本文件的多种方式详解

《C#读写文本文件的多种方式详解》这篇文章主要为大家详细介绍了C#中各种常用的文件读写方式,包括文本文件,二进制文件、CSV文件、JSON文件等,有需要的小伙伴可以参考一下... 目录一、文本文件读写1. 使用 File 类的静态方法2. 使用 StreamReader 和 StreamWriter二、二进