前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AIWIN 心电图智能诊断Baseline【线上0.719】

AIWIN 心电图智能诊断Baseline【线上0.719】

作者头像
老肥码码码
发布2022-04-13 16:48:56
9290
发布2022-04-13 16:48:56
举报

今天老肥和大家分享的是AIWIN的秋季赛-心电图智能诊断竞赛的任务一Baseline方案,线上与线下验证得分均为0.719,采用的是单模树模型。

赛题背景

心电图是临床最基础的一个检查项目,因为安全、便捷成为心脏病诊断的利器。每天都有大量的心电图诊断需求,但是全国范围内诊断心电图的专业医生数量不足,导致很多医院都面临专业心电图医生短缺的情况。

人工智能技术的出现,为改善医生人力资源不足的问题带来了全新的可能。由于心电图数据与诊断的标准化程度较高,相对较易于运用人工智能技术进行智能诊断算法的开发。

赛题任务与数据

本赛题任务一为要求针对心电图输出二元(正常 v.s 异常)分类标签,评价指标为F1,心电数据的单位为mV,采样率为 500HZ,记录时长为 10 秒,存储格式为 MAT;文件中存储了 12 导联的电压信号(包含了I,II,III,aVR,aVL,aVF,V1,V2,V3,V4,V5 和 V6)。

Baseline方案

每个样本心电图的数据的形状为(12,5000), 一个非常直观的思路便是将其进行分导联采样再将所有导联展平作为训练的原始数据避免特征维度过大。

代码语言:javascript
复制
def get_data(sep_length):
    """
    读取数据,提取部分数据用于训练预测
    """

    train_path = glob.glob('data/train/*.mat')
    test_path = glob.glob('data/val/*.mat')

    matrix = np.zeros((2000, 5000 * 12 // sep_length))

    i = 0
    for p in tqdm(train_path):
        ecgdata = sio.loadmat(p)['ecgdata']
        sep = ecgdata[:, ::sep_length]
        sep = sep.reshape(-1,)
        matrix[i, :] = sep
        i += 1
    for p in tqdm(test_path):
        ecgdata = sio.loadmat(p)['ecgdata']
        sep = ecgdata[:, ::sep_length]
        sep = sep.reshape(-1,)
        matrix[i, :] = sep
        i += 1  

    data = pd.DataFrame(matrix)
    data.columns = [f'{i}' for i in range(len(data.columns))]
    return data

对于该数据进行特征提取,主要包括不同导联内数据的均值、方差等统计,所有导联数据的均值、方差等统计,因为该数据为时序,考虑对数据做差分再求统计。

代码语言:javascript
复制
def feature_eng(data, f, feat):
    """
    统计特征
    """
    data[f'{f}_min'] = data[feat].min(1)
    data[f'{f}_max'] = data[feat].max(1)
    data[f'{f}_mean'] = data[feat].mean(1)
    data[f'{f}_std'] = data[feat].std(1)
    data[f'{f}_median'] = data[feat].median(1)
    data[f'{f}_skew'] = data[feat].skew(1)    
    return data

特征提取完后我们直接使用竞赛利器LightGBM进行五折交叉验证训练预测并生成提交文件即可。

除了上述内容,我们可以进一步对数据的时序特性进行挖掘,也可以尝试使用深度学习模型对本赛题任务进行建模。最后,按照惯例我已上传了完整Baseline代码

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-11-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与数据之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 赛题背景
  • 赛题任务与数据
  • Baseline方案
相关产品与服务
图数据库 KonisGraph
图数据库 KonisGraph(TencentDB for KonisGraph)是一种云端图数据库服务,基于腾讯在海量图数据上的实践经验,提供一站式海量图数据存储、管理、实时查询、计算、可视化分析能力;KonisGraph 支持属性图模型和 TinkerPop Gremlin 查询语言,能够帮助用户快速完成对图数据的建模、查询和可视化分析。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档