gpt4 book ai didi

python - 如何在 Keras 中使用 CNN 处理多标签分类的不平衡数据?

转载 作者:行者123 更新时间:2023-12-03 17:01:50 25 4
gpt4 key购买 nike

我的数据集形状是 (91149, 12)
我使用 CNN 在文本分类任务中训练我的分类器

我发现训练准确度:0.5923和测试精度:0.5780
我的类(class)有 9 个标签,如下所示:

df['thematique'].value_counts()
Corporate 42399
Economie collaborative 13272
Innovation 11360
Filiale 5990
Richesses Humaines 4445
Relation sociétaire 4363
Communication 4141
Produits et services 2594
Sites Internet et applis 2585

模型结构:
model = Sequential()
embedding_layer = Embedding(vocab_size, 300, weights=[embedding_matrix], input_length=maxlen , trainable=False)
model.add(embedding_layer)
model.add(Conv1D(128, 7, activation='relu'))
model.add(GlobalMaxPooling1D())
model.add(Dense(9, activation='sigmoid'))
model.compile(optimizer='Adam', loss='categorical_crossentropy', metrics= ['categorical_accuracy'])

我的多标签分类数据不平衡。我需要在 Keras 中使用 CNN 处理多页分类的不平衡数据。

最佳答案

我不确定您是否需要使用特别是 Keras 本身来处理不平衡问题,而不是使用一些直觉。一种简单的方法是为每个类使用相同数量的数据。当然,这就导致了另一个问题,就是你过滤了很多样本​​。但仍然是你可以检查的事情。当然,当你有不平衡数据时,仅仅计算分类性能并不是一个好主意,因为它对每个类的表现都很好。

您应该进一步计算混淆矩阵,以便可视化每个类的单独执行情况。可以在此 blog 中找到解决不平衡数据问题的更详细方法。并在 here .

最重要的是使用正确的工具来评估分类的性能,并按照我提到的链接中的建议处理输入数据。

关于python - 如何在 Keras 中使用 CNN 处理多标签分类的不平衡数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59502005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com