2024认证杯数学建模C题思路模型代码

news2025/6/21 7:39:53

目录

2024认证杯数学建模C题思路模型代码:4.11开赛后第一时间更新,获取见文末名片

以下为2023年认证杯C题:

2024年认证杯数学建模C题思路模型代码见此


2024认证杯数学建模C题思路模型代码:4.11开赛后第一时间更新,获取见文末名片

以下为2023年认证杯C题:

   问题分析

        问题的研究对象是正常与不正常的心搏,研究的内容为其中心电波形功率谱密度的变化情况。该问题描述了心律失常时不同心搏的类别变化特点,并在不同的异常心率搏动下提出了分类排序的要求:

        2.1对问题1的分析

        针对问题1:可以将问题分为两个小问题。首先对本文数据异常心搏整合,并进行其特性的分析。因为每个csv的文件都是2s的时间序列数据,直接使用时间序列建模明显数据过于繁琐,并不可取。因此,按照思路可以利用这些数据时间序列去提取统计特征、频域特征、时域特征,并存储于数据集中。根据上述的特征,对每个样本提取特征,并对正常的标记 0,异常的标记 1。 使用监督学习方法,建立机器学习模型进行训练和调参。其次,对心律失常的情况进行分类,这部分类别 label 题目没有给,因此属于无监督学习聚类分析。然后通过使用基于质心的聚类算法,自己决定类的数目。

        2.2对问题2的分析

        针对问题2:将第一问所得数据集分为数据集和测试集,然后更新聚类中心。可以参考统计模型中的多元线性回归分析的标准化回归系数和机器学习模型的特征重要性分析。这一步的思想是将第一问打的 label 作为 target 进行拟合模型,让模型本身来判断哪些特征是重要的分类依据。具体需要先将数据标准化,将 label 作为因变量,可以带入多元线性回归模型观察标准化回归系数的大小,或者带入机器学习分类模型观察特征重要性的大小,直接量化各个特征的分类重要性。最后将特征值可视化,再去量化其标准。

        2.3对问题3的分析

        针对问题3:这题可以根据问题1和问题2的结论去分析,一般来说,心搏数据与正常心搏偏离越大则越危险,可以直接与其比较得出统计特征以此做出统计分类。然后,采用机器学习分类中的置信度,假设有3种异常,将正常编号为0,异常的分程度标记为1、2、3,再机器学习进行数据拟合,若心搏数据越偏离正常,则情况越紧急,标记分级更高,若心搏数据偏向正常,则情况越轻缓,标记分级低。

        问题一的模型建立与求解:

        由于心电监测仪的处理器数据速度和容量有限,会大大限制心电监测长时间的数据计算,因此如何在2s内将心率异常状况分类是一个重点问题。因此:

可通过机器学习输入样本集:会将数据集划分为两部分:训练集和测试集。训练集用来训练模型,测试集用来评估模型的性能。通过训练集,可以得到一个模型,然后用测试集来评估这个模型的泛化能力。如果模型在测试集上的表现很好,那么就可以认为这个模型具有很好的泛化能力,可以用来预测新的数据。在数学建模中,建立训练集和测试集的过程与机器学习中的过程类似。通常会将数据集划分为训练集和测试集,然后使用训练集来建立模型,使用测试集来评估模型的性能。这个过程可以帮助确定模型的参数和超参数,并且评估模型的预测能力。通过这个过程,可以得到一个可靠的模型,用来解决实际问题。

        四种模型

        使用心跳频率去分析异常情况,可以通过监测心跳频率的变化来判断患者是否出现了心脏疾病等异常情况。以下是四种常用的机器学习模型对心跳频率异常情况的分析:

①Logistics模型:Logistics模型可以用来预测二元分类问题,如判断患者是否有心脏疾病。通过输入患者的心跳频率等特征,Logistics模型可以输出一个概率值,表示患者是否有心脏疾病的可能性。如果概率值大于0.5,则认为患者有心脏疾病;否则,认为患者没有心脏疾病。

Logistic回归模型对因变量y直接进行建模,而是对y取某个值的概率进行建模,即p{y=1|x}进行建模。这个概率的取值只有0或1两种情况。那么可以得到p{y=1|x}与x的关系建立模型:

②决策树模型:决策树模型可以用来预测多元分类问题,如判断患者是否有不同类型的心脏疾病。通过输入患者的心跳频率等特征,决策树模型可以逐步判断患者是否有不同类型的心脏疾病。例如,如果患者的心跳频率小于60次/分钟,则认为患者可能患有心房颤动等疾病。

③随机森林模型:随机森林模型可以用来预测多元分类问题,如判断患者是否有不同类型的心脏疾病。与决策树模型不同的是,随机森林模型会生成多个决策树,并且每个决策树都是基于不同的随机样本和特征生成的。通过对多个决策树的预测结果取平均值,随机森林模型可以更准确地预测患者是否有心脏疾病。

