2016-04-25 12 views
2

Ich arbeite daran, prädiktive Klassifikatoren in R auf einem Krebs-Datensatz aufzubauen. Ich verwende zufällige Wald, Support-Vektor-Maschine und naive Bayes-Klassifikatoren. Ich bin nicht in der Lage, variable Bedeutung für SVM- und NB-Modelle zu berechnenVariable Bedeutung für Support-Vektor-Maschine und naive Bayes-Klassifikatoren in R

Ich erhalte den folgenden Fehler.

Fehler in UseMethod ("varImp"): kein anwendbares Verfahren für 'varImp' angewendet auf ein Objekt der Klasse "C ('svm.formula', 'SVM')"

I Ich würde es sehr schätzen, wenn mir jemand helfen könnte.

+2

Willkommen bei Stackoverflow. Bitte lesen (1) [wie stelle ich eine gute Frage] (http://stackoverflow.com/help/how-to-ask), (2) [Wie man ein MCVE erstellt] (http://stackoverflow.com/help/mcve) sowie (3) [wie man ein minimales reproduzierbares Beispiel in R liefert] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example # antwort-5963610). Dann bearbeite und verbessere deine Frage entsprechend. Das heißt, den Code zum Reproduzieren des Fehlers z.B. durch Verwendung von eingebauten Beispieldatensätzen. – lukeA

Antwort

2

Bei

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* 

Es gibt keine Funktion varImp.svm in methods(varImp) daher der Fehler auf. Vielleicht möchten Sie auch einen Blick auf this post on Cross Validated werfen.

2

Wenn Sie R verwenden, kann die Wichtigkeit der Variablen mit der Importance-Methode im Rminer-Paket berechnet werden. Das ist mein Beispielcode:

library(rminer) 
M <- fit(y~., data=train, model="svm", kpar=list(sigma=0.10), C=2) 
svm.imp <- Importance(M, data=train) 

Im Detail finden Sie unter dem folgenden Link https://cran.r-project.org/web/packages/rminer/rminer.pdf

Verwandte Themen