R中文本的多类分类

时间:2018-01-03 10:10:05

标签: r text text-mining random-forest multiclass-classification

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

以下是我遵循的步骤。

数据准备

  • 创建一个单词向量进行描述。

  • 使用单词vector构建语料库。

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

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

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

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

  • 使用原始数据集追加标签列 转化的dtm。标签栏有6个标签。

模型构建

  • 随机抽样dtm并将其拆分为训练集并进行测试 组。
  • 使用7倍交叉验证构建随机森林的基本模型。
  • 检查训练集和测试模型的准确性 集。

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

    http://rpubs.com/shanmukha_karthik/346007

1 个答案:

答案 0 :(得分: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使用护林员训练RandomForest。

我希望它适合你。