我正在将数组转换为数据框,我想在该数据框中使用随机林。 问题是我从预测中得到了很多输出。
这是我为重现问题而创建的类似示例:
matTest <- array(1:5120, dim=c(10,512))
dataTest <- data.frame(matTest)
dataTest$y <- 1:10
TEST.rf <- randomForest(y ~ ., dataTest)
predict(TEST.rf, data=dataTest[1,])
预测的输出是
1 2 3 4 5 6 7 8 9 10
3.308430 2.778164 2.749053 3.093386 4.027957 5.143252 6.873542 7.707022 7.902198 7.621082
但我应该只从预测中得到一个数值,因为每一行都应该是一个单独的样本。
我不知道我做错了什么......
答案 0 :(得分:1)
您应该检查?predict.randomForest
以确保您知道要使用的函数的参数名称。
您应该使用newdata = ...
代替。
由于data
与任何命名参数都不匹配,因此会将其传递给...
然后忽略,这意味着您将恢复默认值:包外预测原始数据集。