如何在Keras中使用fit_generator()加权类?[关闭]

发布于 2021-01-29 14:55:13

关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。


想改善这个问题吗? 更新问题,使其成为Stack Overflow的主题

去年关闭。

改善这个问题

我正在尝试使用keras来拟合CNN模型以对图像进行分类。数据集具有来自某些类别的更多图像,因此其不平衡。

我在Keras中阅读了有关如何权衡损失以解决这一问题的其他方法,例如:https :
//datascience.stackexchange.com/questions/13490/how-to-set-class-weights-for-
imbalanced-classes-in
-keras
,这很好地解释了。但是,它总是解释为 fit
()函数,而不是 fit_generator ()一个。

确实,在fit_generator()函数中,我们没有’ class_weights ‘参数,但是我们有’ weighted_metrics
‘,我不理解它的描述:“ weighted_metrics:在训练过程中要由sample_weight或class_weight评估和加权的指标列表测试。”

如何从“ class_weights”传递到“ weighted_metrics”?有人能举一个简单的例子吗?

关注者
0
被浏览
89
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    根据文档,我们class_weightfit_generator
    Keras v.2.2.2 )中:

    Class_weight
    :可选的字典,将类索引(整数)映射到权重(浮点)值,用于对损失函数加权(仅在训练过程中)。这可能有助于告诉模型“更多关注”来自代表性不足的类的样本。

    假设您有两个类[ ],则可以传递class_weightfit_generatorwith:

    model.fit_generator(gen,class_weight=[0.7,1.3])
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看