randomForest 모델의 캐럿 변수


10

패키지가 varImp있는 randomForest 모델 에서 함수가 어떻게 작동 하는지 이해하는 데 어려움을 겪고 caret있습니다. 아래 예제에서 var3 기능은 caret의 varImp함수를 사용하여 중요도가 0 이지만 기본 randomForest 최종 모델은 var3 기능에 대해 0이 아닌 중요도가 없습니다. 왜 이런 경우입니까?

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로 설정했다. CrossValidated.com에 더 적합
DWin

답변:


11

내가 이해했듯이 3 개의 변수 만 있습니다. 기본적으로 varImp함수는 0-100 범위의 스케일 결과를 반환합니다. Var3의 중요도 값이 가장 낮고 스케일 된 중요도는 0입니다. 에 전화 해보십시오 varImp(rf, scale = FALSE).


0

더 직관을 제공하기 위해 @DrDom의 답변에 추가 :

제공되는 중요도 점수 varImp(rf, scale = FALSE)는 다음과 같이 간단히 계산됩니다. rf$finalModel$importance[,1]/rf$finalModel$importanceSD

이것은 기능의 평균 % IncMSE를 표준 편차로 나눈 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.