老肥今天和大家分享的是山东省第三届数据应用创新创业大赛的心电图智能事件识别
赛题的Top2方案,完整代码已开源,需要的同学可以点击底部阅读原文
一键直达。
本次比赛是我第二次参加的心电图竞赛,主要采用的是基于ResNet改写的1DCNN模型。而上一次参加的则是AIWIN的赛题,比赛中因为数据不可开放、只能使用线上较差的计算资源而提前放弃,当时主要采用了树模型与特征工程的思路,完整代码同样可以在我的GitHub仓库中找到。
赛题描述
心电图(ECG)是一种简单、经济的院内检查手段,是患者住院或日常体检的常用检测项目。由计算机辅助医生对心电信号进行识别,有望减轻医生工作负担,并降低人工造成的漏诊。对于某一时长的 ECG 数据,识别其包含哪些心律失常事件,是目前热门的研究方向。评价指标为F1宏平均
。
解决方案
在对数据进行初步观察后,我们可以发现这是一个类别不均衡的多标签分类
问题,并且心电图的数据长度也并不一致,为了将数据送入到CNN中进行训练,我们需要将其长度转成一致。
这里主要采取了两种不同的数据预处理
的思路,第一种是以多数类长度16001为基准长度,这里采用长度不足16001在末尾补零,长度超过16001的末尾截断的处理,另外考虑到读取csv文件的速度慢,完成上述操作之后将所有心电图均转