Keras发电机的class_weight

时间:2018-09-26 21:06:56

标签: python python-3.x neural-network keras keras-layer

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

可以在Keras的 fit 函数中使用

class_weight 来告诉优化器对不足表示的类进行加权。根据stackexchange中的答案,它也在验证期间被考虑。例如,如果我的班级比率是每1个阳性10个阴性,那么准确度得分0.8不太好(在阴性上使用固定的分类器会更好)。我有两个问题:

  • 在验证过程中如何精确考虑class_weight?
  • 如何在 fit_generator 中使用class_weight?是否与 fit 中的参数相同?

1 个答案:

答案 0 :(得分:0)

第一个问题,与培训期间的问题相同。

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

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

fit_generatorfit相同,除了它使用生成器作为输入。