当我在R中执行数据集的预测时,我收到以下错误:
Mode.rf <- randomForest(trX,trYc,ntree=1000,proximity=TRUE)
trts = rbind(trX,ts)
Plu.pred <- predict(Mode.rf,trts,proximity=TRUE)
predict.randomForest中的错误(Mode.rf,trts,proximity = TRUE): newdata中缺少训练数据中的变量
以下详细描述了前几个样本的数据。
trts #In total, 1376 observations out of 95 variables
V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13 V14 V15 V16 V17 V18 V19 V20 V21
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0
2 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0
Mode.rf
# Call:
# randomForest(x = trX, y = trYc, ntree = 1000, proximity = TRUE)
# Type of random forest: classification
# Number of trees: 1000
# No. of variables tried at each split: 9
# OOB estimate of error rate: 80.29%
# Confusion matrix:
# 1 2 3 4 class.error
# 1 74 85 129 99 0.8087855
# 2 106 84 105 58 0.7620397
# 3 125 90 51 76 0.8508772
# 4 114 45 72 62 0.7883959
有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
根据您分享的内容,您似乎是:
1:构建一个提供自变量(trX)和1个因变量(trYc)的模型
这对我来说似乎很好
2:将训练集中的自变量划分为其他内容
如果ts是一组独立变量,我将它们绑定到旧数据是没有意义的。最好自己测试新数据集。 如果ts是一个新的因变量,你可能会使用cbind而不是rbind(并错误地预测非匹配旧数据的新结果)。
如果目标是在新数据集中使用您的模型,请确保为新数据集提供与第一个完全相同的列名。
您还可以在1个数据帧中将依赖变量和自变量放在一起,并使用randomForst中的公式选项(Y~。,data = dataname等)
“”。表示数据帧中的每个其他变量。