我正在使用 Keras 的class_weight
参数来处理不平衡的类问题。我这样做是为了定义权重:
weights = class_weight.compute_class_weight('balanced',np.unique(trainY),trainY)
然后,在我的网络中:
model.add(LSTM(..., class_weight=weights,...,callbacks=callbacks_list))
但是,我还使用回调列表来防止过度拟合,方法是基于validation_accuracy
...强加 EarlyStopping:
earlystop = EarlyStopping(monitor='val_acc', min_delta=0.001, patience=5, verbose=1, mode='auto')
callbacks_list = [earlystop]
但是,我的权重仅根据我的训练集定义......但我的验证集也包含不平衡的数据,与训练集的比例不同,我也想给予适当的权重以对val_loss
参数进行公平的评估...... .
所以我的问题是
计算的权重是
val_loss
多少?使用参数中给出的权重class_weight
?还是这个参数只用于训练损失?我如何定义可用于验证集的权重,以获得更准确的值
val_loss
?
谢谢