Ich habe Probleme zu verstehen, wie die varImp
Funktion für ein randomForest-Modell mit dem caret
Paket funktioniert . Im folgenden Beispiel erhält das Merkmal var3 mithilfe der Caret- varImp
Funktion die Bedeutung Null , das zugrunde liegende randomForest-Endmodell hat jedoch für das Merkmal var3 eine Bedeutung ungleich Null. Warum ist das so?
require(randomForest)
require(caret)
rf <- train(x, y,
method = "rf",
trControl = trainControl(method = "oob"),
importance = TRUE,
verbose = TRUE,
tuneGrid = data.frame(mtry = num.predictors) )
fm <- rf$finalModel
> varImp(f)
rf variable importance
Overall
var1 100.00
var2 80.14
var3 0.00
> importance(fm)
%IncMSE IncNodePurity
var2 872.7935 40505276
var1 1021.4707 55682866
var3 273.0168 3078731
r
caret
random-forest
MangoHands
quelle
quelle
Antworten:
Wie ich verstanden habe, haben Sie nur 3 Variablen. Standardmäßig gibt die
varImp
Funktion skalierte Ergebnisse im Bereich von 0 bis 100 zurück. Var3 hat den niedrigsten Wichtigkeitswert und seine skalierte Wichtigkeit ist Null. Versuchen Sie anzurufenvarImp(rf, scale = FALSE)
.quelle