当前位置: 首页 > 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.dtcms.com/a/274905.html

相关文章:

  • Claude Code 完全上手指南:从入门到精通的终极备忘录
  • 【MYSQL8】springboot项目,开启ssl证书安全连接
  • 深度学习篇---昇腾NPUCANN 工具包
  • 数字后端APR innovus sroute到底是如何选取宽度来铺power rail的?
  • 大模型遇上数据库:如何真正实现从“智能问数”到“精准问数”?Intalink给出答案
  • Rust基础-part3-函数
  • 如何在 PyCharm 批量调整代码缩进?PyCharm 调整代码格式化和代码缩进的快捷键有哪些?
  • Pandas:常见的转换函数(rename,set_index,reset_index)
  • 麦迪逊悬架cad【14张】+三维图+设计说明书
  • VLLM部署DeepSeek-LLM-7B-Chat 模型
  • 云网络产品
  • 简单记录一下Debug的折磨历程
  • 多项式环及Rq的含义
  • Solaris10 创建用户初始化家目录
  • 注意力机制十问
  • softmax回归的从零开始实现
  • Java 抽象类详解:从基础到实战,掌握面向对象设计的核心基石
  • 渗透测试之木马后门实验
  • 拥抱AI----AI时代下的SSM框架
  • 项目捷报 | 冠捷科技泰国工厂THA MES项目成功验收!TPV国际化布局再添里程碑!
  • 【中文核心期刊推荐】中国农业科技导报
  • php的原生类
  • 7.12 卷积 | 最小生成树 prim
  • 转转APP逆向
  • WIFI协议全解析06:Beacon帧、Probe帧你必须懂,搞WiFi通信绕不开它们
  • RAG知识库检索查询优化技术
  • 【实时Linux实战系列】 KVM-RT 与 Jailhouse 虚拟化
  • C++ 面向对象 - 默认值与常量成员
  • sensor_msgs中常用的传感器数据格式以及c++操作
  • 数字孪生技术引领UI前端设计新风尚:智能穿戴设备的界面优化