首页 > 解决方案 > 不平衡数据集中的多类分类

问题描述

我有这个数据集,其标签计数如下: 在此处输入图像描述

我明白这是非常不平衡的。我尝试过采样和欠采样,它们为训练提供了良好的准确性。但是,他们当然给出了非常低的验证准确性。我还尝试了如下的类权重: class_weights = class_weight.compute_class_weight('balanced', np.unique(Y), Y) 这也导致验证的准确性低。我什至排除了其他标签,只留下了 5 个最高的标签,仍然可以获得大约 36% 的验证准确率和 92% 的训练准确率。我认为这一切都是因为过度拟合。但是我的模型很简单;它的:

model = tf.keras.Sequential([
    tf.keras.layers.Embedding(MAX_NB_WORDS,int(len(word_index)*.25),input_length=X.shape[1]),
    tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(64,dropout=.5)),
    tf.keras.layers.Dense(64, activation='relu'),
    tf.keras.layers.Dense(5, activation='sigmoid')
])

我很困惑,不知道该怎么办?

标签: pythontensorflowneural-networkclassificationmulticlass-classification

解决方案


推荐阅读