我很难理解如何构建 ROC 曲线,现在我得出的结论是,我可能没有正确创建模型。我在类属性“y_n”为 0 或 1 的数据集中运行随机森林模型。出于预测目的,我将数据集划分为 bank_training 和 bank_testing。这是我做的步骤:
bankrf <- randomForest(y_n~., data=bank_training, mtry=4, ntree=2,
keep.forest=TRUE, importance=TRUE)
bankrf.pred <- predict(bankrf, bank_testing, type='response',
predict.all=TRUE, norm.votes=TRUE)
到目前为止我所做的是否正确?创建的 bankrf.pred 对象是一个列表对象,具有 2 个名为:聚合和个体的类。我不明白这两个类名是从哪里来的?此外,当我运行时:
summary(bankrf.pred)
Length Class Mode
aggregate 22606 factor numeric
individual 45212 -none- character
这个总结是什么意思?数据集(训练和测试)分别为 22605 和 22606。如果有人可以向我解释发生了什么,我将不胜感激。我认为这一切都有问题。
当我尝试使用 ROCR 设计 ROC 曲线时,我使用以下代码:
library(ROCR)
pred <- prediction(bank_testing$y_n, bankrf.pred$c(0,1))
Error in is.data.frame(labels) : attempt to apply non-function
我尝试创建 ROC 曲线的方式只是一个错误,还是从 randomForest 开始?