我尝试使用“ cyl”作为因子变量来预测“ mtcars”数据中的“ cyl”:
data(mtcars)
mtcars$cyl <- as.factor(mtcars$cyl)
我将数据集分为“训练”和“测试”:
inTrain = inTrain <- createDataPartition(y=mtcars$cyl,p=0.75, list=FALSE)
training = mtcars[ inTrain,]
testing = mtcars[-inTrain,]
并拟合随机森林模型:
modelRF <- train(cyl ~ .,method="rf",data=training)
predRF <- predict(modelRF,testing)
目前,我尝试使用confusionMatrix函数获得预测准确性:
confusionMatrix(testing$cyl, predict(predRF, newdata = testing))
...但我不断收到此错误:
Error in UseMethod("predict") :
no applicable method for 'predict' applied to an object of class "factor"
我究竟做错了什么?有没有更好的方法来获得预测精度?
您似乎有些困惑。从定义上讲,这predRF
已经是一个预测-这不是您可以有意义地应用的内容predict()
。因此,您将获得混乱矩阵,如下所示:
> confusionMatrix(testing$cyl,predRF)
Confusion Matrix and Statistics
Reference
Prediction 4 6 8
4 2 0 0
6 0 1 0
8 0 0 3
另外,inTrain = inTrain <-
尽管从句法上看,行的开头看起来有些奇怪。我强烈建议您仔细查看您的代码,因为我怀疑那里可能还隐藏着一些错误。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句