【问题标题】:How to plot a ROC curve for a SVM model in R如何在 R 中为 SVM 模型绘制 ROC 曲线
【发布时间】:2018-04-01 09:02:32
【问题描述】:

我已经使用以下代码训练和测试了一个模型

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 曲线以查看我的测试数据的性能。

【问题讨论】:

  • 你想在什么参数上绘制 ROC?
  • 基于模型的性能,基于“tpr”,“fpr”
  • 您可以为多个模型创建 ROC 图,尤其是当它们通过某种连续测量参数化时。看起来你只获得了一个模型,因此你有一个“tpr”和“fpr”的元组。
  • 如果我尝试调整成本和伽玛值并尝试绘制 ROC 曲线呢?

标签: r svm roc


【解决方案1】:

绘制具有类的 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"))

【讨论】:

    猜你喜欢
    • 2016-02-05
    • 2012-07-29
    • 2020-05-05
    • 2019-02-27
    • 2018-02-17
    • 1970-01-01
    • 2015-02-19
    • 1970-01-01
    • 2017-06-19
    相关资源
    最近更新 更多