④XGBoost模型:XGBoost模型是一种高效的集成学习模型,可以用来预测二元或多元分类问题。与随机森林模型类似,XGBoost模型也是基于多个决策树生成的。但是,XGBoost模型在生成决策树时采用了一些优化技术,如梯度提升和正则化等,可以更准确地预测患者是否有心脏疾病。

        

 利用文本数据生成的决策树模型部分图

        问题二的模型建立与求解:

利用文本数据生成的心搏数据

        由上图可知,不会存在完全一致的心搏频率图,因此如何衡量出一个标准应用于心电监测仪去判断心律失常的类别尤为重要。

因此,在通过机器学习后,将测试集整理出来:

 部分机器学习后心搏频率测试数据

        经过大量的测试数据分析,最终选用了logistic模型、决策树模型、随机森林模型和xgboost模型进行比较。

 机器学习后四种模型的性能度量指标折线图

 机器学习后四种模型的性能度量指标表

        通过在对比分析的结果中不难发现,发现随机森林模型和XGBoost模型表现更加优秀,因此建议在实际应用中使用这两种模型,以获得更好的预测效果。因此选用随机森林模型和XGBoost模型的前十项指标数据进行分析:

 随机森林最重要的十个特征索引图

 XGBoost最重要的十个特征索引图

        最后,则是对重要的特征进行可视化。假设x1,x2,x3,x4,x5是最重要的特征,则将他们三三排列组合成10种,绘制三维散点图,将不同label的点用不同颜 色标记,这样可以直观看出哪些点在哪些取值下会严重影响分类的性能,得到判断依据。

        问题三的模型建立与求解:

1)危险程度衡量的指标分析

        本题主要是对问题一和问题二的总结,利用问题一中求出的异常种类以及问题二得出的异常心率标准。可以根据心率失常的类型以及临床表现,将异常心率的失常程度分为:低危型心率失常、中危型心率失常和高危型心率失常。

根据上述的分类,不但可以以每个片段的分类顺序从上到下分为高中低三个等级,还可以依据每种等级内会发生的心律失常类型进一步排序,而为了实现心律失常 风险评估和排序,使用了一种基于机器学习的方法,具体步骤如下:

Step1:

        像解决问题一的同样方法,在标注完正常心率与异常心率的图标中,对每个片段,计算其各类型的特征值,并将其当做改片段的特征向量。

Step2:

        根据心电图中已知的正常心搏频率和异常心搏频率进行区别标注,方便下一步让电脑明白数据,例如:正常心搏数据标记为0,异常拼搏数据从低到高依次为1、2、3。

Step3:

        在数据预处理完成后,使用已经标注好的样本数据来进行训练学习,采用四种聚类分析模型,分别是:Logistic模型、决策树模型、随机森林模型和XGBoost模型。在分析求证后,最终使用了Logistic模型。

Step4:

        在模型训练完成后,使用新的心电图数据输入模型中,就可以依靠2s的心电频谱检测出每个片段的危险等级,将预测的结果排序好和分级,更有利于医生能够更加快速地诊断和处理。 

2)实际上的聚类分析得出的结论

        使用logistci模型,可得Logistic回归模型的认为近似0的概率分别如下 

类型

近似0的概率

1

0.058

2

0.0327

3

0.046

根据逻辑回归模型进行对数据进行预估,将预估值里面是心率失常而且类型不同的人分别对应求总和,不同类型心率失常的人分别求其样本总数,将其对应求概率,该概率为求近似0(正常心率的人)的概率,概率越低证明他与正常人的心率相差更大,即表明该人心率失常就更为严重。

部分代码展示:


2024年认证杯数学建模C题思路模型代码见此

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1584913.html

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

相关文章

云服务器上Docker启动的MySQL会自动删除数据库的问题

一、问题说明 除了常见的情况,例如没有实现数据挂载,导致数据丢失外,还需要考虑数据库是否被攻击,下图 REVOVER_YOUR_DATA 就代表被勒索了,这种情况通常是数据库端口使用了默认端口(3306)且密码…

Coursera吴恩达《深度学习》课程总结(全)

这里有Coursera吴恩达《深度学习》课程的完整学习笔记,一共5门课:《神经网络和深度学习》、《改善深层神经网络》、《结构化机器学习项目》、《卷积神经网络》和《序列模型》, 第一门课:神经网络和深度学习基础,介绍一…

mac电脑安装软件报错:无法检查更新,请检查你的互联网连接

1、点菜单栏搜索图标,输入:终端 ,找到后,点击打开 2、输入以下命令:(复制粘贴进去)回车安装 /usr/sbin/softwareupdate --install-rosetta --agree-to-license 3、提示【Install of Rosetta …

[dvwa] CSRF

CSRF 0x01 low 跨站,输入密码和确认密码直接写在url中,将连接分享给目标,点击后修改密码 社工方式让目标点击短链接 伪造404页,在图片中写路径为payload,目标载入网页自动请求构造链接,目标被攻击 http…

学习云计算HCIE选择誉天有什么优势?

誉天云计算课程优势实战性强 课程注重实践操作,通过实际案例和实验操作,让学员深入了解云计算的应用场景和实际操作技能。课程内容全面 涵盖所有云计算涉及的IT基础知识、服务器、存储、网络等方面的基础知识,开源操作系统Linux,开…

