是否可以使用ROCR软件包在同一图中绘制roc分类器的roc曲线?我试过了:

>plot(perf.neuralNet, colorize=TRUE)
>lines(perf.randomForest)
但是我得到:

谢谢!

最佳答案

lines -approach的问题在于,对于S4包中定义的performance类的对象,没有通用的ROCR行功能。但是您可以像使用其他add = TRUE参数一样使用通用绘图功能。例如,这部分来自?plot.performance的示例页面:

library(ROCR)
data(ROCR.simple)
pred <- prediction( ROCR.simple$predictions, ROCR.simple$labels )
pred2 <- prediction(abs(ROCR.simple$predictions +
                        rnorm(length(ROCR.simple$predictions), 0, 0.1)),
        ROCR.simple$labels)
perf <- performance( pred, "tpr", "fpr" )
perf2 <- performance(pred2, "tpr", "fpr")
plot( perf, colorize = TRUE)
plot(perf2, add = TRUE, colorize = TRUE)

或者,您可以将所有预测存储在一个矩阵中,然后将所有后续步骤合而为一:
preds <- cbind(p1 = ROCR.simple$predictions,
                p2 = abs(ROCR.simple$predictions +
                rnorm(length(ROCR.simple$predictions), 0, 0.1)))

pred.mat <- prediction(preds, labels = matrix(ROCR.simple$labels,
                nrow = length(ROCR.simple$labels), ncol = 2) )

perf.mat <- performance(pred.mat, "tpr", "fpr")
plot(perf.mat, colorize = TRUE)

顺便说一句,如果您出于某种原因确实想使用lines绘制连续的ROC曲线,则必须做某事。像这样:
plot(perf)
lines([email protected][[1]], [email protected][[1]], col = 2)

08-20 00:59