【问题标题】:how to obtain prediction accuracy in R?如何在 R 中获得预测精度?
【发布时间】:2015-01-27 11:32:52
【问题描述】:

我尝试用“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"

我做错了什么? 有没有更好的方法来获得预测精度?

【问题讨论】:

    标签: r machine-learning


    【解决方案1】:

    你似乎有点困惑。 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 &lt;- 开头的行看起来有点奇怪,尽管在语法上是有效的。我强烈建议您仔细查看您的代码,因为我怀疑其中可能隐藏了更多错误。

    【讨论】:

      猜你喜欢
      • 2018-03-24
      • 1970-01-01
      • 2015-07-11
      • 2016-05-07
      • 2018-05-14
      • 1970-01-01
      • 2015-02-12
      • 2019-04-28
      • 2021-07-12
      相关资源
      最近更新 更多