Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python keras图像数据的过采样_Python_Tensorflow_Keras_Oversampling - Fatal编程技术网

Python keras图像数据的过采样

Python keras图像数据的过采样,python,tensorflow,keras,oversampling,Python,Tensorflow,Keras,Oversampling,我正在从事Kaggle竞赛,并试图用keras解决多标签分类问题 我的数据集高度不平衡。我很熟悉这个概念,并对简单的机器学习数据集进行了测试,但现在我知道了如何处理图像和csv数据 有几个问题,但它们没有帮助我 我试图做过采样,但不知道如何接近它。我有15000张png图像和train.csv数据集,看起来像: image_id class_name class_id rad_id x_min y_min x_max y_max width height

我正在从事Kaggle竞赛,并试图用keras解决多标签分类问题

我的数据集高度不平衡。我很熟悉这个概念,并对简单的机器学习数据集进行了测试,但现在我知道了如何处理图像和csv数据

有几个问题,但它们没有帮助我

我试图做过采样,但不知道如何接近它。我有15000张
png
图像和
train.csv
数据集,看起来像:

image_id    class_name  class_id    rad_id  x_min   y_min   x_max   y_max   width   height
0   50a418190bc3fb1ef1633bf9678929b3    No finding  14  R11 0.0 0.0 0.0 0.0 2332    2580
1   21a10246a5ec7af151081d0cd6d65dc9    No finding  14  R7  0.0 0.0 0.0 0.0 2954    3159
2   9a5094b2563a1ef3ff50dc5c7ff71345    Cardiomegaly    3   R10 691.0   1375.0  1653.0  1831.0  2080    2336
3   051132a778e61a86eb147c7c6f564dfe    Aortic enlargement  0   R10 1264.0  743.0   1611.0  1019.0  2304    2880
4   063319de25ce7edb9b1c6b8881290140    No finding  14  R10 0.0 0.0 0.0 0.0 2540    3072
                               Images               Class
56     d106ec9b305178f3da060efe3191499a.png         Nodule/Mass
38694  081d1700020b6bf0099f1e4d8aeec0f3.png        Lung Opacity
50141  ff8ef73390f04480aba0be7810ef94cf.png          No finding
233    253d35b7096d0957bd79cfb4b1c954e1.png          No finding
2166   1951e0eba7c68aa1fbd6d723f19ee7c4.png  Pleural thickening
当我有图像和csv时,如何解决这个问题

当我转换数据时,它看起来像:

image_id    class_name  class_id    rad_id  x_min   y_min   x_max   y_max   width   height
0   50a418190bc3fb1ef1633bf9678929b3    No finding  14  R11 0.0 0.0 0.0 0.0 2332    2580
1   21a10246a5ec7af151081d0cd6d65dc9    No finding  14  R7  0.0 0.0 0.0 0.0 2954    3159
2   9a5094b2563a1ef3ff50dc5c7ff71345    Cardiomegaly    3   R10 691.0   1375.0  1653.0  1831.0  2080    2336
3   051132a778e61a86eb147c7c6f564dfe    Aortic enlargement  0   R10 1264.0  743.0   1611.0  1019.0  2304    2880
4   063319de25ce7edb9b1c6b8881290140    No finding  14  R10 0.0 0.0 0.0 0.0 2540    3072
                               Images               Class
56     d106ec9b305178f3da060efe3191499a.png         Nodule/Mass
38694  081d1700020b6bf0099f1e4d8aeec0f3.png        Lung Opacity
50141  ff8ef73390f04480aba0be7810ef94cf.png          No finding
233    253d35b7096d0957bd79cfb4b1c954e1.png          No finding
2166   1951e0eba7c68aa1fbd6d723f19ee7c4.png  Pleural thickening
我使用图像生成器

# Create a train generator
train_generator = train_dataGen.flow_from_dataframe(dataframe = train,
                                                directory = 'my_directory', 
                                                x_col = 'Images',
                                                y_col = 'Class',
                                                class_mode = 'categorical',
                                                # target_size = (256, 256),
                                                batch_size = 32)
我尝试了一些愚蠢的东西,但显然不起作用

# Create an instance
oversample = SMOTE()

# Oversample
train_ovsm, valid_ovsm = oversample.fit_resample(train_ovsm, valid_ovsm)
给我一个错误:

ValueError: could not convert string to float: '954984f75efe6890cfa45d0784a3a1e6.png'

非常感谢您提供的提示和优秀的教程,目前还找不到任何内容。

我不确定这个答案是否让您满意,但以下是我的想法。如果我是你,我不会像你现在尝试的那样试图平衡它。依我看,这不是正确的方式。您主要关心的是这是高度不平衡的,您不确定如何正确地解决它

以下是所有人在本次比赛中为解决这一问题而首先采取的一些方法

- External dataset 
- Heavy and meaningful augmentation
- Modified the loss function
外部数据集
  • NIH胸部X光:
  • SIIM-ACR气胸分割:
  • OSIC肺纤维化进展:
  • RSNA肺炎检测挑战:
  • 胸部X光图像(肺炎):
您需要做的是,从这些数据集中收集所有可能的外部样本,将它们组合起来并创建新的数据集。这可能需要时间,但值得

医学图像增强 我们都知道强化是深度学习模型训练的关键策略之一。但选择正确的增强器是有意义的。这是一些示范。主要的直觉是尽量不破坏敏感信息。小心点

类别损失加权
您可以修改损失函数以加权预测分数。是关于这个主题的详细解释。

谢谢您的时间!这是一个学校项目,我们做不同的事情。我也在研究建议的步骤,但我想知道将来如何对图像数据进行过采样。哦,我明白了。学习目的可能很好,但据我所知,使用这些过度采样技术,你不会从训练过的模型中得到任何令人惊叹的结果。-)