用于生成器的 Keras class_weight

Keras class_weight for generators

这是一个问题的延续: https://datascience.stackexchange.com/questions/22814/class-weighting-during-validation-in-keras

class_weight 可以在 Keras 中使用 fit 函数来告诉优化器对未表示的 class.根据 stackexchange 中的答案,在验证期间也会考虑它。例如,如果我的 class 比率是每 1 个正例对应 10 个负例,那么 0.8 的准确度分数就不太好(固定的 class 负例会做得更好)。我有两个问题:

你的第一个问题,和训练时一样考虑。

基本上,如果你查看函数 weighted_masked_objective,单个样本乘以权重,然后返回平均值。(注意:Keras 不会自动设置 class 权重,你需要在 model.fit()model.fit_generator()

传递权重

Class权重可以通过与频率成反比来计算。使用 sklearn

fit_generatorfit 相同,只是它需要一个生成器作为输入。