美文网首页
Kaggle竞赛:Human Protein Atlas Ima

Kaggle竞赛:Human Protein Atlas Ima

作者: 深度学习模型优化 | 来源:发表于2019-05-25 01:08 被阅读0次

脚本参考这里

  • 每个图像的多个标签中的单个目标标签进行了编码(是One-hot encoding,也做label smoothing)
  • 在训练数据集上对目标蛋白质分布进行可视化分析
  • 得到一个简单的图像生成器,用来生成一个目标-蛋白质-期望列表。这个返回列表中每个样本至少得到一个匹配结果
  • 在验证模型上有一些新想法
  • 使用keras构建了一个baseline模型
    • 建立一个模型参数类,该类包含构建一个模型需要的所有参数、以及加载数据和数据预处理的方法。
    • 一个可以使用CPU\GPU的数据generator,可用于训练和验证
    • 一个图像预处理器,包括尺度变换、形状变换和归一化,用来做模型学习时的数据增强
  • 通过keras的callback来跟踪损失变化,进而提高baseline模型的性能

1 代码分析

模型的设置

class KernelSettings:
    
    def __init__(self, fit_baseline=False,
                 fit_improved_baseline=True,
                 fit_improved_higher_batchsize=False,
                 fit_improved_without_dropout=False):
        self.fit_baseline = fit_baseline
        self.fit_improved_baseline = fit_improved_baseline
        self.fit_improved_higher_batchsize = fit_improved_higher_batchsize
        self.fit_improved_without_dropout = fit_improved_without_dropout

这里设置了4个层次。

  • fit_baseline:基础模型。
  • fit_improved_baseline:改进基础模型。
  • fit_improved_higher_batchsize:更高的batch size,有可能优化到局部最优。
  • fit_improved_without_dropout:不带dropout的模型,可能会过拟合。

使用变量use_dropout来表示是否在网络训练中加入dropout层。

在../input/文件下有两个文件夹。

['protein-atlas-eab-predictions', 'human-protein-atlas-image-classification']

这里主要使用文件夹human-protein-atlas-image-classification中的内容来进行分类,在该文件夹下面有2个文件夹和2个文件分别是

  • train:包含训练的图片
  • test:包含测试的图片
  • train.csv:包含图片和标签信息
  • sample_submission.csv:包含上传数据的信息

这里需要注意的是,train.csv的target中可能包含多个标签,因此做数据处理的时候这个要着重处理下。也就是说在一张图片中可能有多种蛋白质。

代码继续往下,训练数据总共有31072张图片,提前想想也知道我们的数据一定存在样本不均衡的问题。用sklearn的StratifiedKFlod的方法吗?后面再看吧。

用来测试的图片有11702张,那么
\frac{test\_num}{train\_num} = \frac{11702}{31072} = 0.3766

表示测试数据是训练数据的38%。这个比例还是可以的。

对target的field做处理,这里用到了pandas的DataFram的apply函数技巧,注意使用apply对行进行处理要用到axis=1这个参数,否则默认为axis=0,就是对列进行处理了。

对target的处理是,将每列的target都转换为一个整数类型的数值列表,使用apply函数对指定分类下的target进行标记,如果在数值列表中有,则记为1,其它为0。

经过改变之后对标签进行统计,如下图所示


图1 蛋白质数量分布

由图1可知,有明显的样本不均衡的问题。

再来看看标签之间的相关性,就是混淆矩阵


图2 混淆矩阵

由图2可知,Lysosomes和endosomes相关性非常高,几乎同时出现。

相关文章

网友评论

      本文标题:Kaggle竞赛:Human Protein Atlas Ima

      本文链接:https://www.haomeiwen.com/subject/jrtroqtx.html