2011-10-20 18 views
13

Sto pianificando ROC e misurando l'AUC parziale come una metrica di qualità del modello di nicchia ecologica. Mentre lavoro in R, sto usando i pacchetti ROCR e pROC. Mi accontento di uno da usare, ma per ora, volevo solo vedere come si sono esibiti, e se uno ha soddisfatto le mie esigenze meglio.tracciamento del ROC in R con ROCR rispetto a pROC

Una cosa che mi confonde è che, quando si stampa un ROC, gli assi sono i seguenti:

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. 

Ma se io traccia il ROC usando entrambi i metodi, sembrano identici. quindi voglio solo confermare che:

true positive rate = sensitivity 

false positive rate = 1 - specificity. 

Ecco un esempio riproducibile:

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')) 

risposta

9

Per confermare, hai ragione in quel vero tasso positivo = sensibilità e tasso di falsi positivi = 1 - specificità . Nell'esempio, l'ordine in cui si tracciano i componenti dell'oggetto prestazioni ROCR dal pacchetto ROCR è la chiave. Nell'ultima riga, la prima misura prestazioni, vero tasso positivo, 'TPR' viene tracciata sul y measure = 'tpr' e la seconda misura di prestazioni, falsi positivi, è tracciata sulla ascisse x.measure = 'fpr'

plot(performance(ROCRpred, measure = 'tpr', x.measure = 'fpr')) 
+0

Grazie per le informazioni! – Pascal

4

per quanto ne so:

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

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

Ma, quando il grafico mostra specificità (true tasso negativo) in asse x quindi l'intervallo è [1, 0].

In entrambi i casi, il grafico è lo stesso.

È possibile verificarlo here nella pagina di Wikipedia.

8

solo dire, per il pacchetto pROC se si include il seguente nel codice di terreno:

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

poi si finisce con un asse x invertita.

Problemi correlati