【问题标题】:How to get the classification error of SVM?SVM的分类误差如何得到?
【发布时间】:2023-04-01 03:52:01
【问题描述】:

我创建了我的SVM模型并创建了混淆矩阵,它看起来不像我习惯的正常混淆矩阵,例如:False Positive,True positive,Truenegative,False Negative格式。

我需要得到分类错误。我已经查看了几个资源,但我仍然不知所措。

trainIndex <- createDataPartition(datasetclass$V1,list=FALSE, p = .80,times=1)
dataTrain <- datasetattributes[ trainIndex,]
dataTest  <- datasetattributes[-trainIndex,]

classTrain <- datasetclass[ trainIndex,]
classTest  <- datasetclass[-trainIndex,]

svm.model <- svm(classTrain ~ ., data = dataTrain, cost = 1)

svm.pred <- predict(svm.model, dataTest)

# confusion matrix
tab <- table(pred = svm.pred, true = classTest)

【问题讨论】:

    标签: r classification svm


    【解决方案1】:

    得到答案! 在构建 SVM 模型时,我需要将“类型”参数设置为“C 分类”:

    svm.model <- svm(classTrain ~ ., data = dataTrain, cost = 1,type="C-classification")
    

    然后我可以得到我的混淆矩阵:

    tab <- table(pred = svm.pred, true = classTest)
    

    而分类错误为:

    classification_error <- 1- sum(svm.pred == classTest)/length(svm.pred)
    

    【讨论】:

      猜你喜欢
      • 2015-02-08
      • 2016-02-24
      • 2014-11-18
      • 2016-09-21
      • 2015-04-07
      • 2018-05-15
      • 2014-11-13
      • 2011-09-06
      • 2016-11-28
      相关资源
      最近更新 更多