首页 文章

使用RStudio将abline添加到ROC曲线的问题

提问于
浏览
0

我试图为我使用分类树进行的预测抛出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?

1 回答

  • 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)
    

    这是输出,如果你正在寻找:

    IMAGE1

相关问题