[英]Stratified train-test splitting a Tensorflow dataset
我目前正在处理一个相当大的图像数据集,并使用 python 中tensorflow.keras
的ImageDataGenerator
加载它。 由于我的数据分类非常不平衡,我想做一个分层的训练-测试-拆分,以可能达到更高的准确度。
我知道如何使用ImageDataGenerator
进行简单的随机训练测试拆分,但我找不到任何等效的分层 train_test_split 可以在sklearn
中执行。
有什么方法可以分层训练测试拆分tensorflow.data.Dataset
吗? 如果没有,您如何处理大型不平衡数据集? 非常感谢您的帮助!
以下是相关代码:
from tensorflow.keras.preprocessing.image import ImageDataGenerator
datagen = ImageDataGenerator()
dataset = datagen.flow_from_directory(
path_images,
target_size=(ImageHeight, ImageWidth),
color_mode='rgb',
class_mode='sparse',
batch_size=BatchSize,
shuffle=True,
seed=Seed,
)
流(x,y=None,batch_size=32,shuffle=True,sample_weight=None,seed=None,save_to_dir=None,save_prefix='',save_format='png',ignore_class_split=False,subset=None)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.