2

我已经为多类文本分类构建了一个随机森林。该模型返回的准确率为 75%。有 6 个标签,但在 6 个类别中,只有 3 个被分类,其余的未分类。如果有人能让我知道出了什么问题,我将不胜感激。

以下是我遵循的步骤。

数据准备

  • 创建一个用于描述的词向量。

  • 使用词向量构建语料库。

  • 预处理任务,例如删除数字、空格、
    停用词和转换为小写。

  • 构建文档术语矩阵 (dtm)。
  • 从上面的 dtm 中删除稀疏的单词。

  • 上述步骤导致计数频率矩阵显示每个单词在其对应列中的频率。

  • 将计数频率矩阵转换为二进制实例矩阵,它将文档中单词的出现次数显示为 0 或 1,1 表示存在,0 表示不存在。

  • 将原始数据集中的标签列附加到转换后的 dtm。标签列有 6 个标签。

建筑模型

  • 随机采样 dtm 并将其拆分为训练集和测试集。
  • 使用 7 折交叉验证构建随机森林的基础模型。
  • 检查模型在训练集和测试集上的准确性。

    我正在分享结果的链接(如果这里允许的话)。

    http://rpubs.com/shanmukha_karthik/346007

4

1 回答 1

0

提高准确性的可能性有很多: 1.尝试增加少于 1000 个实例的类的大小。 2.尝试使用多个去除稀疏项阈值,例如;0.991,0.99,0.999 等并相应地检查您的准确性 3.使用词干提取,它曾经为您提供单词的根形式 4.您在创建 dtm 时仅使用词频 (TF)。尝试通过简单地添加来使用 tfidf 分数。

tdm <- DocumentTermMatrix(corpus,
       control = list(weighting = function(x) weightTfIdf(x, normalize = FALSE),stopwords = TRUE))

5.尝试使用另一个包,如;从 mlr 使用 rangers 来训练 RandomForest。

我希望这个对你有用。

于 2018-04-20T13:17:20.537 回答