我想在keras model.fit中使用class_weight参数来处理不平衡的训练数据.通过查看一些文档,我知道我们可以传递这样的字典:
class_weight = {0 : 1,
1: 1,
2: 5}
Run Code Online (Sandbox Code Playgroud)
(在这个例子中,2级将在损失函数中获得更高的惩罚.)
问题是我的网络输出有一个热编码,即类0 =(1,0,0),类-1 =(0,1,0)和类-3 =(0,0,1).
我们如何使用class_weight进行单热编码输出?
通过查看Keras中的一些代码,它看起来像_feed_output_names
包含输出类的列表,但在我的情况下,model.output_names
/ model._feed_output_names
返回['dense_1']