我遇到了随机森林抛出错误的问题。
我有这个数据框,其中包含已经是矩阵形式的推文数据,其中包含我想要预测的情感列。
'data.frame': 1000 obs. of 2155 variables:
$ anoth : num 1 0 0 0 0 0 0 0 0 0 ...
$ cancel : num 1 0 0 0 0 0 0 0 0 0 ...
$ flight : num 2 1 0 0 0 0 0 0 1 0 ...
$ hold : num 1 0 0 0 0 0 0 0 0 0 ...
$ hour : num 2 0 0 0 0 0 0 0 0 0 ...
$ ive : num 1 0 0 0 0 0 0 0 0 0 ...
这是我的randomForest抛出错误。
# convert to factor
dtm.df$sentiment <- as.factor(dtm.df$sentiment)
# create a decision tree model
model_rf <- randomForest(formula = sentiment ~ .,
data = dtm.df[train,],
importance = T, do.trace = F)
Factor w/ 2 levels "negative","positive": 1 1 1 1 1 1 1 1 1 1 ...
[1] negative negative negative negative negative negative negative negative
[9] negative negative negative negative negative negative negative negative
我得到的错误是以下
Error in model.frame.default(terms(reformulate(attributes(Terms)$term.labels)), :
type (special) incorrect variable 'next'
如果有人能帮我解决这个问题,我真的很感激
答案 0 :(得分:1)
尝试使用querySelectorAll
代替b
。由于不需要复制数据,因此效率更高且更不易出错。
更多信息:https://stats.stackexchange.com/questions/37370/random-forest-computing-time-in-r
答案 1 :(得分:0)
我找到了适合我的解决方案。
基本上,我必须更改每个属性/功能的名称,并在末尾添加“_c”。这已经解决了错误,随机林工作得很好。
colnames(dtm.df) <- paste(colnames(dtm.df), "_c", sep = "")