在使用Keras DataGenerator分割之前将训练数据改组

时间:2019-03-08 21:40:39

标签: python-3.x machine-learning keras computer-vision

我的模型显然很过拟合,并且我不断看到到处都应该在拆分数据之前改组数据。我用: enter image description here

立即进行数据处理和拆分,并了解到shuffle = True实际上并没有执行我认为的操作(或可能执行的任何操作)。所以我的问题是我应该如何加载和拆分这些数据?我在火车文件夹中有图像文件,然后我有一个.csv文件,其中文件名在一列中,标签在另一列中。这是我第一次尝试任何机器学习知识,如果这是一个愚蠢的问题,我感到抱歉。

1 个答案:

答案 0 :(得分:0)

如果我正确理解您的代码,则表示您正在加载dataframe=df作为训练/验证集的输入,而dataframe=test_df作为测试集的输入。 shuffle=True将在指定数据帧内随机播放已加载的样本。

因此,如果您从其他来源加载,则将在 拆分之后进行改组。

要在拆分之前进行随机播放,您要么选择

  • 在加载之前对目录之间的图像进行随机播放或

  • 使用ImageDataGenerator(shuffle = True)加载它,通过数组操作将其拆分,然后手动为测试集设置y_col和batch_size或

  • 完全删除文件的不同目录,将.csv加载为Pandas DataFrame shuffle and split the rows,然后将这些部分数据帧用作ImageDataGenerator的输入

我个人会选择最后一个选项。