【发布时间】:2012-07-15 12:47:02
【问题描述】:
我很难理解如何构建 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?
【问题讨论】:
-
banrf.pred的结构在?predict.randomForest的文档中有完整的解释。 -
我已经检查过了,根据它应该可以这样,但我仍然无法用 ROCR 绘制 roc 曲线,我认为模型应该有问题.
-
好吧,您的问题没有包含有关您如何尝试创建 ROC 曲线或它究竟是如何不起作用的信息,因此任何人都很难帮助解决该问题。跨度>
标签: r random-forest