繁体   English   中英

分层训练测试拆分 Tensorflow 数据集

[英]Stratified train-test splitting a Tensorflow dataset

我目前正在处理一个相当大的图像数据集,并使用 python 中tensorflow.kerasImageDataGenerator加载它。 由于我的数据分类非常不平衡,我想做一个分层的训练-测试-拆分,以可能达到更高的准确度。

我知道如何使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM