randomForestモデルのキャレットvarImp


10

パッケージvarImpを含むrandomForestモデルで関数がどのように機能するかを理解できませんcaret。以下の例では、キャレットvarImp関数を使用してフィーチャーvar3の重要度がゼロになっていますが、基になるrandomForest最終モデルのフィーチャーvar3の重要度はゼロではありません。これはなぜですか?

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

私はモデレーターフラグb / cを設定しました。これはSOのトピックから外れています。CrossValidated.comに適しています
DWin

回答:


11

理解したとおり、変数は3つしかありません。デフォルトでは、varImp関数は0〜100の範囲でスケーリングされた結果を返します。Var3は最も低い重要度値を持ち、そのスケーリングされた重要度はゼロです。電話してみてくださいvarImp(rf, scale = FALSE)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.