如何在R中绘制SVM模型的ROC曲线

时间:2017-10-20 08:11:29

标签: r svm roc

我使用以下代码训练并测试了模型

library(e1071)
library(readxl)
library(caret)

class1.svm.model <- svm(Class ~ ., data = class1.trainset,cost=20, cross=10,type="C-classification",kernel="radial",na.action=na.omit)
class1.svm.pred <- predict(class1.svm.model, class1.testset)
finalmatrix<-data.matrix(class1.svm.pred, rownames.force = F)

test<-table(pred = class1.svm.pred, true = class1.testset[,c(15768)])

confusionMatrix(test)

但无法为模型绘制ROC曲线。请帮助我使用正确的语法绘制ROC曲线,以查看我的测试数据的性能。

1 个答案:

答案 0 :(得分:0)

用以下类绘制SVM的ROC曲线

roc_svm_test <- roc(response = class1.trainset$Class, predictor =as.numeric(class1.svm.pred))
plot(roc_svm_test, add = TRUE,col = "red", print.auc=TRUE, print.auc.x = 0.5, print.auc.y = 0.3)
legend(0.3, 0.2, legend = c("test-svm"), lty = c(1), col = c("blue"))