построение ROC в R с ROCR против pROC - PullRequest
20 голосов
/ 20 октября 2011

Я строю ROCs и измеряю частичную AUC как показатель качества модели экологической ниши. Поскольку я работаю в R, я использую ROCR и пакеты pROC. Я остановлюсь на одном из них, но сейчас я просто хотел посмотреть, как они работают, и лучше ли он удовлетворял мои потребности.

Одна вещь, которая меня смущает, это то, что при построении ROC, оси следующие:

ROCR

x axis: 'true positive rate' 0 -> 1
y axis: 'false positive rate', 0 -> 1

Proc

x axis: 'sensitivity' 0 -> 1
y axis: 'specificity' 1 -> 0. 

Но если я нанесу ROC, используя оба метода, они будут выглядеть одинаково. Поэтому я просто хочу подтвердить, что:

true positive rate = sensitivity

false positive rate = 1 - specificity.

Вот воспроизводимый пример:

obs<-rep(0:1, each=50)
pred<-c(runif(50,min=0,max=0.8),runif(50,min=0.3,max=0.6))
plot(roc(obs,pred))

ROCRpred<-prediction(pred,obs)
plot(performance(ROCRpred,'tpr','fpr'))

Ответы [ 3 ]

13 голосов
/ 20 октября 2011

Чтобы подтвердить, вы правы в том, что истинный положительный показатель = чувствительность и ложный положительный показатель = 1 - специфичность. В вашем примере порядок расположения компонентов объекта производительности ROCR из пакета ROCR является ключевым. В последней строке первый показатель эффективности, истинно положительный показатель, «tpr» отображается на оси Y measure = 'tpr', а второй показатель эффективности, ложно положительный показатель, отображается на оси X x.measure = 'fpr'

plot(performance(ROCRpred, measure = 'tpr', x.measure = 'fpr'))
11 голосов
/ 13 апреля 2016

Скажем так, для пакета pROC, если вы включите в свой код сюжета следующее:

plot(roc(obs,pred), legacy.axes = TRUE)

, вы получите обратную ось X.

5 голосов
/ 14 августа 2014

Насколько я знаю:

TPR = sensitivity = TP/(TP/FN) -> y axis: [0, 1]

FPR = 1 - specificity = 1 - (TN/(FP+TN)) -> x axis: [0, 1]

Но, когда график показывает специфичность (истинную отрицательную скорость) по оси x, диапазон составляет [1, 0].

В обоих случаях график один и тот же.

Вы можете проверить это здесь на странице википедии.

...