在选择分类中的顶级模型之后?我可以将它应用于我的数据集的其余部分吗

数据挖掘 分类 文本挖掘 模型选择
2022-03-05 10:11:59

我正在使用一个在产品评论中有 5 个数据集(A、B、C、D 和 E)的语料库,我的是一个文本分类问题,我需要找到分类性能方面最好的 5 个顶级模型(F1)。

我从集合 A:mp3 评论开始,因为它的文档数量最多(900:是,750:否)。

我使用不同的算法和预处理任务使用 10-fCv 训练数据,得到所有实验的加权结果。

我选择了前 5 个模型,我想将它们应用到语料库的其余部分:B、C、D 和 E(其他产品的评论)。

我的计划是运行 10-fCv 并获得所有集合的结果并计算精度、召回率和 F1 的微平均值。

这是为大型系列选择模型的正确方法吗?

1个回答

这是个有趣的问题。

通常,数据的拆分与基础分布有关。这意味着您将数据集拆分为训练测试集的方式是随机拆分训练测试不会显着影响分布。但是基于主题的拆分不是随机的!

特别是在您的情况下,您谈论的是分布对域超级敏感的文本,即如果您收集 1000 场足球比赛的评论和 1000 部关于野生动物的纪录片的旁白,您会发现它们实际上是两种不同的东西. 产品之间的概念差异很可能会影响单词/术语/短语的分布,因此在 mp3 评论上训练的模型不得在足球鞋评论上进行验证!

在您的情况下,我会说应该对整个数据一起进行训练测试拆分(CV 折叠),以便您保持单词分布的原始拓扑(这里的拓扑不是数学术语,但我只是指分布的形状) .

在这种情况下,如果您对整个训练数据进行主题建模,您只会看到 5 个不同的产品主题。或者,如果您使用word2vecdoc2vec,您希望看到 5 个不同的集群。然后,您可以在此设置中运行您的模型进行评估。


笔记:

如果班级的规模非常不同,您需要为小班提出一些解决方案。如果是这种情况,请在评论中给我留言,我们可以讨论解决方案。

祝你好运 :)