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 다음 얻을
내 예측이 의사 결정 간격의 50 % 이후에만 수행되기 시작한 이유를 이해할 수 없습니다. 당신은 단서 또는 이전 경험이 있습니까?
수업을 바꾸면 정말 상관 없습니다. 다른 클래스의 커브를 그리면 같은 이야기가납니다 ... – MiksL