美文网首页
数据分析:SVM模型测试数据集概率计算

数据分析:SVM模型测试数据集概率计算

作者: 生信学习者2 | 来源:发表于2024-02-18 11:37 被阅读0次

    介绍

    构建机器学习模型SVM(支持向量机)后,需要在测试或者验证数据评估模型效能,但是常用的R命令无法获取预测分组的概率值。

    构建SVM模型

    给出简要构建SVM模型代码

    set.seed(123)
    svm_fit <- e1071::svm(
      Group ~ ., 
      data = trainData, 
      kernel = "radial",
      metric = "ROC",
      gamma = optimalVar$sigma,
      cost = optimalVar$C,
      summaryFunction = twoClassSummary,  
      probability = TRUE)
    
    svm_fit
    

    常用预测测试数据集的概率代码

    predict(svm_fit, newdata = testData, type = "prob")
    

    该代码只能获得因子化的字符串变量,无法用于后期构建ROC曲线。

    在查阅了资料后,可以采用下列代码

    • probability设置为TRUE
    • attr函数获取分组概率值
    pred_prob_temp <- predict(svm_fit, newdata = testData, probability = TRUE)
    pred_prob <- attr(pred_prob, "probabilities")
    

    另外需要注意:参数newdata包含label,而newx则仅仅包含feature

    Reference

    相关文章

      网友评论

          本文标题:数据分析:SVM模型测试数据集概率计算

          本文链接:https://www.haomeiwen.com/subject/aytmadtx.html