2016-09-28 11 views
0

매우 불균형 한 2 클래스 예측을 위해 임의의 숲 모델을 구축 할 때 ROC 곡선의 결과가 이상합니다. 샘플의 원래 이벤트 속도는 ~ 2 %이며 클래스 불균형에 맞춰 가중치를 사용합니다. 다음과 같은 방법으로 4 (25 %)
내 모델 설정 :이상한 ROC 곡선

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

나는이 꽤 좋은 결과를 얻고 해당 이벤트의 비율이 1이이 경우에
나는 나의 샘플을 가중 한 설정이

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

아래의 혼란 매트릭스에서 볼 수 있듯이 나는 ROC 곡선을 그리기 해요 그러나 때 플롯

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") 
,691 다음 얻을

enter image description here

내 예측이 의사 결정 간격의 50 % 이후에만 수행되기 시작한 이유를 이해할 수 없습니다. 당신은 단서 또는 이전 경험이 있습니까?

답변

-1

우리는 일반적으로 ROC 곡선에서 진정 양성율과 거짓 양성율을 플롯합니다.하지만 TRUE 음수와 음수 음수가 있습니다. 어쩌면 그렇게 된 것일 수 있습니다.

+0

수업을 바꾸면 정말 상관 없습니다. 다른 클래스의 커브를 그리면 같은 이야기가납니다 ... – MiksL