我是R的Random Forests的新手,我正在尝试做出预测。我使用以下代码构建了一个随机森林模型,它可以正常工作
library(randomForest)
RF_model = randomForest(trainrows[,col_truth]~.
,data = trainrows[,cols_to_use]
,ntree=100
,do.trace=T)
如果我打印出RF_model,我会得到以下输出
Call:
randomForest(formula = trainrows[, col_truth] ~ ., data = trainrows[, cols_to_use], ntree = 100, do.trace = T)
Type of random forest: classification
Number of trees: 100
No. of variables tried at each split: 4
OOB estimate of error rate: 19.23%
Confusion matrix:
0 1 class.error
0 7116 1640 0.1873001
1 1725 7015 0.1973684
然后,当我尝试使用模型进行预测时,我收到以下错误
> predict(RF_model)
Error in 1:dim(data)[1] : argument of length 0
我已尝试向预测方法提供数据,但我得到了同样的错误。有谁知道发生了什么以及如何解决它?
修改
为了提供更多数据,我尝试将随机森林与虹膜数据集一起使用。
rf = randomForest(iris[,1]~., data=iris[,c(1, 2)], ntree=100)
predict(rf)
Error in 1:dim(data)[1] : argument of length 0
这与我的数据无关,但我认为我的R版本存在问题。有什么想法吗?
答案 0 :(得分:0)
使用预测功能时,您试图预测测试集的结果或标签。
rf_predict <- predict(RF_model, test_set)
您可以使用表函数
创建混淆矩阵以比较随机林的准确性table(observed, rf_predict)
注意:观察到的将是测试集的正确标签