如何处理多类文本分类中不在训练集中的测试集标签?

Posted

技术标签:

【中文标题】如何处理多类文本分类中不在训练集中的测试集标签?【英文标题】:How to handle test set labels which are not in training set in Multi Class Text Classification? 【发布时间】:2019-11-04 21:32:46 【问题描述】:

我正在使用具有训练集和测试集的多类文本分类数据集。训练集中大约有 470 个唯一标签,测试集中大约有 250 个唯一标签。 (这 470+ 250 个独特的标签来自一个大小为 400 万的大标签集。

大约有 30 个标签仅在测试集中,但不在训练集中。

我是否需要将每个标签编码为一个大小为 400 万而不是 450 的热向量?以便我也可以处理那些丢失的 30 个标签

【问题讨论】:

模型无法预测它从未见过的标签。因此,您应该丢弃那些具有此类标签的条目。 训练集中有大约 470 个唯一标签,测试集中有大约 250 个唯一标签。 (这 470+ 250 个独特的标签来自一个大小为 400 万的大标签集。) 【参考方案1】:

您的模型不可能学习它没有见过的标签!理想情况下,在机器学习中,您假设训练集和测试集是从相同的基础分布中采样的。模型只能学习你教给它的东西,所以你需要确保你在相似的数据上训练和测试它!

您可以尝试将两个集合合并在一起,然后将它们重新拆分为训练和测试集,以便它们具有相同数量的类。此外,请确保您有足够的数据。您的模型无法从它看过一次或两次的课程中学习。为了让模型学习 500 个类,您应该有数十万个样本!如果不是,请尝试将您的一些课程合并在一起。

【讨论】:

训练集中有大约 470 个唯一标签,测试集中有大约 250 个唯一标签。 (这 470+ 250 个独特的标签来自一个大小为 400 万的大标签集。)

以上是关于如何处理多类文本分类中不在训练集中的测试集标签?的主要内容,如果未能解决你的问题,请参考以下文章

如何处理这种不平衡的倾斜数据集?

大型多类 NLP 分类的不平衡数据和样本量

如何处理 ValueError:分类指标无法处理多标签指标和多类目标错误的混合

当给定特定类的 0 个样本时,如何对不平衡的数据集进行分类?

CNN模型在多类分类上过拟合

多类文本分类,每类一个训练样例