当前位置: 首页 > news >正文

2025年亚太中文赛B题第一版本超详细解题思路

亚太中文赛作为2025年暑期第一场数模竞赛,难度约为0.5-0.6个国赛。本文将为大家详细的带来B题超详细的解题思路。

其中B题数据均在网上可以找到公开来源,具体如下所示

技术参考网站

基于统计检验与多模型对心脏病数据的分析与预测

https://www.heywhale.com/mw/project/68287347e0112fbd79e75963

中风数据集疑似来源

https://www.heywhale.com/mw/dataset/648d46ae9de7b81463a94e2b/file

相关项目

https://www.heywhale.com/mw/dataset/648d46ae9de7b81463a94e2b/project

肝硬化数据来源

https://www.kaggle.com/datasets/abuchionwuegbusi/cirrhosis-patient-survival-prediction

数据介绍 1974 年至 1984 年期间,424 名 PBC 患者转诊至梅奥诊所,有资格参加测试 D-青霉胺药物的随机安慰剂对照试验。其中,最初的 312 名患者参加了试验,并且拥有大部分全面的数据。其余 112 名患者没有参加临床试验,但同意记录基本指标并接受生存跟踪。其中 6 名患者在诊断后很快就无法追踪,除了随机试验的 312 名患者外,还留下了其中 106 人的数据。

问题1:数据预处理与基础统计分析

问题描述:对疾病数据集进行预处理,并分析各个特征与疾病发生的关系。

进行数据清洗、缺失值填补、标准化等步骤,使用描述性统计与可视化工具(如直方图、散点图)分析不同特征与疾病发生的相关性,描述性统计分析:均值、中位数、方差、相关系数等。

问题一主要分为数据清洗与预处理基础统计分析、可视化分析。

1.1 数据清洗与预处理

缺失值处理:检查每个数据集中的缺失值,并决定如何处理这些缺失值。常见的处理方式包括删除含缺失值的行或用均值、中位数或众数填充缺失数据。

数据转换:将类别变量(如性别、是否患有高血压、是否吸烟等)转换为数值型变量,以便于机器学习模型使用。可以使用LabelEncoder 或 OneHotEncoder 进行转换。

· 类变量编码: 

二分类:Label Encoding (0,1)

多分类:One-Hot Encoding 或 Target Encoding

· 数值变量标准化:使用StandardScaler或MinMaxScaler

标准化与归一化:对于一些具有较大数值范围的特征(如年龄、血糖水平等),可以进行标准化或归一化处理,以提高模型训练的效果。

具体来讲我们需要首先进行数据清洗,(由于样本之间独立 互不相连,这里可以直接选择删除处理),具体如下所示

表格

指标名称

原因

处理

stroke.csv

gender

存在第三性别删除

bmi

存在缺失值

删除

smoking_status

存在12个21岁以下少年吸烟

heart.csv

RestingBP

静息血压[毫米汞柱]存在为0的个体

删除

cirrhosis.csv

Cholesterol

存在缺失值

删除

Copper

存在缺失值

删除

Trygli

cerides

存在缺失值

删除

后续模型中我们需要输入数据,而原始表格数据存在大量的文字信息,我们这里应该进行转码处理,即将文字信息进行量化处理,具体如下所示

表格

转码指标

转码前

转码后

stroke.csv

gender

1

0

ever_married

yes

1

no

0

work_type

children

1

Govt_job

2

Never_worked

3

Private

4

Self-employed

5

Residence_type

Urban

1

Rural

0

smoking_status

formerly smoked

1

never smoked

2

smokes

3

Unk0wn

4

表格

转码指标

转码前

转码后

cirrhosis.csv

N_Days

C

1

CL

2

D

3

3-peni1illamine

1

Pla1ebo

2

Sex

M

1

F

0

表格

转码指标

转码前

转码后

heart.csv

Sex

M

1

F

0

ChestPainType

ASY

0

TA

1

ATA

2

NAP

3

RestingECG

Nor1al

1

ST

2

LVH

3

ExerciseAngina

N

0

Y

1

ST_Slope

0lat

1

Dow0

2

3

3

我们后续基于处理后的数据进行了计算各数据集的均值、标准差、最小值、最大值、中位;统计三种疾病的患病率/死亡率;计算完整的相关系数矩阵;统计显著性检验(方差分析(ANOVA):检验连续变量对疾病的影响、卡方检验:检验分类变量与疾病的关联性)

【因数据预处理不同,数值上略有不同很合理】

患病率汇总:

中风患病率:4.26%

心脏病患病率:55.29%

肝硬化死亡率:40.22%

图片

图片

Stroke各特征与中风的相关性:

age: 0.232

hypertension: 0.143

heart_disease: 0.138

ever_married: 0.105

work_type: 0.080

Residence_type: 0.006

avg_glucose_level: 0.139

bmi: 0.042

smoking_status: -0.076

Heart各特征与心脏病的相关性:

Age: 0.282

Sex: 0.305

ChestPainType: -0.469

RestingBP: 0.118

Cholesterol: -0.231

FastingBS: 0.268

RestingECG: 0.062

MaxHR: -0.401

ExerciseAngina: 0.495

Oldpeak: 0.404

ST_Slope: -0.608

Cirrhosis各特征与死亡状态的相关性:

N_Days: -0.385

Drug: -0.036

Age: 0.225

Sex: 0.178

Ascites: 0.291

Hepatomegaly: 0.292

Spiders: 0.229

Edema: 0.261

Bilirubin: 0.427

