Kav*_*thy 2 r machine-learning svm naivebayes
我正在研究在癌症数据集上的R中建立预测分类器。我正在使用随机森林,支持向量机和朴素贝叶斯分类器。我无法计算SVM和NB模型上的变量重要性
我最终收到以下错误。
UseMethod(“ varImp”)中的错误:没有适用于'varImp'的适用方法应用于类“ c('svm.formula','svm')”的对象
如果有人可以帮助我,我将不胜感激。
给定
library(e1071)
model <- svm(Species ~ ., data = iris)
class(model)
# [1] "svm.formula" "svm"
library(caret)
varImp(model)
# Error in UseMethod("varImp") :
# no applicable method for 'varImp' applied to an object of class "c('svm.formula', 'svm')"
methods(varImp)
# [1] varImp.bagEarth varImp.bagFDA varImp.C5.0* varImp.classbagg*
# [5] varImp.cubist* varImp.dsa* varImp.earth* varImp.fda*
# [9] varImp.gafs* varImp.gam* varImp.gbm* varImp.glm*
# [13] varImp.glmnet* varImp.JRip* varImp.lm* varImp.multinom*
# [17] varImp.mvr* varImp.nnet* varImp.pamrtrained* varImp.PART*
# [21] varImp.plsda varImp.randomForest* varImp.RandomForest* varImp.regbagg*
# [25] varImp.rfe* varImp.rpart* varImp.RRF* varImp.safs*
# [29] varImp.sbf* varImp.train*
Run Code Online (Sandbox Code Playgroud)
有没有功能varImp.svm
的methods(varImp)
,因此错误。您可能也想看看有关交叉验证的这篇文章。
小智 6
如果使用R,可以使用rminer包中的Importance方法计算变量重要性。这是我的示例代码:
library(rminer)
M <- fit(y~., data=train, model="svm", kpar=list(sigma=0.10), C=2)
svm.imp <- Importance(M, data=train)
Run Code Online (Sandbox Code Playgroud)
详细请参考以下链接https://cran.r-project.org/web/packages/rminer/rminer.pdf