2016-09-28 2 views
0

Ich habe seltsame Ergebnisse der ROC-Kurve beim Aufbau eines zufälligen Waldmodells für stark unausgeglichene Zwei-Klassen-Vorhersage. Die ursprüngliche Ereignisrate in der Stichprobe beträgt ~ 2% und ich verwende Gewichtung, um Klassenungleichgewicht zu bekämpfen.
In diesem Fall habe ich meine Probe gewichtet, so dass Ereignisrate 1: 4 (25%)
Mein Modell ist auf folgende Weise Aufstellmaße:Weird ROC-Kurve

forest <- ranger(data = sample[,c('fraud', features)] 
       , num.trees = 350 
       , case.weights = sample$wt 
       , probability = T 
       , importance = 'impurity' 
       , write.forest = T 
       , sample.fraction = 0.5 
       , seed = 98 
       , dependent.variable.name = 'fraud') 

Ich bin recht gute Ergebnisse mit dieser bekommen set-up, wie Sie jedoch in der Konfusionsmatrix unter

predicted 
true  0  1 
    0 815800 11391 
    1 13283 5503 
True negative rate - 29% 
Negative predictive value - 33% 

sehen kann, wenn ich ROC-Kurve bin Zeichnung ich folgende Handlung erhalten

perf <- prediction(forest$predictions[,2], sample$fraud) 
pred3 <- performance(perf, "tnr", "fnr") 
plot(pred3, main="ROC Curve for Random Forest", col="blue", lwd=2) 
abline(a=0,b=1,lwd=2,lty=2,col="gray") 

enter image description here

Ich kann nicht verstehen, warum meine Vorhersage erst nach 50% des Entscheidungsintervalls beginnt. Habt ihr eine Ahnung oder irgendeine vorherige Erfahrung?

Antwort

-1

Wir zeichnen normalerweise die wahre positive Rate und die falsche positive Rate in der ROC-Kurve ... aber Sie haben die TRUE negativ und falsch negativ. Das ist vielleicht warum.

+0

Nun, es ist wirklich egal, ob ich Klassen tauschen, oder? Ich erlebe die gleiche Geschichte, wenn ich Kurve für andere Klasse zeichne ... – MiksL