Проблема с вашим lines
-подходом заключается в том, что нет общей функции 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)
person
adibender
schedule
29.12.2012