首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >kaggle挑战赛——肺炎二分类

kaggle挑战赛——肺炎二分类

作者头像
医学处理分析专家
发布2022-08-20 11:35:59
发布2022-08-20 11:35:59
1.2K0
举报

今天将分享kaggle系列挑战赛之肺炎二分类的完整实现过程,为了方便大家学习理解整个流程,将整个流程步骤进行了整理,并给出详细的步骤结果。感兴趣的朋友赶紧动手试一试吧。

一、比赛介绍

上图是肺炎患者胸部 X 射线的示例,与图相关正常胸部 X 光片(左图)显示肺部清晰,图像中没有任何异常混浊区域。细菌性肺炎(中)通常表现出局灶性肺叶实变,在这种情况下发生在右上叶(白色箭头),而病毒性肺炎(右)则表现为双肺更弥漫的“间质性”模式。

数据集分为 3 个文件夹(train、test、val),并包含每个图像类别(肺炎/正常)的子文件夹。有 5,863 张 X 射线图像 (JPEG) 和 2 个类别(肺炎/正常)。

胸部 X 射线图像(前后)选自广州市妇女儿童医学中心的 1 至 5 岁儿科患者的回顾性数据。所有胸部 X 射线成像都是作为患者常规临床护理的一部分进行的。

为了分析胸部 X 射线图像,首先通过删除所有低质量或不可读的扫描来筛选所有胸部 X 光片以进行质量控制。然后,图像的诊断结果由两名专家医师进行分级,然后才被批准用于训练 AI 系统。为了解决任何评分错误,评估集还由第三位专家检查。

二、技术路线

1、加载csv文件,读取X光图像和对应标签值。

2、将对应训练集,验证集和测试集生成csv文件。

3、对所有的图像进行统一缩放处理,大小统一大小是256x256,图像归一化,用均值是0和方差是1的方式进行归一化。

4、网络采用的是VGG16网络结构,损失是交叉熵,学习率是0.001,droupout是0.5,epoch是20,batchsize是64。

5、训练结果

训练损失函数结果:

训练精度函数结果:

验证损失函数结果:

验证精度函数结果:

6、测试结果

ROC曲线及数值

混淆矩阵

分类指标

precision recall f1-score support

0.0 0.99 0.50 0.66 234

1.0 0.77 1.00 0.87 390

avg / total 0.85 0.81 0.79 624

7、问题分析

从上面结果可以看到,测试结果相比于验证集结果还是存在比较大偏差的。原因分析,数据训练数据,验证数据与测试数据分布存在差异性,接下来采用相同的训练网络,首先将所有数据进行随机打乱,然后再按照7:1:2的比例分配训练集,验证集和测试集。结果如下,可以看到测试结果有明显提高。

训练损失结果:

训练精度结果:

验证损失结果:

验证精度结果:

ROC曲线及ROC面积值:

混淆矩阵:

分类指标:

precision recall f1-score support

0.0 0.91 0.96 0.94 273

1.0 0.99 0.97 0.98 727

avg / total 0.97 0.96 0.97 1000

为了方便大家更高效地学习,后期会将相关项目代码更新到github上,点击原文链接即可访问官方比赛网址,可以直接下载训练和测试数据。

如果大家觉得这个项目还不错,希望大家给个Star并Fork,可以让更多的人学习。如果有任何问题,随时给我留言我会及时回复的。

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

本文分享自 最新医学影像技术 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档