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

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

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

  卒中是全球致残率、致死率最高的疾病之一,其中脑出血(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.mzph.cn/news/185385.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】ln命令使用

ln命令 ln是linux中又一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个同步的链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 目标文件。 当我们需要在不同的目录,用到相…

CMIP6数据处理及在气候变化、水文、生态等领域中应用

气候变化对农业、生态系统、社会经济以及人类的生存与发展具有深远影响,是当前全球关注的核心议题之一。IPCC(Intergovernmental Panel on Climate Change,政府间气候变化专门委员会)的第六次评估报告明确;指出&#x…

西班牙Wallapop是什么?原来欧洲版闲鱼也很好用!

说到国内的闲鱼大家肯定不陌生,那国外的二手闲置平台大家知道吗?在西班牙,最受欢迎的移动购物APP是Wallapop和速卖通。Wallapop是西班牙第一大二手商品网站,网站上丰富的性价比高的商品正好满足了西班牙人的需求。今天龙哥就和大家…

Yolov8实现瓶盖正反面检测

一、模型介绍 模型基于 yolov8n数据集采用SKU-110k,这数据集太大了十几个 G,所以只训练了 10 轮左右就拿来微调了 基于原木数据微调:训练 200 轮的效果 10 轮SKU-110k 20 轮原木 200 轮瓶盖正反面 微调模型下载地址https://wwxd.lanzouu.co…

网站提示不安全?

随着互联网的普及和发展,网络安全问题日益严重。黑客攻击、数据泄露、恶意软件等问题层出不穷,给企业和个人带来了巨大的损失。在这个背景下,确保网站安全显得尤为重要,而使用SSL证书是解决这些问题的有效措施。 什么是SSL证书&am…

分享超实用的软文撰写步骤!建议收藏

一想到写软文就头大,根本不知道从哪里下手,这是很多写手在创作过程中会遇到的问题。 一篇软文写得好不好,关键就要看你的创作步骤到不到位,软文创作是有一套可执行的具体方式的,跟着步骤来,你也能轻轻松松…

提升性能测试效率:JMeter中的用户自定义变量!

前言 在测试过程中,我们经常会碰到测试服务地址有改动的情况,为了方便,我们会把访问地址参数化,当访问地址变化了,我们只需要把参数对应的值改动一下就可以了。 一:添加配置元件-用户定义的变量&#xff…

LeetCode 7 整数反转

题目描述 整数反转 给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−2^31, 2^31 − 1] ,就返回 0。 假设环境不允许存储 64 位整数(有符号或无符号)。 示…

【Android】使用intent.putExtra()方法在启动Activity时传递数据

食用方法 在Android中,你可以使用Intent对象来在启动Activity时传递数据。以下是一个示例,展示了如何在startActivity时传递数据到被启动的Activity: 在启动Activity的地方,创建一个Intent对象,并使用putExtra()方法…

【PPT模板合集】关于自制内容的PPT模板合集,包括原创的PPT及改良内容的PPT,适合科研/比赛/工作

【PPT模板合集】关于自制内容的PPT模板合集,包括原创的PPT及改良内容的PPT,适合科研/比赛/工作 零、前言一、校园层面的PPT模板1.1 各种毕业答辩1.2 夏令营答辩1.3 奖学金答辩1.4 比赛/项目答辩 二、学术层面的PPT模板2.1 学术汇报2.2 会议海报类型 三、…

滚珠丝杆在各种自动化设备中的作用

滚珠丝杆因其具有高精度、高刚度和长寿命等特性,成为许多设备中的重要组成部分,在许多行业中都有广泛的应用,接下来我们看看滚珠丝杆的具体应用有哪些? 1、打孔机:提供精确的导向,使打孔机的滑块能够沿固定…

【算法每日一练]-图论(保姆级教程篇9 最小生成树 ,并查集篇)#道路修建 #兽径管理

目录 题目:道路修建 思路: 题目:兽径管理 思路: 题目:道路修建 思路: “让这些点全部连在一起的最小代价”很明显是最小生成树。绝对不能kruskal,存边一定会超内存。所以只能prim。 但是…

解读免费化潮流:为何数据可视化软件向免费迈进?

近年来,我们见证了数据可视化软件呈现出明显的免费化趋势。这个趋势的背后隐藏着许多关键原因,影响着整个数据行业的发展和走向。为何数据可视化软件开始朝着免费方向发展?让我们一同深入探讨。 普及数字化需求: 数字化已经深入到…

力扣283题 移动零 双指针解法

移动零 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0]示例 2: 输入: nums [0] 输出…

windows下使用iperf3

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、使用步骤1.下载2.解压3.测试1.作为服务器使用2.作为客户端使用 总结 前言 windows使用iperf3和linux是一样的,而且可以相互操作。 一、使用步骤…

Linux系统iptables扩展

目录 一. iptables规则保存 1. 导出规则保存 2. 自动重载规则 ①. 当前用户生效 ②. 全局生效 二. 自定义链 1. 新建自定义链 2. 重命名自定义链 3. 添加自定义链规则 4. 调用自定义链规则 5. 删除自定义链 三. NAT 1. SNAT 2. DNAT 3. 实验 ①. 实验要求 ②. …

mybatis关于namespace以及id以及Mapper接口命名的说明(了解)

1、建库建表 CREATE DATABASE mybatis-example;USE mybatis-example;CREATE TABLE t_emp(emp_id INT AUTO_INCREMENT,emp_name CHAR(100),emp_salary DOUBLE(10,5),PRIMARY KEY(emp_id) );INSERT INTO t_emp(emp_name,emp_salary) VALUES("tom",200.33); INSERT INTO…

C/C++转义符:\x

文章目录 什么是转义符使用"\x"定义char数组宏定义中的\ 什么是转义符 在C语言中,转义符用于将一些特殊字符表示为单个字符,常用的转义符有: \\:反斜杠符号\:单引号\":双引号\a&#xff1…

如何获取1688的订单详情

获取1688订单详情需要申请 第一步:先去1688-开放平台申请,申请不一定能通过,审批很严。 第二步:首次登录请先注册,注册成功后即可登录。 第三步:选择:我是第三方开发者 第三方是封装好的ap…

解析编程中的技术迷题:常见挑战与应对策略

前言 在数字化时代的浪潮中,编程已经成为了一项至关重要的技能。无论是在软件开发、数据分析、人工智能还是互联网领域,编程都扮演着不可或缺的角色。作为一种创造性的活动,编程不仅仅是代码的书写,更是一种解决问题和创新的思维方…