我有一个分类问题,其中感兴趣的类只有数据集的7%,整个人口大约有1200个观察值。卷积神经网络中的不平衡类
据我所知,来自Keras的ImageDataGenerator
有助于增加数据以在训练模型之前增加观察次数,但是是否可以只增加一个类,如增加噪声,模糊或仅对少数类进行变换?
我有一个分类问题,其中感兴趣的类只有数据集的7%,整个人口大约有1200个观察值。卷积神经网络中的不平衡类
据我所知,来自Keras的ImageDataGenerator
有助于增加数据以在训练模型之前增加观察次数,但是是否可以只增加一个类,如增加噪声,模糊或仅对少数类进行变换?
你既可以尝试与配合()函数,它接受一个字典映射类的权重值class_weight参数平衡。你甚至可以使用sklearn来计算适当的类别权重。见PSCS答案在这里:https://datascience.stackexchange.com/questions/13490/how-to-set-class-weights-for-imbalanced-classes-in-keras
或者你可以使用Keras ImageDateGenerator与flow_from_directory()和图像增强运行保存到与save_to_dir参数从而产生代表性不足类的多个实例的目录:https://keras.io/preprocessing/image/#imagedatagenerator
对于假运行你只提供你想要更多样本的班级样本。
然后,您可以使用您的平衡训练和验证数据进行实际训练。
有一个机器学习工具包,允许您对图像进行增强处理,包括变换,缩放/ Strech,噪声和模糊。
的图像增强因子可以在这里找到: https://github.com/codebox/image_augmentor