心电图心跳信号多分类预测——赛题理解和baseline学习

来源:datawhale组队学习

队伍:带带菜菜吧

赛题理解

题目要求:

1.根据“心电图感应”数据预测不同的心跳信号

2.心跳信号对应正常病例以及受不同心率不齐和心肌梗影响的病例

 

数据集总共超过20万,主要为1列心跳信号序列数据

抽取10万条作为训练集,2万条作为测试集A,2万条测试集B

对心跳信号类别(label)信息进行脱敏(个人理解就是换成普通类别,不是如心脏病等常见敏感词)

 

baseline学习

通过juypter lab按照baseline里代码,分模块运行,了解了项目代码书写大致流程:

  1. 导入科学工具包(因为自己以前包只需要numpy、pandas、matplotlib、sklearn,所以在运行baseline代码时,需要安装不少其他未见的包,认识及简单学习,后见附录,有简单介绍及参看链接学习)
  2. 读取数据
  3. 数据预处理
  4. 训练数据、测试数据准备
  5. 模型训练
  6. 预测结果

附录

Lightgbm(lgb)

LightGBM是个快速的,分布式的,高性能的基于决策树算法的梯度提升框架。可用于排序,分类,回归以及很多其他的机器学习任务中。

 

来自 <https://blog.csdn.net/huacha__/article/details/81057150>

 

其他优势及使用参考下文 <https://zhuanlan.zhihu.com/p/52583923>

Xgboost()

XGBoost全名叫(eXtreme Gradient Boosting)极端梯度提升,经常被用在一些比赛中,其效果显著。它是大规模并行boosted tree的工具,它是目前最快最好的开源boosted tree工具包。XGBoost 所应用的算法就是 GBDT(gradient boosting decision tree)的改进,既可以用于分类也可以用于回归问题中。

 

来自 <https://www.cnblogs.com/zongfa/p/9324684.html>

 

其他参考

https://www.cnblogs.com/mantch/p/11164221.html

 

https://zhuanlan.zhihu.com/p/83901304

catboost

CatBoost是一种基于对称决策树(oblivious trees)为基学习器实现的参数较少、支持类别型变量和高准确性的GBDT框架,主要解决的痛点是高效合理地处理类别型特征,这一点从它的名字中可以看出来,CatBoost是由Categorical和Boosting组成。此外,CatBoost还解决了梯度偏差(Gradient Bias)以及预测偏移(Prediction shift)的问题,从而减少过拟合的发生,进而提高算法的准确性和泛化能力。

 

来自 <https://zhuanlan.zhihu.com/p/102540344>

 

其他参考

https://cloud.tencent.com/developer/article/1546808

 

https://baijiahao.baidu.com/s?id=1665393378661343624&wfr=spider&for=pc

tqdm

 

是Python中专门用于进度条美化的模块,通过在非while的循环体内嵌入tqdm,可以得到一个能更好展现程序运行过程的提示进度条

https://blog.csdn.net/weixin_36670529/article/details/88868032

https://blog.csdn.net/zkp_987/article/details/81748098

seaborn

是一种基于matplotlib的图形可视化python libraty。它提供了一种高度交互式界面,便于用户能够做出各种有吸引力的统计图表。

 

来自 <https://zhuanlan.zhihu.com/p/24464836>

 

https://zhuanlan.zhihu.com/p/24464836

Pandas_profiling

这个库只需要一行代码就可以生成数据EDA报告。

pandas_profiling基于pandas的DataFrame数据类型,可以简单快速地进行探索性数据分析。

 

来自 <https://zhuanlan.zhihu.com/p/85967505>

 

 

tsfresh

时间序列特征处理工具 https://blog.csdn.net/xindoo/article/details/79177378

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于MATLAB进行心电图信号处理的步骤如下: 1. 导入心电图数据:使用MATLAB的文件读取函数,如`load`或`csvread`,将心电图数据导入到MATLAB工作空间中。 2. 数据预处理:对导入的心电图数据进行预处理,包括去除噪声、滤波和基线漂移校正等。可以使用MATLAB的信号处理工具箱中的函数,如`medfilt1`进行中值滤波、`detrend`进行基线漂移校正等。 3. 心率检测:使用MATLAB的信号处理工具箱中的函数,如`findpeaks`或`ecg`进行心率检测。这些函数可以帮助识别心电图中的R峰,并计算心率。 4. 心律失常检测:使用MATLAB的信号处理工具箱中的函数,如`ecg`进行心律失常检测。这些函数可以帮助检测心电图中的心律失常,如心房颤动、心室早搏等。 5. 心电图绘制:使用MATLAB的绘图函数,如`plot`或`plotyy`,将处理后的心电图数据绘制成图形。可以添加标签、标题和图例等,以便更好地展示和分析心电图数据。 6. 结果分析:根据绘制的心电图和检测结果,进行进一步的分析和解释。可以计算心率变异性、心电图特征等,以评估心脏健康状况。 下面是一个基于MATLAB进行心电图信号处理的示例代码: ```matlab % 导入心电图数据 data = load('ecg_data.csv'); % 数据预处理 filtered_data = medfilt1(data, 5); % 中值滤波 baseline_corrected_data = detrend(filtered_data); % 基线漂移校正 % 心率检测 [peaks, locations] = findpeaks(baseline_corrected_data); % 检测R峰 heart_rate = length(peaks) / (length(data) / 1000) * 60; % 计算心率 % 心律失常检测 [~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~, ~

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值