我希望绘制我已经构建的SVM分类器的ROC曲线,但是当我绘制数据时,x轴(特异性)从1.0 - >绘制。 -1.0,见下图。
为了绘制这个,我使用了以下内容:
> plot(roc(predictor = fit.down.Kernel$pred$Overshooting, response = fit.down.Kernel$pred$obs))
其中fit.down.Kernel是我的模型,Overshooting是我希望预测的目标功能。
显然我已经走错了路,有人能指出我正确的方向吗?
最终我有一堆模型,我使用各种不同的数据集(上采样,下采样......)进行训练,我希望使用ROC曲线直观地比较它们的性能。我想在进行多个绘图之前我需要让轴正常工作。
答案 0 :(得分:1)
您可以在R中使用ROCR
个包。请参阅下面的代码,并使用您的预测与实际结果。
prediction.mod1 <- prediction(prob.mod1, y.test)
prediction.mod2 <- prediction(prob.mod2, y.test)
prediction.mod3 <- prediction(prob.mod3, y.test)
auc.mod1=performance(prediction.mod1, "auc")@y.values)
auc.mod2=performance(prediction.mod2, "auc")@y.values)
auc.mod3=performance(prediction.mod3, "auc")@y.values)
plot(auc.mod1, ylim=c(0.1, 1))
plot(auc.mod2, col=2, add=TRUE)
plot(auc.mod3, col=3, add=TRUE)