Java 实例 - 在控制台上输入密码要求其数字和字母混搭等长度限制(Pattern正则表达式)

1.在控制台上输入密码,要求密码由数字和字母混搭,关键词是_,且密码的长度至少1位,不得超过6位 package com.guyu.demo;import java.util.Scanner; import java.util.regex.Pattern;/*** * 2024年4月11日 上午9:57:40* author Guyu…

FPGA开源项目分享——基于 DE1-SOC 的 String Art 实现

导语 今天继续康奈尔大学FPGA课程ECE 5760的典型案例分享——基于DE1-SOC的String Art实现。 (更多其他案例请参考网站: Final Projects ECE 5760) 1. 项目概述 项目网址 ECE 5760 Final Project 项目说明 String Art起源于19世纪的数学…

显示学习4(基于树莓派Pico) -- 游戏

来自:https://github.com/zelacerda/micropython 代码改造了一下,让它可以跑起来。 简单分析一下代码。外层是一个死循环,有一个状态机来对应不同的场景。 def loop():while True:if state 0: splash_screen()elif state 1: game_waiti…

【uniapp】省市区下拉列表组件

1. 效果图 2. 组件完整代码 <template><view class="custom-area-picker"><view

Day:006(1) | Python爬虫:高效数据抓取的编程技术(爬虫工具)

selenium介绍与安装 Selenium是一个Web的自动化测试工具&#xff0c;最初是为网站自动化测试而开发的&#xff0c;类型像我们玩游戏用的按键精灵&#xff0c;可以按指定的命令自动操作&#xff0c;不同是Selenium 可以直接运行在浏览器上&#xff0c;它支持所有主流的浏览器&am…

idea如何debug看springsecurity的过滤器顺序

idea如何debug看springsecurity的过滤器顺序 先配置一个Spring启动对象,后续需要根据这个对象来获取SpringSecurity的过滤器链 设置一个输出信息&#xff0c;需要在输出信息这里打上断点&#xff0c;才方便查看过滤器链 public static void main(String[] args) {//此时不…

[opencv]VideoWriter写出fourcc格式

fourcc支持的格式 fourcc全名Four-Character Codes&#xff0c;四字符代码&#xff0c;该编码由四个字符组成 cv2.VideoWriter_fourcc(O,O,O,O) cv2.VideoWriter_fourcc(*OOOO) 通常写法有上述两种形式&#xff0c;O代表一个字符&#xff0c;通常有 支持avi格式的有&#…

LeetCode 142.环形链表II(数学公式推导)

给定一个链表的头节点 head &#xff0c;返回链表开始入环的第一个节点。 如果链表无环&#xff0c;则返回 null。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整…

C语言中的数据结构--链表的应用1(2)

前言 上一节我们学习了链表的概念以及链表的实现&#xff0c;那么本节我们就来了解一下链表具体有什么用&#xff0c;可以解决哪些实质性的问题&#xff0c;我们借用习题来加强对链表的理解&#xff0c;那么废话不多说&#xff0c;我们正式进入今天的学习 单链表相关经典算法O…

配置及第三方授权申请教程

项目需要配置的地方不多&#xff0c;主要就两个地方需要注意&#xff1a;邮箱授权和第三方授权需要提前申请 1.基本设置 1.1 打开application.yml&#xff0c;修改数据库ip等基本信息 这些基本的配置就不多说了&#xff0c;基本就是改下服务器ip和账号密码什么的 1.2 获取QQ…

WebGIS实现各地区COVID-19数据一览

1.项目地址 GISpjd/WebGIS-Show-Covid19 (github.com)&#xff0c;具体每个文件的职能可以参考README文档。 2.前言 预览 >> 所用技术栈&#xff1a; 项目需求本身不是过于复杂&#xff0c;所以没有在相应前端框架下完成&#xff0c;但转入框架也是比较容易的 &#…

DJ-D500/0.5机械式隔膜计量泵

一、DJ-D500/0.5机械式隔膜计量泵概述&#xff1a;DJ-D500/0.5机械式隔膜计量泵是一款设计精良、结构紧凑的计量设备&#xff0c;专为精确输送和计量各种化学液体而设计。该泵采用先进的机械驱动机制&#xff0c;能够确保在各种工作压力下都能实现高精度的流量控制。 二、技术特…

Transformer模型-数据预处理,训练,推理(预测)的简明介绍

Transformer模型-数据预处理&#xff0c;训练&#xff0c;推理&#xff08;预测&#xff09;的简明介绍 在继续探讨之前&#xff0c;假定已经对各个模块的功能有了充分的了解&#xff1a; 人工智能AI 虚拟现实VR 黑客帝国_Ankie&#xff08;资深技术项目经理&#xff09;的博客…

Vue2创建过程记录

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、搭建node二、安装Vue CLI三、搭建新项目四、Elemet安装&#xff08;参照官网步骤[Element官网](https://element.eleme.cn/#/zh-CN/component/installation)&am…