我正在R中使用keras
包来训练深度学习模型。我的数据集非常不平衡。因此,我想在class_weight
函数中设置fit
参数。这是我用于模型的拟合函数及其参数
history <- model %>% fit(
trainData, trainClass,
epochs = 5, batch_size = 1000,
class_weight = ????,
validation_split = 0.2
)
在python中,我可以将
class_weight
设置如下:class_weight={0:1, 1:30}
但是我不确定如何在R中执行此操作。在R的帮助菜单中,它对
class_weight
的描述如下:有什么想法或建议吗?
最佳答案
Class_weight需要是一个列表,所以
history <- model %>% fit(
trainData, trainClass,
epochs = 5, batch_size = 1000,
class_weight = list("0"=1,"1"=30),
validation_split = 0.2
)
似乎有效。 Keras内部使用名为as_class_weights的函数将列表更改为python-dictionary(请参阅https://rdrr.io/cran/keras/src/R/model.R)。
class_weight <- dict(list('0'=1,'1'=10))
class_weight
>>> {0: 1.0, 1: 10.0}
看起来就像您上面提到的python字典。
关于r - 如何在R的keras包中设置class_weight?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46907881/