如何确定不平衡数据集的 class_weights

How to determine the class_weights for imbalanced dataset

我正在处理一个不平衡的数据集。我正在尝试在 class_weights 的帮助下构建模型。那么根据什么可以,我确定class_weights.

标签及数量如下:

label    Count
2        47213
3        2096
4        2021
1        737
0        176

那么我应该为 class_weight 变量赋予什么值:

model.fit(X_train, Y_train, nb_epoch=5, batch_size=32, class_weight=class_weight)

为此,您可以雇用 sklearn 中的 compute_class_weight

from sklearn.utils import compute_class_weight
class_weights = compute_class_weight("balanced", np.unique(Y_train), Y_train)