从随机森林分类中绘制ROC曲线

时间:2013-11-14 08:13:08

标签: r data-visualization roc

我正在尝试绘制随机森林分类的​​ROC曲线。绘图工作,但我认为我正在绘制错误的数据,因为结果绘图只有一个点(精度)。

这是我使用的代码:

set.seed(55)
data.controls <- cforest_unbiased(ntree=100, mtry=3)
data.rf <- cforest(type ~ ., data = dataset ,controls=data.controls) 
pred <- predict(data.rf, type="response")
preds <- prediction(as.numeric(pred), dataset$type)
    perf <- performance(preds,"tpr","fpr")
    performance(preds,"auc")@y.values
    confusionMatrix(pred, dataset$type)

plot(perf,col='red',lwd=3)
abline(a=0,b=1,lwd=2,lty=2,col="gray")

1 个答案:

答案 0 :(得分:2)

要绘制接收器操作曲线,您需要移交分类器的连续输出,例如后验概率。也就是说,您需要predict (data.rf, newdata, type = "prob")。

predict type = "response"已经为您提供了“硬化”因素作为输出。因此,您的工作点已经隐式修复。关于这一点,你的情节是正确的。


另外注意:随机森林的袋子预测会非常过分乐观!