Cholesterol: 0.190

Albumin: -0.271

Copper: 0.395

Alk_Phos: 0.277

SGOT: 0.265

Tryglicerides: 0.227

Platelets: -0.087

Prothrombin: 0.374

Stage: 0.321

问题2:疾病预测模型

问题描述:基于特征建立疾病预测模型,评估不同疾病(心脏病、中风、肝硬化)的患病概率。

可以使用分类算法(如逻辑回归、支持向量机、随机森林)来预测疾病的发生概率,并使用交叉验证和混淆矩阵评估模型的性能。

可能使用的模型:

逻辑回归:适合处理二分类问题。

支持向量机(SVM):在高维空间有效分类。

随机森林:集成学习方法,适用于处理复杂数据。

对于问题二,我们需要对不同的数据进行不同的处理方式,对连续变量进行标准化处理。并基于基于问题一的相关性分析结果选择重要特征。下面为了初步展示,我们实现了三种经典的机器学习算法:

逻辑回归:线性模型,解释性强,适合医学应用

支持向量机(SVM):非线性模型,适合小样本数据 

随机森林:集成学习,能处理特征交互,提供特征重要性

最终结果如下所示是
--- Stroke模型性能对比 ---

模型准确率精确率召回率特异性F1分数AUC

逻辑回归0.95720.00000.00000.99890.00000.8148

SVM0.95820.00000.00001.00000.00000.5000

随机森林0.95720.00000.00000.99890.00000.7842

--- Heart模型性能对比 ---

模型准确率精确率召回率特异性F1分数AUC

逻辑回归0.85250.84260.90100.79270.87080.9094

SVM0.77050.75210.87130.64630.80730.5000

随机森林0.81970.80910.88120.74390.84360.9021

--- Cirrhosis模型性能对比 ---

模型准确率精确率召回率特异性F1分数AUC

逻辑回归0.78180.81250.59090.90910.68420.9325

SVM0.78180.75000.68180.84850.71430.5000

随机森林0.80000.82350.63640.90910.71790.8960

图片

其他可以选择的模型,如下所示

图片

问题3:多疾病关联与综合风险评估

问题描述:构建一个综合风险评估模型,预测患者同时患有心脏病、中风和肝硬化的概率。

对于本问题

年龄(Age)

Stroke数据集:age 

Heart数据集:Age 

Cirrhosis数据集:Age 

特点:三个数据集都有,数值型,可直接对齐

性别(Sex/Gender)

Stroke数据集:gender (0=女, 1=男) 

Heart数据集:Sex (0=女, 1=男) 

Cirrhosis数据集:Sex (0=女, 1=男) 

特点:三个数据集都有,编码一致

胆固醇(Cholesterol)

Stroke数据集:❌ 没有此特征 

Heart数据集:✅ Cholesterol 

Cirrhosis数据集:✅ Cholesterol

使用年龄以及性别,还有利用医学等价性对齐的特征将Stroke数据集中胆固醇进行合理转换。

单疾病风险预测

心脏病预测:基于年龄+性别+胆固醇

肝硬化预测:基于年龄+性别+胆固醇

中风预测:基于年龄+性别(因为缺少胆固醇数据)

图片

多元回归:分析多个特征对患病风险的影响。

问题4:预防措施建议

八仙过海、各显神通,根据分析结果,提出针对心脏病、中风和肝硬化的预防建议。

http://www.lryc.cn/news/585493.html

相关文章:

  • CMU15445-2024fall-project1踩坑经历
  • 学弟让我帮忙写一个学生管理系统的后端,我直接上科技
  • 【八股消消乐】浅尝Kafka性能优化
  • IAR携手矽力杰与普华基础软件,共推RISC-V车规芯片高安全应用落地
  • 必备软件推荐:1、Everything:Windows 文件查找的终极利器
  • PyInstaller打包完整指南1
  • 【web应用】若依框架前端报表制作与导出全攻略(ECharts + html2canvas + jsPDF)
  • 8-day06预训练模型
  • CReFT-CAD 笔记 带标注工程图dxf,png数据集
  • 上位机知识篇---常见的文件系统
  • 灰盒级SOA测试工具Parasoft SOAtest重新定义端到端测试
  • QT控件 使用QtServer系统服务实现搭建Aria2下载后台服务,并使用Http请求访问Json-RPC接口调用下载退出
  • 《月亮与六便士》:天才的背叛与凡人救赎的残酷辩证法
  • 【时时三省】(C语言基础)通过指针引用数组元素
  • 计算机网络第三章(6)——数据链路层《网桥交换机》
  • 【中文核心期刊推荐】中国农业科技导报
  • 2025最新版Docker讲解/面试/命令/容器化技术
  • 什么是Podman?能否替代Docker?Podman快速入门
  • 雨污管网智慧监测系统网络建设方案:基于SD-WAN混合架构的最佳实践
  • 第三方渗透测试:范围咋定?需供应商同意吗?
  • 正义的算法迷宫—人工智能重构司法体系的技术悖论与文明试炼
  • ICLR 2025 | InterpGN:时间序列分类的透明革命,Shapelet+DNN双引擎驱动!
  • 目标检测:视觉系统中的CNN-Transformer融合网络
  • Day58
  • 5G标准学习笔记14 - CSI--RS概述
  • Set 二分 -> 剑指算法竞赛
  • 基于机器视觉的半导体检测解决方案
  • MySQL内置函数(8)
  • MySQL中使用group_concat遇到的问题及解决
  • 【AI大模型】BERT微调文本分类任务实战