class_weight ='auto'用于model.fit_generator keras

时间:2017-12-08 08:44:04

标签: python machine-learning neural-network deep-learning keras

我有一个高度不平衡的数据集,我想在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。

其他人是否面临这个问题?我是否必须手动为我的班级权重定义字典? 先感谢您!

1 个答案:

答案 0 :(得分:2)

对于keras中的model.fit_generator,您可以使用train_generator.classes作为加权的正确类名

然后你可以简单地创建一个映射你的类的字典。例如

class_weights = {'wolf':30 , 'fox':18}

这给了课程“狼”。体重30和狐狸'重量' 18'