在插入符号(R)中使用并行随机森林时,我遇到了一个问题。我看过它们是似乎解决同一问题的多个问题,但在阅读完答案后,我仍然停留在同一问题上。
我有一个数据集,可用于训练这样的模型:
rfParam <- expand.grid(mtry = 5)
parRFModel <- train(
form = Class~.,
data = datasetShorted,
method="parRF",
tuneGrid = rfParam
)
我可以使用以下命令使用此模型进行预测:
predictions <- extractPrediction(list(parRFModel), testX = datasetShorted[1:10,2:numFeatures])
然后我保存模型:
save(parRFModel, file="parRFModel-MTry5.RData")
问题是当我重新启动R,重新加载所有库然后执行时
load("parRFModel-MTry5.RData")
该模型已正确加载,但我无法预测:
> parRFModel
Parallel Random Forest
40794 samples
1947 predictors
8 classes: '0', '1', '2', '3', '4', '5', '6', '7'
No pre-processing
Resampling: Bootstrapped (25 reps)
Summary of sample sizes: 40794, 40794, 40794, 40794, 40794, 40794, ...
Resampling results
Accuracy Kappa Accuracy SD Kappa SD
0.6877108 0.477487 0.004078363 0.0072271
Tuning parameter 'mtry' was held constant at a value of 5
> predictions <- extractPrediction(list(parRFModel), testX = datasetShorted[1:10,2:numFeatures])
Error in UseMethod("predict") :
no applicable method for 'predict' applied to an object of class "randomForest"
> class(parRFModel)
[1] "train" "train.formula"
您有什么想法,为什么会这样?保存/加载功能有问题吗?非常感谢你!
只是为了明确答案,让下一个查看者更容易:
library(randomForest)
在尝试使用该predict
方法之前,请确保先致电。这将确保randomForest
已加载包,因此predict
将为class对象定义方法randomForest
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句