我有一个高度不平衡的数据集,我想在model.fit_generator中使用class_weight ='auto'。然而,当我这样做时,我看到我的模型没有学习:training_acc = 0.65和val_acc = 0.64从纪元1开始到50。 如果我设置class_weight ='None',那么模型开始学习:training_acc = 0.92和val_acc = 0.88 at period 50。
其他人是否面临这个问题?我是否必须手动为我的班级权重定义字典? 先感谢您!
答案 0 :(得分:2)
对于keras中的model.fit_generator
,您可以使用train_generator.classes
作为加权的正确类名
然后你可以简单地创建一个映射你的类的字典。例如
class_weights = {'wolf':30 , 'fox':18}
这给了课程“狼”。体重30和狐狸'重量' 18'