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

2024-02-18  本文已影响0人  生信学习者2

介绍

构建机器学习模型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曲线。

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

pred_prob_temp <- predict(svm_fit, newdata = testData, probability = TRUE)
pred_prob <- attr(pred_prob, "probabilities")

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

Reference

上一篇下一篇

猜你喜欢

热点阅读