ROC曲线反向绘制的特异性

时间:2017-04-18 06:26:55

标签: r machine-learning svm roc

我希望绘制我已经构建的SVM分类器的ROC曲线,但是当我绘制数据时,x轴(特异性)从1.0 - >绘制。 -1.0,见下图。

ROC Curve in Reverse

为了绘制这个,我使用了以下内容:

> plot(roc(predictor = fit.down.Kernel$pred$Overshooting, response = fit.down.Kernel$pred$obs))

其中fit.down.Kernel是我的模型,Overshooting是我希望预测的目标功能。

显然我已经走错了路,有人能指出我正确的方向吗?

最终我有一堆模型,我使用各种不同的数据集(上采样,下采样......)进行训练,我希望使用ROC曲线直观地比较它们的性能。我想在进行多个绘图之前我需要让轴正常工作。

1 个答案:

答案 0 :(得分:1)

您可以在R中使用ROCR个包。请参阅下面的代码,并使用您的预测与实际结果。

Prob.mod是来自各种模型(1,2,3)和预测的预测。 y.test是你真正的超越

使用ROCR的预测功能
prediction.mod1 <- prediction(prob.mod1, y.test) 
prediction.mod2 <- prediction(prob.mod2, y.test)
prediction.mod3 <- prediction(prob.mod3, y.test)

计算AUC

auc.mod1=performance(prediction.mod1, "auc")@y.values)
auc.mod2=performance(prediction.mod2, "auc")@y.values)
auc.mod3=performance(prediction.mod3, "auc")@y.values)

绘制AUC

plot(auc.mod1, ylim=c(0.1, 1))
plot(auc.mod2, col=2, add=TRUE)
plot(auc.mod3, col=3, add=TRUE)