Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.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 3.x 使用Keras DataGenerator在拆分之前洗牌训练数据_Python 3.x_Machine Learning_Keras_Computer Vision - Fatal编程技术网

Python 3.x 使用Keras DataGenerator在拆分之前洗牌训练数据

Python 3.x 使用Keras DataGenerator在拆分之前洗牌训练数据,python-3.x,machine-learning,keras,computer-vision,Python 3.x,Machine Learning,Keras,Computer Vision,我的模型显然是过度拟合了,我到处都看到我应该在分割数据之前尝试对数据进行洗牌。我使用: 现在就开始进行数据处理和拆分,并了解到shuffle=True实际上并没有做我认为它做的事情(或者可能做任何事情)。所以我的问题是我应该如何加载和分割这些数据?我在train文件夹中有图像文件,然后我有一个.csv文件,其中一列中有文件名,另一列中有标签。这是我第一次尝试任何机器学习内容,如果这是一个愚蠢的问题,我很抱歉。如果我正确理解了您的代码,您将加载dataframe=df作为培训/验证集的输入,并加

我的模型显然是过度拟合了,我到处都看到我应该在分割数据之前尝试对数据进行洗牌。我使用:


现在就开始进行数据处理和拆分,并了解到shuffle=True实际上并没有做我认为它做的事情(或者可能做任何事情)。所以我的问题是我应该如何加载和分割这些数据?我在train文件夹中有图像文件,然后我有一个.csv文件,其中一列中有文件名,另一列中有标签。这是我第一次尝试任何机器学习内容,如果这是一个愚蠢的问题,我很抱歉。

如果我正确理解了您的代码,您将加载
dataframe=df
作为培训/验证集的输入,并加载测试集的
dataframe=test\u df
shuffle=True
将在指定的数据帧内洗牌加载的样本

因此,如果您从不同的源加载,则在拆分后将进行洗牌

要在拆分之前进行洗牌,您需要

  • 在加载或删除之前,在目录之间移动图像

  • 使用ImageDataGenerator(shuffle=True)加载它,使用数组操作拆分它,并手动设置测试集或

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


就我个人而言,我会选择最后一个选项。

我知道这是您现在的问题,但您可能想看看是否存在过度装修的问题。