Несколько кривых ROC в одном графике ROCR

можно ли построить кривую roc для различных классификаторов на одном графике с помощью пакета ROCR? Я пробовал:

>plot(perf.neuralNet, colorize=TRUE)
>lines(perf.randomForest)

а я:

Error en as.double(y) : 
  cannot coerce type 'S4' to vector of type 'double'

спасибо!

3 ответов


проблема с ваш lines-подход заключается в том, что нет общего S4 функция lines для объекта класса performance определена в ROCR пакета. Но вы можете использовать общую функцию plot, как и с дополнительным


Эхо @adibender и добавление комментария: пример не охватывает, как установить отдельные цвета для каждой отдельной кривой, используя второй (график все сразу) подход. В этом случае передайте col как список:

library(ROCR)
data(ROCR.hiv)
x   <- prediction(ROCR.hiv$hiv.nn$predictions, ROCR.hiv$hiv.nn$labels)
ROC <- performance(x, "tpr", "fpr")
plot(ROC, col = as.list(1:10))

R имеет функции для рисования нескольких графиков в одном окне. И если пакет не поддерживает несколько участков в одном окне, вы можете решить проблему со стандартными инструментами R. другим способом: пример нескольких ROCs Статья с этим скриптом:пример построения кривых ROC с помощью ROCR