我试图为我使用分类树进行的预测投入ROC曲线。绘制曲线后没有问题,R不会添加abline。
数据如下所示:
head(so)
post.test.score messages forum.posts level.up
1 0.37 68 7 no
2 0.52 83 22 yes
3 0.42 81 7 no
4 0.56 94 14 yes
5 0.25 42 11 no
6 0.35 60 11 no
我首先创建了一个分类树,然后使用这个树生成一个概率值,表示接收level.up值的概率。
c.tree1 <- rpart(level.up~post.test.score+messages+forum.posts, data=so, method="class")
so$pred <- predict(c.tree1, so, type = "prob")[,2]
当我继续绘制ROC曲线并添加abline时,我收到错误
library(ROCR)
pred.detail <- prediction(so$pred, so$level.up)
plot(performance(pred.detail, "tpr", "fpr"))
abline(0, 1, lty = 2)
Error in int_abline(a = a, b = b, h = h, v = v, untf = untf, ...):
plot.new has not been called yet
我阅读了一些有关类似问题的回归的帖子,并意识到我的问题可能存在于预测本身,但我无法弄清楚。如何成功添加abline?
答案 0 :(得分:0)
您是否运行了所有代码?
我根据您提供的数据重新创建了一个数据框,并运行了所有代码:
library(ROCR)
library(rpart)
so <- data.frame(post.test.score=c(0.37,0.53,0.42,0.56,0.25,0.35),
messages=c(68,83,81,94,42,60),
forum.posts=c(7,22,7,14,11,11),
level.up=c('no','yes','no','yes','no','no'))
c.tree1 <- rpart(level.up~post.test.score+messages+forum.posts, data=so, method="class")
so$pred <- predict(c.tree1, so, type = "prob")[,2]
pred.detail <- prediction(so$pred, so$level.up)
plot(performance(pred.detail, "tpr", "fpr"))
abline(0, 1, lty = 2)
这是输出,如果你正在寻找: