首页 > 解决方案 > 如何有效地对多标签分类问题的记录进行分类?

问题描述

我有大约 11000 条文本记录的分类问题,其中起始 3000 条记录被分类(标记)为 4 个不平衡的类别,如下所示:{类别 1:343,类别 2:1494,类别 3:1069,类别 4:177 }

我对这 3000 条文本记录执行了以下任务,如下所示:

  1. 对数据进行标记,删除停用词,并对文本进行词形还原,并使用词袋模型从中提取 100 个重复率最高的词。
  2. 使用 spaCy 提取了一些可能对分析有帮助的其他特征。
  3. 标准化数据,使所有特征都在同一尺度上。
  4. 将数据集分为训练集 (75%) 和测试集 (25%)。
  5. 使用了各种算法,如逻辑回归、SVM、决策树、神经网络等,并比较了它们的分数(准确率、Kappa 分数、F1 分数、精度、召回率)。在所有这些随机森林中,结果证明在这种特定类型的数据上是最好的。

接下来,我想使用这个先前训练的随机森林分类器对所有其他 8000 条记录进行分类。

现在,我应该使用所有 3000 条记录重新训练分类器,然后预测新记录,还是应该使用仅在前 3000 条记录的 75% 上训练的模型直接预测记录?

注意:我也尝试过使用 SMOTE 对不平衡的类进行采样。但是,在执行 SMOTE 之后,当我尝试预测新记录的结果时,该模型会高度过度预测记录,以支持实际上较少的类(即类别 1 和类别 4)。

标签: pythonmachine-learningclassificationmultilabel-classificationsmote

解决方案


推荐阅读