0
当我建立一个高度不平衡的两级预测的随机森林模型时,我有ROC曲线奇怪的结果。样本中的原始事件率为〜2%,我正在使用权重来对抗阶级失衡。
在这种情况下,我已经加权我的样本,这样的事件发生率是1: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')
我得到这个效果还不错建立你可以在混淆矩阵见下文
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")
我不明白为什么我的预测只在50%的决定间隔后才开始执行。你们有线索还是以前的经验?
那真的没关系,如果我交换课程呢? 我正在经历同样的故事,如果我画其他班的曲线... – MiksL