pROC - изменение масштаба диаграммы ROC

Я использую следующий код для построения кривой ROC после выполнения логистической регрессии.

fit1 <- glm(formula=GB160M3~Behvscore, data=eflscr,family="binomial", na.action = na.exclude)
prob1=predict(fit1, type=c("response"))
eflscr$prob1 = prob1

library(pROC)
g1 <- roc(GB160M3~prob1, data=eflscr, plot=TRUE,  grid=TRUE, print.auc=TRUE)

Кривые ROC выглядят так (см. Ссылку ниже)

введите описание изображения здесь

  1. Шкала оси X не заполняет диаграмму ВОЗ.
  2. Как я могу изменить ось х для отчета 1 - конкретно?

2 ответа

  1. По умолчанию наборы pROC asp = 1 чтобы гарантировать, что сюжет квадратный и чувствительность и специфичность находятся в одном масштабе. Вы можете установить его на NA или же NULL освободить ось и заполнить график, но ваша кривая ROC будет иметь неправильную форму.

    plot(g1, asp = NA)
    

    С помощью par(pty="s") как предполагает Джо, вероятно, лучший подход

  2. Это просто проблема маркировки: обратите внимание, что ось x уменьшается с 1 до 0, что в точности соответствует построению 1-специфичности на возрастающей оси. Вы можете установить legacy.axes аргумент TRUE изменить поведение, если по умолчанию вас беспокоит.

    plot(g1, legacy.axes = TRUE)
    

1) Выполните следующее перед построением графика:

par(pty="s")

(Между прочим, я предполагаю, что вам нужен квадратный график, как это обычно делают кривые ROC.)

2) Используйте xlab аргумент, как вы бы с нормальным plot,

plot(g1, xlab = "1 - Specificity") 
Другие вопросы по тегам