【问题标题】:R Randomforest undefined column issueR Randomforest未定义列问题
【发布时间】:2019-09-16 13:51:57
【问题描述】:

我正在研究文本挖掘过程并使用随机森林将文本分类。 我在处理我的文本后使用 caret 包。 我拆分数据进行训练和测试, 下面是相同后的R代码:

traindata <- tdm_df[s,] # training set

testdata <- tdm_df[-s,] # testing set

rf.tfidf <- train(traindata[,c(1:69)], train[,70],
                  method = "rf", trControl = ctrl) # train random forest
rf.tfidf

当我运行最后一行时,出现以下错误:

Error in `[.data.frame`(train, , c(1:56)) : undefined columns selected

编辑1:更正后的下一个错误: Error in train[1:5, ] : object of type 'closure' is not subsettable

我看到 term_sparse 给了我一个问题,可能是文本挖掘部分,我该如何改善我的结果?

不确定是什么问题。 请帮忙!

【问题讨论】:

  • dim(train) 的结果是什么?
  • [1] 693 5,我现在看到了这个问题,但我不明白为什么,我应该得到至少 50 个术语。你能帮帮我吗?我在问题编辑中添加了完整的代码。 @kath
  • 可能是因为这个说法:tdm_sparse &lt;- removeSparseTerms(tdm, 0.90) Columns/ Sparse Words 被删除了。
  • 首先,不要给对象和函数同名。所以你的训练数据没有train。其次,方法rpart不是选择randomForest,而是递归分区。你需要方法rf。检查您的训练数据是否实际上有 57 列。我们无权访问 notes 数据,请使用 tm 附带的原始数据集来制作完全可重现的示例。
  • @phiver,注意到,我会做出必要的改变。我已经在问题中添加了前 20 行作为 dput 输出,它可以帮助您理解我的数据。请帮帮我。

标签: r random-forest text-mining


【解决方案1】:

train[,70] 替换为traindata[,70]

rf.tfidf <- train(traindata[,c(1:69)], traindata[,70],
              method = "rf", trControl = ctrl)

【讨论】:

    猜你喜欢
    • 2020-07-22
    • 1970-01-01
    • 2011-05-11
    • 2015-05-06
    • 2021-02-24
    • 1970-01-01
    • 2021-04-14
    • 2014-08-03
    • 2017-09-22
    相关资源
    最近更新 更多